SIMULATION AND CONTROL OF HYBRID SYSTEMS WITH

0 downloads 0 Views 2MB Size Report
As the price-performance ratio of embedded processors increases and the size of microchips de- ... 2.3.3 Derivation of Predictor Corrector methods . ..... As the contact state changes from free motion to sliding or rolling, the functional form.
SIMULATION AND CONTROL OF HYBRID SYSTEMS WITH APPLICATIONS TO MOBILE ROBOTICS Joel M. Esposito A DISSERTATION in Mechanical Engineering and Applied Mechanics

Presented to the Faculties of the University of Pennsylvania in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy.

2002

Professor Vijay Kumar Supervisor of Dissertation

Professor G.K. Ananthasuresh Graduate Group Chairperson

This thesis is dedicated: to the memory of my parents, John and Mary, who started a young boy down this path but never got to see him reach the destination; to all my friends and family, everywhere, who ensured I never traveled alone; and to my wife, Meredith, without whom I would be lost, for making it all worthwhile.

ii

ABSTRACT As the price-performance ratio of embedded processors increases and the size of microchips decreases, more sophisticated paradigms for software based control have evolved. This trend is particularly evident in mobile robotics because these systems typically have significant onboard computing power, complex mission requirements and the need to process data coming from many types of sensors in real time. Such systems are modeled as Hierarchical Hybrid Systems (HHS). In the first part of the dissertation three novel numerical techniques for simulating HHS are introduced. The first of these addresses the problem of detecting and locating the occurrence of discrete transitions (i.e., control mode or model switches) during the course of a simulation, especially switches which occur near a model singularity - an area in which all competing event detections methods fail. The remaining two simulation techniques seek to circumvent one of the major causes of computational bottle necks in large-scale simulations - the requirement that all differential equations in the system be simulated using a single global choice of step size. In one case differential equations with right hand sides that are partially coupled, without consideration of the mode switches, are considered. The third algorithm is concerned with simulating so-called multi-agent hybrid systems. These systems have decoupled sets of differential equations yet the inequalities which signal mode switches are coupled. Here the challenge is properly detecting transitions when the numerical integration of the various differential equations is performed asynchronously using many local time clocks. In the second part of the dissertation a framework for reactive motion planning and control of mobile robots is presented. It is our approach that reactive control and motion planning schemes for mobile robots are best modeled as Hybrid Systems. We assume a suite of low level controllers have been designed. The problem is how to compose these controllers, either through designing a switching sequence or synthesizing entirely new control modes, in such a way that the aggregate behavior of the system achieves all of the objectives simultaneously, or reports failure if it cannot. The numerical algorithm represents a rigorous approach to modular control law composition.

iii

Contents

1

Introduction

1

1.1

Simulating hierarchical hybrid systems . . . . . . . . . . . . . . . . . . . . . . .

7

1.1.1

Discrete event detection . . . . . . . . . . . . . . . . . . . . . . . . . .

7

1.1.2

Multi-rate simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

1.1.3

Multi-agent systems . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

1.2

Reactive control design and robot motion planning . . . . . . . . . . . . . . . .

14

1.3

Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

1.3.1

Simulation Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

1.3.2

Reactive control and robot motion planning . . . . . . . . . . . . . . . .

17

Organization of the dissertation . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

1.4 2

Background

22

2.1

Hybrid Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

2.2

Simulating Hybrid Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

2.3

Numerical Integration Methods . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

2.3.1

Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

2.3.2

Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

2.3.3

Derivation of Predictor Corrector methods . . . . . . . . . . . . . . . . .

29

Robot motion planning review . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

2.4

iv

3

Notation and basic problem . . . . . . . . . . . . . . . . . . . . . . . .

34

2.4.2

Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

Related Work

40

3.1

Review of Hybrid System Simulation . . . . . . . . . . . . . . . . . . . . . . .

40

3.1.1

Event detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

3.1.2

Multirate integration methods . . . . . . . . . . . . . . . . . . . . . . .

44

3.1.3

Multi-agent system simulation . . . . . . . . . . . . . . . . . . . . . . .

45

3.1.4

A control systems approach to simulation . . . . . . . . . . . . . . . . .

48

Literature review for robot motion planning . . . . . . . . . . . . . . . . . . . .

49

3.2.1

Explicit approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

49

3.2.2

Reactive approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . .

50

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

3.2

3.3 4

2.4.1

Event Detection

58

4.1

Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

58

4.2

Events near model singularities . . . . . . . . . . . . . . . . . . . . . . . . . . .

60

4.3

A Control Theoretic Approach . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

4.4

Step size selection technique for general guards . . . . . . . . . . . . . . . . . .

63

4.5

Step selection for special classes of guard functions . . . . . . . . . . . . . . . .

64

4.5.1

Linear guards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

64

4.5.2

Polynomial guards . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

65

4.5.3

Time dependent guards . . . . . . . . . . . . . . . . . . . . . . . . . . .

65

4.5.4

Approximate linearization for arbitrary nonlinear guards . . . . . . . . .

66

4.6

Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

66

4.7

Boolean combinations of inequalities . . . . . . . . . . . . . . . . . . . . . . . .

68

4.8

Computation of step sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

68

v

4.9

5

6

Termination tolerance and selecting

. . . . . . . . . . . . . . . . . . . . . . .

69

4.10 The Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

74

4.11 Examples and experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

76

4.12 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79

4.13 Computational Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

80

4.14 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83

Multi-agent Hybrid System Simulation

86

5.1

Problem Statement and Discussion . . . . . . . . . . . . . . . . . . . . . . . . .

86

5.2

Multi-agent event detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

88

5.3

The algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

92

5.4

Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

95

5.5

Efficiency analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

96

5.5.1

The traditional algorithm . . . . . . . . . . . . . . . . . . . . . . . . . .

96

5.5.2

Average complexity analysis . . . . . . . . . . . . . . . . . . . . . . . .

98

5.6

Numerical experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

5.7

Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

5.8

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Multi-rate Integration Techniques

115

6.1

Problem Statement and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 115

6.2

The algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

6.3

Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.3.1

Integration error analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 119

6.3.2

Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

6.4

Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

6.5

Implementation and experiments . . . . . . . . . . . . . . . . . . . . . . . . . . 126 vi

6.6 7

Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

A hybrid system framework for reactive motion planning

133

7.1

Problem statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

7.2

Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

7.3

Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

7.4

Parallel control law composition . . . . . . . . . . . . . . . . . . . . . . . . . . 137

7.5

7.4.1

Stabilizing directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

7.4.2

Usable directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

7.4.3

Feasible directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

Control architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 7.5.1

Deliberative Objective Mode . . . . . . . . . . . . . . . . . . . . . . . . 145

7.5.2

Superposition Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

7.5.3

Parallel Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

7.5.4

Sliding mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

7.6

Computational method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

7.7

Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

7.8

Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

7.9

Fully actuated systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

7.10 Underactuated systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 7.10.1 Direct approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 7.10.2 Indirect approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 7.11 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 8

Conclusion

160

8.1

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

8.2

Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 vii

8.3

Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

viii

List of Figures 1.1

Multirate technique with     . . . . . . . . . . . . . . . . . . . . . . .

1.2

Examples of Multi-agent hybrid systems: Multi-robot teams, multi-body dynamics, automated highway systems. . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3

11

12

More examples of multi-agent hybrid systems: Air Traffic Management, biological cellular networks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

2.1

A graphical representation of a generic hybrid automata. . . . . . . . . . . . . .

24

2.2

A simple physical example of a hybrid system: the bouncing ball. . . . . . . . .

25

2.3

The basic hybrid system simulation algorithm. . . . . . . . . . . . . . . . . . . .

26

2.4

An example of the basic motion planning problem and one of its many solutions.

35

2.5

An example of a navigation function. The black lines represent level sets of the scalar function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.1

37

Situations which can be problematic for many event detection algorithms. Multiple zero crossings arise from osculatory solution trajectories or “thin” guard sets (left and center). Almost all algorithms fail when the event occurs near a region where the right hand side of the differential equation is ill-defined (i.e. a model

3.2

singularity) (right). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

A taxonomy of motion planning techniques. . . . . . . . . . . . . . . . . . . . .

51

ix

4.1

The guard dynamics as a function of time (left). After performing Input/Output Linearization, the guard dynamics as a function of the step number have been reparametrized to behave like a stable linear system (right). . . . . . . . . . . . .

4.2

A graphical illustration of the

selection for unilateral events. The state is guar-

anteed not to cross the event surface. 4.3

A graphical illustration of the

63

. . . . . . . . . . . . . . . . . . . . . . .

71

selection in the bilateral case. The state is guar-

anteed to cross the event surface. . . . . . . . . . . . . . . . . . . . . . . . . . .

73

4.4

A graphical illustration of the

73

4.5

The overall simulation algorithm introduced in this chapter. The pseudo-code for

selection in the accuracy critical case. . . . . . .

the step size computation (depicted in the box to the far left entitled Compute New  Based on Event) is given in Section 4.10. . . . . . . . . . . . . . . . . . . . . 4.6

The traditional simulation algorithm. The event dynamics are not used to select a the step size for the next iteration. . . . . . . . . . . . . . . . . . . . . . . . . .

4.7

75

Two examples: (1) an autonomous robot navigating a corridor; (2) a planar two link manipulator with workspace limitations. . . . . . . . . . . . . . . . . . . .

4.8

74

76

Simulations of the mobile robot in example 1: (a) standard simulation technique fails to detect the collision; (b) our method slows down as it approaches the event surface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.9

77

Simulations of the two link manipulator from example 2: (a) root bracketing methods cannot be used since the vector field is ill-defined out side the workspace; (b) our method approaches the surface asymptotically without every requiring a function evaluation outside the workspace. . . . . . . . . . . . . . . . . . . . . . . .

5.1

78

The overall simulation algorithm introduced in this chapter. A more detailed description for the entire algorithm as well as the for the step size computation (de picted in the box to titled “Compute New via step-select” is given in Section 5.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 x

5.2

Two automated vehicles driving in spiral trajectories. . . . . . . . . . . . . . . . 110

5.3

The trajectory of the two robot vehicles in the plane is plotted (left). The separation distance,  , is small enough that they collide. The value of the guard as a function of step number is shown (right). The guard value converges to zero exponentially. 110

5.4

Step sizes used in the first example are shown here(left). As described,

 

and

 

are selected independently away from the constraint but are brought into synchronization when an event is impending. The value of  (right), which is a measure of how out of synchronization the two local time clocks are rapidly decreases in magnitude as the event is approached. . . . . . . . . . . . . . . . . . . . . . . . 110 5.5

The trajectory of the two robot vehicles in the plane for the second example (left). 

is selected such that the two robots come very close without colliding. The

value of the guard as a function of the step number is shown(right). The constraint comes close to zero as the robots barely miss each other. . . . . . . . . . . . . . 111 5.6

Step sizes used in the second example are shown(left). Again,

 

and

 

are

selected to synchronize the simulation when it seems an event may occur. Once it is apparent that this is not the case, the simulation returns to asynchrony. The magnitude of  (right), therefore decreases during this period but soon increases again. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 5.7

A histogram depicting the normalized frequency of selected step sizes for the Single-agent algorithm, for several values of 

(the number of agents). As the

number of agents becomes large. . . . . . . . . . . . . . . . . . . . . . . . . . . 112 5.8

 The expected value of , for the Traditional Algorithm as a function of the number

of agents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 5.9

The  -agent “bumper car” example. Events occur when an agent collides with one of the walls or another agent. . . . . . . . . . . . . . . . . . . . . . . . . . . 113 xi

5.10 Sample experimental results on the complexity of each algorithm as a function of the number of agents. Squares represent SA data and crosses are MA data. The data supports the claim that MA scales quadratically while SA scales exponentially. 113 5.11 Experimental results: computational cost as a function of the number of agents, for various integration tolerances. Dash lines represent analytical predictions; while the solid line is the geometric mean of the experimental data.. . . . . . . . . . . . 114 6.1

Multirate technique with     . . . . . . . . . . . . . . . . . . . . . . . 117

6.2

Inferring the value of the state at off-mesh points represents a challenge for multirate methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

6.3

A flow chart of the traditional Predictor-Corrector numerical integration algorithm. 129

6.4

A flow chart of the multirate Predictor-Corrector numerical integration algorithm. 130

6.5

Efficiency gain as a function of the cost of evaluating the right hand side. . . . . . 131

6.6

Simulation results for the hierarchically controlled cart. The  coordinates are plotted at each level. The multirate simulation algorithm requires only 39 % of the computation time used by the Matlab built in integration scheme ode45. . . 131

6.7

Illustration of the frequency with which the different levels in the hierarchy are integrated. The step size used for the first level is approximately 0.6, while the step size for the lowest level is 0.015. The step size is selected automatically to maintain the estimated errors at a desired level while seeking maximum efficiency. 132

6.8

Experimental results for the mobile robot example problem on the efficiency gain of the multirate technique as a function of the desired integration tolerance. . . . 132

7.1

An illustration of the vectors  !#" , and $ %'&)(* $+ !,"-&)( in .0/ . Any input vector in the same half plane as  also decreases "1324 . . . . . . . . . . . . . . . 139

7.2

In the absence of constraints, the set of feasible directions is the half plane containing !#" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 xii

7.3

The addition of a constraint, 56 , with no time dependence further constrains the set of directions to the intersection of the half spaces containing !#"

7.4

and !756 . . 142

A graphical representation of the resulting Hybrid Automata. The connectivity of the modes can be understood from this diagram. . . . . . . . . . . . . . . . . . . 145

7.5

(L) The Robot (on the right) proceeds to the goal (on the left). (C) The robot tries to steer to the right around the moving convoy but is blocked by a static obstacle. Finally (R) the robot loops around to pass the convoy safely on the left. . . . . . 152

7.6

(L) The robots assume formation. (C) Traveling in formation. (R) Breaking off to pursue individual objectives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

7.7

(L) The robots nominal trajectory would cause it to bump into the unmodeled obstacle (dark circle). (R) The dynamic planning methodology enables the robot to steer around the unexpected obstacle on-the-fly.

xiii

. . . . . . . . . . . . . . . . 157

Chapter 1

Introduction In many modern applications it seems that the traditional control paradigm of developing a single mathematical model of the plant and a single control law to achieve the task at hand is, at worst, intractable and, at best, impractical. As control engineers seek to control increasingly complex systems with the goal of automating increasingly complex tasks, new paradigms for control have evolved. Current trends seem to indicate that the popularity of these techniques and frequency of use among control engineers is ever increasing. It is important to note that their use is facilitated by the widespread proliferation of the microprocessor for embedded control. This ubiquity of processing power has enabled the development of sophisticated logic based control techniques which would have not been practical for real time applications 20 years ago. Two emerging ideas appear to be central to managing control complexity: modularity and hierarchy. In most cases a single continuous control law, of the type found in many control engineering text books, is insufficient for the task at hand. Inevitably several control laws must be designed and composed in some meaningful fashion to achieve their desired effect. Once simple individual control laws are designed for various subtasks (control modules or modes) the system designer must determine how to put these pieces together to complete the high level task. Modularity is concerned with addressing how to put these individual modes together in a meaningful way and 1

determining what properties the aggregate system will inherit from its constituent control laws. Once issues of modularity are resolved the problem of designing a control system to achieve a complex task is reduced to subdividing the task into a series of subgoals, designing a set of atomic control laws to achieve these subgoals and finally composing all of the pieces into a composite system.

Hierarchy is another way of managing complexity. Whereas the complexity discussed above is a product of the task to be completed; in other cases complexity emerges from the plant model itself. The plant may be complex enough that directly designing control laws is prohibitive. Instead designers may use various levels of abstracted models for control law design. The motivation for this is that often, for example, the full blown dynamic model may be of too high a dimension to practically solve optimal control or trajectory planning problems directly. Instead simplified models are used for high level and long range planning. The control synthesis technique called backstepping is essentially a hierarchical scheme for designing stabilizing controllers. Naturally there are trade-offs between optimality and computational complexity that one must consider.

Systems which are modeled and controlled using the concepts of hierarchy and modularity are collectively termed Hierarchical Hybrid Systems. This paradigm for modeling and control is finding application is several diverse areas of robotics. Mathematically, Hybrid Systems take the form of a set of differential equations whose right hand sides are smooth functions of the continuous states  and possibly discontinuous functions of the discrete state 2 . The dynamics of the discrete state are governed by as separate set of equations but are functions of continuous state  . The notion of hierarchy arises in the dependency structure of the equations. The states of hierarchical systems can be natural grouped into subsystems. The dynamics of the state groupings lower in the hierarchy depend on the dynamics of the higher level subsystems. The simplest 2

example of a Hierarchical Hybrid System would be 8  

9  326   

8 :; 8 

 /

with #MN.-OIP , %QMR.-OS , 

9326:W%432=>'?'?'? . ] ½ Definition 2.3 Execution An execution À of a hybrid automata Ÿ with  being a hybrid time trajectory, 27€4#‚¶¡ and €Á#‚¢

is a collection Àƒš3Bc26L

satisfying:

q Initial conditions: 323'Ã@’3'ÃÄM…£4¤mw§C ; q Continuous evolution: for all i with 

x¾B³ ,  and 2 are continuous over $  c B³ & and for all ] ] ] CÄM}$  c  ³ @’CÄM£4¤m­:32Cc and Å KCcFH9F32C@’C ; and ] ] ÅcÆ ]

q Discrete evolution: for all w , G•Ç32B3 ³ @c2 ³ 3  ÈÉM ]D ] .ËbG’3B³  . ]

25

¥

K3 ³ ÉMʦ¹bG> , and ’3 pÉM ]D ]

Initial Conditions

Continuous Update: Integrate through time step h

Discrete Update: Update q Apply R

YES

Event Detection

Event Location

NO

Figure 2.3: The basic hybrid system simulation algorithm.

2.2

Simulating Hybrid Systems

Obviously the goal of hybrid system simulators is to produce sufficiently accurate approximations of executions using the least computational effort possible. The basic, high level simulation algorithm is illustrated in Figure 2.3. Referring to the definition of an execution, the first required component, the initial conditions 323'Ã@K3'à , are supplied by the user of the simulation software. The simulation will begin by approximating the continuous evolution of the state, KCc described by the flow 9F323'Ã'@’C . The state evolution described by the differential equation will be approximated by a numerical integration technique, so instead of the simulator producing a continuous map “€Br‚¯¢

(i.e. – an analytical solution to the differential equation), the simula-

tor returns a sequence of approximations of the continuous state at a discrete set of points along the Hybrid Time Trajectory »=’3'Ã@KC@È@KCÌo@'?'?'?’C ~

 ½

for 'Ã-{C d

N> , for Í# '?'?'?c .

In [16] it was shown that the proper way to simulate any hybrid system during the continuous evolution is to numerically integrate all of the differential equations with 2 held constant. The time at which the final state estimate ’C ~

 in the sequence is generated should be as close as possible

to   – the first time at which 5:’Cˆz . At this point the numerical integration is stopped. Precisely finding and locating > is called the event detection problem. Often this is done 26

in two phases. The first phase occurs at every integration step and consists of determining if Î  Mƒ$ C C  & such that 5:’3 0Ïz . This is called the event detection phase. If such a time ] ] d d D exists, the event location phase is activated in which a more precise value for  is computed. ] All transitions are then taken, the discrete component of the state is updated to 23>p and any reset mappings are applied. The guards are checked once again, and any additional transitions are taken which have been enabled after the resets. Once no further discrete evolution can occur, the the integration may be restarted using 9F323  @L as the flow, with 323  @K3   as the new set of initial conditions. This technique is referred to as discontinuity locking and is widely accepted as the standard simulation methodology. The important point is that 2 is held constant during an continuous evolution. This is a nontrivial point since, given ’C will generate the next state approximation ’C states KCc with C

~ J

rCːÏC ~

~

~ J

@ for example, many numerical integrators

 by evaluating 9F326L at several intermediate

. Even if some of these states satisfy ƒMƒ¦ , 2 and hence the

map 9 should not be allowed to change mid-step. The rationale behind this is that most numerical integration techniques are based upon Taylor series approximations, and so are only valid when the flows are continuous (and therefore the state trajectories are smooth). Therefore, a series approximation should not be constructed over an interval containing a discontinuity. While simulating the discrete component of the evolution is relatively straight forward, simulating the continuous portion through numerical integration is not and will therefore be reviewed in the next section.

2.3

Numerical Integration Methods

In this section the basic principles of numerical integration methods are reviewed and a particular class of methods, Predictor Corrector methods, are derived. Much of the material is adapted from [46] and [8]. 27

2.3.1

Notation

Given the a system of ordinary differential equations, 8 rH9F”C@

(2.1)

with state •M}.~ and a map 9•€.~Ж—.ʂŒ.~ and an initial condition K3zÁ¬Ð à , the exact or analytical solution of such a system is referred to in this work as ’ Ñ C . However, while solving a differential equation in the analytical sense entails finding a continuous function, in the case of a numerical solution one must generate a discrete set, »= à   '?'?'?c d

'?'?'? , of state values which ½

approximate K Ñ Cc at the set of discrete times, »=CgÃC@''?'?'?C ' ?'?'? , often called mesh points. It is ½ d customary to denote the approximate solution at the discrete time C value of the time derivative may be written as 9

H9F

d

as 

¼KC  , and then the d d

 . It is also convention to define the time   C YC  . Occasionally we will Ê step (the spacing between successive approximations) as d d d J d

d

use superscripts to denote various components (or groups of components, called subsystems or agents) of the state ]FM….-OŽ where ¤

x¾ . ]

Generating the discrete set of points which constitutes a numerical simulation, is generally accomplished by defining a difference equation 

d D

 ˆÒr

d D

  d

'?'?'?o

and, beginning with the initial data  Ã '?'?'?o ^

d J ^

p9

d D

 p9 d

'?'?'?p9

d J ^





d D

 

, iterating the difference formula. A basic taxonomy

of numerical integration methods can be outlined as follows. If the formula Ò 

(2.2)

is dependent on

 it is considered implicit; otherwise it is explicit. If Ó Hz in the definition of Ò , the method   is referred to as a single step method; otherwise it is a multistep method. Finally if  ng¸%wc§Ô , ] d D

it is a fixed step size method, otherwise it is a variable step size method. Modern numerical integration methods can have any combination of these attributes. Occasionally one is interested in not only generating approximations to ’ Ñ C at the mesh points, but also over some continuous interval. In such situations an interpolant, denoted as KÕ Cc , is generated. Typically the interpolant is only a locally valid approximation of K Ñ Cc . 28

2.3.2

Definitions

Definition 2.4 Local Truncation Error The local truncation error of a particular numerical integration method is defined as G

d D

 ÏÑ

d D

 “ÒQÈÑ

d D

 p9FŠÑ @  4Ñ ' ?'?'?Ñ  @p9FŠÑ @'?'?'?op9FÈÑ   d d J ^ d D d d J ^ d D

(2.3)

the residual when the difference operator for that method is applied to the exact solution of the differential equation. If the expression for G

d D

 is proportional to

ÁÖ

where × is some constant integer, one refers to the

method as being of accurate (or consistent) to order × . Typically the accuracy of the method is order Ó

where Ó

2.3.3

Derivation of Predictor Corrector methods

is the number of data points used in Eq.( 2.2).

One specific family of numerical integration methods are called Linear Multi-step Methods. The most general form of a Ó -step linear multistep method (LMSM) is Ø^ nÈÙLÃLÚ

n'

n

d J D

 

 d

Ø^ nÈÙLÃ%Û

n9

n  d J D

(2.4)

where n and n are the coefficients of the method. Particular LMSM’s differ in how and Ú Û Ú Û are selected, however they are always some polynomial function in the step sizes. Multi-step methods, as opposed to say Runge-Kutta methods, are a natural choice for simulating hybrid systems because the expressions for

and can be used as to generate natural interpolation Û Ú formulae which approximate the solution between mesh points. These natural interpolants are then exploited for event detection.

The Adams Methods: The Adams family is by far the most popular class of these methods. All the following derivations are done for a scalar differential equation; however the extension to systems of equations is entirely straightforward. Given the differential equation 8 rH9F”C@

29

(2.5)

integrating both sides through an interval $ C

 C & gives d

d J

Æ´Ý

KC E  ’C   b Ð € (*)

4. is

8A +  L  [ [[   Ð

or

?

T: terminate

Ë

F: relabel agents values of



b

>m

]]]

m,

in order of descending

; goto 1

P 5m mP 5 m mP Ð m mP Ð m 2 2lZ3Æ 2 2lZ3Æ ]]]1‘“’j”ƒm1 ™#Ð]š]š ] m°m ] ])] s 1‘–•˜—em A

= step_select(

Ë

for i=1:N



Ë

8 b = b5;

end

;/ ¾ 8

® IA2 = °I¬ [ ®.- A

;

= Roots of Eq.5.17;

_ 8 if

stÁÛ¿t £ / m,0ƒr : t @ 8  m_ Þ : t @ €  w _ 8 ʁ 1 ¹Ð 8 z ;

else

;

1 ¹5 8 ˆ Š(‹ : t @ ; 1 ¹Ð 8 /@  2 Ð G 1 ¹5 ;

end

1 Ð 8 ˆ› dj1‘“’j”em?ˆŠ(‹ : 13‘–•˜—Åm?ˆŠ(‹ jd 1 ¹Ð m1 ™%Ð šš h @ h ; w 94

5.4

Examples

In this section the effectiveness of the algorithm presented in the previous section via a set of examples. The general scenario for these example is illustrated in Figure 5.2, which depicts two

Ë

Ë

Ë Ü8 > m J

mobile robots driving in the plane. The dynamics for agent

The

1

Ë

øË and

kä Ë 8 àä Ë 8 æ 8 ä

are

1 Ë êFëÅì : æ Ë @ 1 Ë ì Š(‹ : æ @

(5.19) (5.20)

ø

Ë Ë ] are state feedback laws (i.e., functions of k , à

and

æ

Ë

(5.21) ) and are selected in such a

way as to steer the vehicles in spiral trajectories. However Robot 1 travels much faster than Robot 2. The guard function is chosen to detect a collision between the two robots

A 8 =

ý

5 L L 5 L L : k = k @ G­: à = à @ G _ ?  

(5.22)

where R is the sum of the two robot vehicle’s radii. This example was simulated using the algorithm presented earlier for two scenarios – each with a different value for the separation distance (marked

2

in Figure 5.2).

In the first example (see Fig. 5.3 and 5.4) the value of the separation distance

2

is small enough

that the robots eventually collide. The path of the robots in the plane is shown in Fig. 5.3(left).

¢

Figure 5.3(right) is a plot of the value of the guard as a function of the step number . The guard value peaks first around step 70, when Robot 1 completes a half of a rotation; finally at step number 107 the event detection criterion becomes active and the step sizes are selected in such a way that

A$  

exponentially. Further insight is gained by examining Fig. 5.4(left) which shows

the step sizes used for each agent as a function of time. Note how until

b «43

]ðö

15

and

1L

vary independently

when the event detection mode is active; whereafter they both begin adjusting the

step sizes so as to synchronize the two local clocks. This is further illustrated in Fig. 5.4(right)



which plots the history of the synchronization function . Its value rapidly approaches zero, at which point

b 5 8b L .

95

In the second case, (see Figure 5.5 and 5.6) the value of the separation distance

2

is increase

enough that the robots do not collide, but they do come very close to one another. The trajectories of the two robots are shown in Fig. 5.5(left). There is a near miss halfway through Robot 1’s second rotation. The history of the constraint in Fig. 5.5(right) shows that the value of

Aq: k @

comes

 >  . During this period, the value of , Figure 5.6(left), ï decreases in preparation for a possible event. Figure 5.6(right) shows how the step sizes were very close to zero around step number

decreased to slow down the simulation. However once the two robots pass each other and it becomes apparent that no collision will occur, the step sizes quickly increase and the two local clocks are allowed to fall out of synchronization again. Note that in these simulations,

; 8 

]ðï

so that the “slow down” and synchronization, as

the state approached the guard surface, could be more easily illustrated. Using the method in Section 4.9,

;

can be selected in such a way that the “convergence” to the event surface is rapid.

Typically terminating in 1-3 steps.

5.5

Efficiency analysis

Obviously it is important to use an algorithm that is reliable, the primary motivation for using asynchronous simulation is to improve the efficiency of the simulator. In this section the predicted performance of the asynchronous algorithm is modeled and compared to that of the more traditional asynchronous algorithm.

5.5.1

The traditional algorithm

For the sake of comparison, the traditional synchronized algorithm is reviewed here. The traditional algorithm is makes no distinction between single agent systems and multi-agent system. In both cases it treats the entire state vector as if it belongs to a single system by using a single global step size; we refer to this as the Single Agent Algorithm or SA. The notation follows the same convention as in the Multi-agent Algorithm MA. 96

SA: Single agent (or Synchronous) Algorithm

0. Given values for 1. Compute



1‘“’j”ƒm13‘–•˜—ƒm13™%šš ,

and

°;

let

¢œ8 >

via methods in Chpt.4

2. Select final step size

3.

1 8 ˆœ› : 31 ‘“’j”ƒm?ˆŠž‹ : 1 ¹ m13™%ššlm13‘–•˜— @Ç@ for i = 1:N Ë integrate k using h Ë estimate error Þ end

4. 5.

Þ 8 ˆ › : Þ 5 m mÞ Ð @ ° is Þ ? ]]]  T: accept result compute F: reduce

¢ ' 6. is

¢ GÂ> ; b2/ZR5 € ( )

1

13™%šš

for next iter.

and goto 3

or

A 8 ?

T: terminate F: goto 1

Since the purpose of this discussion is to compare the efficiency of the asynchronous integration scheme to traditional synchronized simulation techniques, and not to compare different integration methods or event detection techniques, we compare the performance of the synchronized algorithm in Chapter 4 to that of the asynchronous algorithm described in this chapter. Both use precisely the same integration method (Adams Predictor-Corrector), the same tolerances and parameters, and the same event detection technique (reviewed earlier) so far as possible. Note that this analysis framework is in no way restrictive, because even if MA was compared to other 97

methods in the literature, no fundamental changes to this analysis are required, aside from recomputing the relative overhead constant (to be explained later). This is because the principle advantage of the Multi-agent Algorithm is that it permits independent step size selection, while no other algorithm in the literature does. The difference between the performance of SA and MA arises two primary ways. In SA a single ideal step size from the point of view of event detection



is computed using, for example,



Eq.(4.21) while in MA the event dynamics in Eq.(5.16) and (5.15) are used to compute

distinct

step sizes, one for each agent. Clearly, selecting the step sizes in the multi-agent case requires more computation due to the fact that the synchronization requirements must be dealt with. A single iteration of SA is also slightly more efficient since one need not keep track of





distinct

time clocks, step sizes and synchronization events ( ). Despite the fact that a single iteration of SA is more efficient, it will in general require more iterations to reach the final time single global time step forces

1

()

. This is because, satisfying error and event criteria using a

to be computed as the minimum value of all the agent’s time steps.

This restriction is explicit in computing the ideal step size for truncation error considerations

17™#šš

based on the worst case error across all agents. Another situation in which the traditional technique produces overly conservative choices of

1

is when the model contains some guards which are only

a function of a subset of all the agent’s state’s. If such an event is about to be triggered, a small value of



is typically required. In the Multi-agent algorithm only the agents whose states the

guard is a function of must use the smaller time steps. In contrast, the traditional algorithm would require that all agents use

1 ¹ , including agents whose states do not appear in the expression for A .

These issues surface in the analysis that follows.

5.5.2

Average complexity analysis

Throughout this section the subscripts

576

and

896

to the Single Agent or Multi-agent algorithms. 98

are used to distinguish quantities pertaining

The computational effort for any simulation algorithm is simply the product of the number of steps taken and the number of computations per step. In the case of the Single Agent Algorithm

where

:?;

¬: ;y«=:?; [ : ¬A@ [  @ m

(5.23)

is the number of simulation time steps the Single Agent Algorithm executes to reach

the final time

D ( , A¬ @

is the cost of simulating a single agent through one step (via the Predictor

Corrector Method), and



is the total number of agents to be simulated. Since the algorithm is

synchronous, the number of steps used to simulate each agent is identical. On the other hand, the computational effort for the Multi-agent Algorithm is

 ¬BC;*« Ë ÒÐ > < BC; :  @ [ : ¬A@ G,DFE*@ 5 ]

(5.24)

Note that in contrast to the Traditional Algorithm the number of simulation steps vary for each agent

“8 > m

]]]

m!

 Ç G J  ] ö ð] ï

(5.35)

Recall that the relative overhead is the overhead as a percentage of the cost of integrating through a single step

¬A@ .

Naturally

¬A@

is highly problem dependent but it is generally greater than 10

floating point operations. Problems with more complicated expressions for higher values of

¬ @.

P k : @

Prediction and discussion: Using Eq.(5.30) on can then predict the value of tion of the number of agents, for different values of

¬A@ .

typically have

8 ¹ WH

as a func-

A closer look at Eq.(5.30), in light of

the derivations presented in this section, reveals that the numerator which is the average cost of the multi-agent algorithm contains a term which scales linearly with the number of agents (the overhead associated with synchronizing on-the-fly

ª

DFE

);



itself as a multiplicative factor; and

two terms which are constant with respect to the number of agents: the expected number of iterations of the multi-agent algorithm

d BC; h

and the problem dependent cost of integration 102

¬A@ .

This implies that the cost of the multi-agent algorithm is quadratic in the number of agents as one might expect.

ª

In contrast, the denominator, which represents the average cost of the traditional single agent algorithm, contains the term

5.6

d

(5.36)

were randomly assigned functions of time.

Ë

The “agent-wall” collision guards are

where

áââ

k

and are the

Ë

Ñ Ñ[Z A Ë 8=Y Ë = k Z A š Ë 8k Ë = Yš Z A ËÆ 8à = Y Æ Ë Z A „ 8=Y „ = à

±  ±  ±  ± 

coordinates of the left and right walls, and

Ë

(5.37) (5.38) (5.39) (5.40)

Y ÆZ

and

Ë

Y Z „

and are

coordinates of the top and bottom walls. The “agent-agent” collision event is guarded by

where

_

L L L 8 Ê ¯m A É 8 : k = k É @ GÂ: à = à É @ = _ ±  mN\Q] ^ ô is the radius of one of the cars. The number of differential equations is

number of guards is

ô

 G  [ :  =?>/@ I J . 103

(5.41)

ò

and the

The algorithms SA and MA were coded in Matlab so as to be as similar as possible for the sake of fair comparison. Parameters such as the minimum and maximum step size, and integration tolerance were the same in both cases. The actual numerical integration algorithms were also identical. Experiments were conducted to determine how the speedup factor

8 ¹ !H

varies with the number

agents. Recall that it was predicted that as the number of agents increases, the Single Agent algorithm becomes increasingly likely to select smaller step sizes, while the Multi-agent Algorithm is not biased toward smaller step sizes. Data was collected for systems with 2 to 20 agents. For a given number of Agents and tolerance, 10 randomly generated scenarios were simulated for a fixed duration using both SA and MA. The number of floating point operations used by each algorithm for a given scenario was measured. The raw data, using an integration error tolerance of

>

ZO_

is

shown in Figure 5.10. Note for most of the 190 test scenarios, with the exception of 2 of the two agent scenarios, MA outperformed SA. In the case when

 8 J , SA averaged double the amount

of computations required by MA. The figure supports the claim that MA is generally more efficient than SA and seems to agree with the predicted quadratic scaling of MA vs. the exponential scaling of SA. This echos anecdotal reports of computational bottle necks in large scale simulations by SHIFT users. A second factor whose impact on performance was studied is the user specified integration error tolerance. The performance improvement associated with MA would be expected to decline at tighter error tolerances. This is anticipated because tighter error tolerances have the effect of biasing the step size selection mechanism toward smaller step sizes. Each of the 190 scenarios mentioned above was simulated with three different integration errors tolerances, and

>

°H8 > OZ _ , >  Za`

ZOb , for a total of 570 experiments. The number of floating point operations used by each

algorithm for a given scenario was measured. Based on this data the speedup ratio for each scenario was calculated.

8 ¹ WH

for a given number

of agents and a given tolerance was computed as the geometric mean of the speedup ratios of the 104

10 random scenarios. The geometric mean as a function of the number of agents is plotted in Fig 5.11. Each curve displays the results for a different value of the integration tolerance. Tighter integration tolerances have the effect of biasing the algorithms toward selecting smaller step sizes. The dashed lines in the figure show the predicted speedup.

5.7

Discussion

Although the probabilistic modeling did predict the overall trend in the number of agents vs. cost quite well, it is obvious that the model tended to overstate the performance improvement seen in practice. This is no doubt due the fact that the actual step size “distribution” is of course nonuniform. This observation warrants a discussion of why a uniform distribution was selected in the first place since it is a major factor impacting the predictive power of the modeling. Again, the distribution is entirely problem dependent, so from the point of view of predicting the performance it is important to choose a distribution that does not particularly favor one algorithm over the other. Distributions which are non-uniform and heavily weighted around a mean will certainly bias the prediction depending on how the mean varies across all agents. If all the agents have the same distribution, with the same mean, this implies that the agents are all varying at nearly the same time scale, in which case little advantage is to be gained from an asynchronous simulation. On the other hand, if all agents have the same general distribution but their means to do not coincide, the asynchronous simulation will be highly favored since this implies that some agents are consistently “slow” and others consistently “fast”. In light of this a uniform distribution was selected since it is does not necessarily favor either of these two extremes, representing a somewhat neutral assumption. 105

5.8

Conclusion

A major cause of performance loss when simulating large scale systems of ODEs can be traced back to the requirement that a single global step size is traditionally used despite the fact that the various individual differential equations in the system may each warrant a very different choice of step size. The only proper choice of a global time step among each individual equation’s candidate time step is, unfortunately, the minimum of these candidates. As a result, the simulation often must proceed unnecessarily slowly using the smallest possible step size. The more individual differential equations in the system, higher the probability of more frequent and severe performance drain. In situations in which the coupling between the right hand sides of the ODEs is strong this cannot be avoided. Many classes of Hybrid Systems however, contain a large number of decoupled or partially decoupled ODEs. Majority of the interactions within the system may arise in the discrete states. One situation, the case of decoupled ODEs with highly coupled guards – referred to here are Multi-agent Hybrid Systems – appears often enough in practice to warrant special techniques. Examples of such system include groups of automated highway vehicles, unmanned aerial vehicles, mobile robots, etc. – systems which are nominally physically decoupled, however, through sensing, software or actual physical collisions, interactions may arise which precipitate mode changes within the system. In such cases, despite the fact that the ODEs are decoupled, all current simulators use a single global step size since it greatly simplifies the event detection problem. In this chapter a technique is introduced for simulating multi-agent hybrid systems in an asynchronous fashion, that is without resorting to a single global steps size. In this asynchronous simulation algorithm each agent has its own local time clock. During parts of the execution in which no discrete transitions occur, the individual time clocks are allowed to advance at different rates as dictated by the agent’s dynamics, allowing the maximum utilization of the available computational resources. This complicates the event detection problem because it is no longer 106

sufficient to simply check the sign of the guard function since the individual states are being reported at different points in time. The primary challenge here is selecting for the





integration step sizes

agents in such a way that the individual time clocks will synchronize on-the-fly when

some relevant subset of the states approach a guard surface. The step sizes should be selected so that the simulation terminates exactly on the guard surface with the value of the local time clocks identical. As in Chapter 4, a Input/Output Linearizing step size controller is derived to accomplish this. In this case the problem is a multi-input multi-output control system, for which the inputs are the



step sizes and the output functions are the guard function, along with

 =O>

synchronization

functions, which measure discrepancies between the local time clocks.

We show that while a single iteration of the new algorithm is somewhat more expensive due to the overhead associated with adaptive synchronization, not using a global time step requires fewer total iterations. The extent to which one algorithm out performs the other is somewhat problem dependent both in terms of the amount of computation required to complete a single step and the number of steps needed. In order to predict the efficiency of the algorithm we construct a probabilistic model of the step size selection scheme, assuming the ideal step size for each agent is a random variable. Under the assumption that the distribution is uniform, it is shown that average complexity of the multi-agent algorithm is approximately quadratic in the number of agents being simulated. In contrast, it is demonstrated through experiments that, as the number of agents increases, the average computation time for the traditional algorithm seems to exponentially approach an upper bound. The total time is bounded in the sense that the user specification of a minimum allowable step size bounds the total number of iterations. If there is no minimum allowable time step, the total simulation time would approach infinity. This analysis confirms that the new simulation algorithm is a drastic improvement over the traditional algorithms for systems with many agents.

Experiments were conducted in which both the traditional single agent algorithm and the new 107

multi-agent algorithm were used to simulate a problem many times with a large number of randomly generated sets of initial conditions. Two variables were manipulated: the total number of agents and the integration error tolerance. It was shown that the predicted relationship between the number of agents and the computational cost savings was valid and that requiring finer simulation accuracy serves to amplify the potential savings associated with the new algorithm.

108

Initial Conditions

Initialize Compute new h via step_select

Predictor Reduce h Corrector

Estimate Error

Error acceptable?

Relabel Agents 1,...N in decending order of t1,...tN

INTEGRATOR

Store Results

Event? NO

Discrete update YES

Figure 5.1: The overall simulation algorithm introduced in this chapter. A more detailed description for the entire algorithm as well as the for the step size computation (depicted in the box to titled “Compute New via step-select” is given in Section 5.3.

1

109

D

o

o

Car #1

Car #2

Figure 5.2: Two automated vehicles driving in spiral trajectories.

20

0

15 −5

10

Region of Exponential Convergence

START − CAR 2 −10

Guard

Y − axis

5 START − CAR 1

0

−5

−15

−10

COLLISION −20

−15

−20 −20

−15

−10

−5

0

5

10

15

−25

20

50

100

X − axis

150

200

250

Step Number

Figure 5.3: The trajectory of the two robot vehicles in the plane is plotted (left). The separation distance, , is small enough that they collide. The value of the guard as a function of step number is shown (right). The guard value converges to zero exponentially.

2

0.35

0.01

0.3

0

h2

−0.01

0.25

Synchronization

Tau

Step Sizes

−0.02 0.2 −0.03

0.15 −0.04 0.1

h1

−0.05

0.05 −0.06

0

1

2

3

4

5

6

7

8

9

10

−0.07 100

11

Time

110

120

130

140

150

160

170

180

190

200

Step Number

15

1L

Figure 5.4: Step sizes used in the first example are shown here(left). As described, and are selected independently away from the constraint but are brought into synchronization when an event is impending. The value of (right), which is a measure of how out of synchronization the two local time clocks are rapidly decreases in magnitude as the event is approached.



110

0

20

15

−5 10

START: CAR 1

−10

START: CAR 2

Near Miss

Guard

Y−Axis

5

0

−15

−5

−20 −10

NO COLLISION

−25

−15

−20 −20

−15

−10

−5

0

5

10

15

−30

20

20

40

60

80

100

120

140

160

180

200

220

Step Number

X−Axis

2

Figure 5.5: The trajectory of the two robot vehicles in the plane for the second example (left). is selected such that the two robots come very close without colliding. The value of the guard as a function of the step number is shown(right). The constraint comes close to zero as the robots barely miss each other.

0.5 0

0.45 −0.05

0.4

−0.1

0.3 −0.15

Tau

Step Sizes

h2

h1

0.35

0.25

−0.2

0.2

0.15 −0.25

Near Miss

0.1

0

−0.3

Near Miss

0.05

4

6

8

10

12

14

16

18

90

Time

100

110

120

130

140

150

160

170

180

190

200

Step Number

15

1L

Figure 5.6: Step sizes used in the second example are shown(left). Again, and are selected to synchronize the simulation when it seems an event may occur. Once it is apparent that this is not the case, the simulation returns to asynchrony. The magnitude of (right), therefore decreases during this period but soon increases again.



111

0.1

0.09

0.08

Normalized Frequency

0.07

0.06

10 Agents

0.05

0.04

0.03

5 Agents 0.02

1 Agent 0.01

0 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Step size h

Figure 5.7: A histogram depicting the normalized frequency of selected step sizes for the Singleagent algorithm, for several values of (the number of agents). As the number of agents becomes large.



0.5

Expected Value of h

0.4

0.3

0.2

0.1

0

0

10

20

30

40

50

60

70

80

90

100

Number Of Agents

1

Figure 5.8: The expected value of , for the Traditional Algorithm as a function of the number of agents.

112



Figure 5.9: The -agent “bumper car” example. Events occur when an agent collides with one of the walls or another agent.

7

x 10 7

Floating point operations

6

5

4

3

2

1

0

2

4

6

8

10

12

14

16

18

20

Number of Agents

Figure 5.10: Sample experimental results on the complexity of each algorithm as a function of the number of agents. Squares represent SA data and crosses are MA data. The data supports the claim that MA scales quadratically while SA scales exponentially.

113

1

0.9

−5

10

0.8

0.7

−4

10

0.5

S

avg

0.6

0.4

10−3

0.3

0.2

0.1

0

2

4

6

8

10

12

14

16

18

20

number of agents

Figure 5.11: Experimental results: computational cost as a function of the number of agents, for various integration tolerances. Dash lines represent analytical predictions; while the solid line is the geometric mean of the experimental data..

114

Chapter 6

Multi-rate Integration Techniques In this chapter an algorithm for multi-rate integration is introduced which is well suited to simulating Hierarchical Hybrid Systems. The ultimate goal is to improve simulation efficiency through the use of an algorithm which is capable of exploiting this structure. A observed feature of such systems is that the dynamics of the various subsystems evolve at different time scales. As emphasized in Chapter 5, anytime a system naturally possesses different time scales, there is potential to improve simulation efficiency by permitting the different system components to be integrated with different step sizes, as opposed to a single global step size. Whereas the challenge in developing an asynchronous simulation in Chapter 5 was to account for the coupling of the discrete dynamics, in this chapter we consider systems with decoupled discrete dynamics but coupled continuous dynamics. Parts of this work first appeared in [29].

6.1

Problem Statement and Discussion

Hierarchical hybrid systems are simply a special class of Hybrid systems that have a special structure as well as a convenient representation. Nested or hierarchical control systems are examples 115

of Hierarchical Hybrid Systems. Mathematically these systems have the following structure:

P 5  5 m k 5 (6.1) : @ . Ë .. Ë Ë Ë k ä 8 P]]] :  m k 5 m m k @ ]]] .. . k ä Ð 8 P]]Ð ] :  Ð m k 5 m m k Ð @ Ë Ë ]]] P W where k the guards Ë £ _  ,  £c , and d _  [[[  _    _ . It Ë is assumed for each subsystem only depend on that subsystem’s continuous state, A : k @ ±  . The lower kä 5 8

triangular dependence of the continuous dynamics on the continuous states stems from the fact that we assume information (typically in the form of reference signals) propagates down the hierarchy. This also reflects, for example, the read – write structure of the CHARON hybrid system modeling language ??. Another interesting feature of such system is that, often each subsystem evolves on a different time scale. That is to say,



, in some sense, changes “faster” than

k Ð RZ 5 . For example

any large linear system with a significant disparity in the magnitude of its eigenvalues will exhibit multi-rate evolution. In a robotics example, the top level could be some type of path planner which computes via points at 1 Hz; while the lowest level might be a motor control loop which runs at 10kHz. While the concept of “Hz” refers to how frequently a discrete time control loop is closed, often the frequency of the controller is dictated by the time constants of the dynamics. As always, the tradeoff between accuracy and efficiency must be managed online by selecting the largest step size consistent with the accuracy requirements. Traditionally, at each time step,

1 5m

1 , for each of the subsystems would be computed based ]]] smallest of these time steps 1÷8ˆŠ(‹ dj1 5 m 1 eh , typically on the estimated truncation error and the ]]] 1a , would be selected as the global time step to be used to integrate each of the subsystems. appropriate simulation step sizes,

As discussed in the previous chapter, given the disparity of the time scales involved, it would 116

seem wasteful to simulate each level in the hierarchy using the smallest overall candidate time step. Instead it would be most efficient to use the appropriate candidate time step to simulate each subsystem. However, using different step sizes for each subsystem results in asynchronous time meshes for the various subsystems. In Chapter 5, this complicated the event detection problem. Here, since the event dynamics are decoupled, no special treatment of the topic is needed. However, in contrast to the previous chapter, the right hand sides of the differential equations are coupled. The coupling of the continuous dynamics complicates the integration process.

X1

T

X2

h1

T

X3

h2 = 1/2 h1

T

h3 = 1/2 h2 = 1/4 h1

Figure 6.1: Multirate technique with

t 5 8tlL¶8 > I J .

b…8  computing the derivative of k L (a necessary step in numerical PL 5 L 5 integration) requires evaluating ]ðï k m k , and thus having the value of k at b“8 : @  . However if k 5 , evolving significantly slower, is being integrated with a time step of 1$8 > then its]ðï state is only computed at b £ s  m > m J m w . Thus one needs an acceptable way of estimating slow variables ]] the value of k 5 at ba8 , knowing only k 5 and k 5 . This at off-mesh points, in this ]case  :ƒ@ :>/@ ð ] ï situation is depicted in Figure 6.2. For example at time

117

x1 x1(0) x 1(1)

x1(0.5) ??? t t=0

t=0.5

t=1

Figure 6.2: Inferring the value of the state at off-mesh points represents a challenge for multirate methods.

6.2

The algorithm

Assumptions:

While multirate methods can and have been extended to systems of equations

Ë

Ë

Ë

with structures other than lower triangular form, they are best suited to equations such as Eq.(6.1). It is assumed that: (1) if

  ]

, in some sense,

k

evolves slower than

k ZR5 ; (2) the P

’s are

sufficiently continuous and satisfy all the criteria to ensure the existence and uniqueness of the solution to the differential equation; and (3) the guards describing when the discrete transitions for each subsystem occur are decoupled.

Traditional Predictor-Corrector Algorithm

As a point of comparison, the reader is referred

to the description of the traditional Predictor-Corrector Algorithm discussed in Chapter 2. For convenient comparison, a flow chart of the traditional algorithm is given in Figure 6.3. Note that in the “Error Estimation” step the error for each subsystem is estimated, and maximum error across all of the components is used as the estimate. This means that when a step is rejected because a particular subsystem’s error is outside of the nominal range, the results for all the subsystems are discarded and the new step size is computed based upon this maximum error. Likewise, when the error associated with a step is smaller than the ideal value and the step size is increased for the next iteration, the size of the increase is constrained by the subsystem with the maximum error. 118

Multi-rate Algorithm: In this section a multirate version of an

r ÆS

order predictor-corrector

(PC) pair of the Adams family is introduced for the first time. Multirate versions of other numerical integration schemes, such as BDF or extrapolation methods, have appeared elsewhere in the literature. The multirate Adams method differs from the tradition version of the Predictor-Corrector algorithm (described above and in Figure 6.3) in that the systems is integrated asynchronously one

Ë

Ë

component at a time. For each component a different time step may be used, in much that same

Ë

way as was done in Chapter 5. Here

1

S

is the step size for the for the Æ equation; and

1 € 1É

for

 Ë  ] . The Ë Ë integer ratio, t of step sizes for adjacent levels in the hierarchy is given by the relation 1 8t 1 465 for »8 > m mfe =?> , as seen in Figure 6.1. ]]] for our Multirate Predictor Corrector simulator is shown in FigThe conceptual algorithm ure 6.4.

Ë

The steps of selecting a subsystem to integrate, evaluating interpolants for constructing an interpolant for

k

k 5m

Ë

]]]

k ZR5 , and

are not present in the traditional version of the algorithm. How

these steps are completed determines the underlying accuracy and stability of the algorithm. This is discussed in the following section.

6.3

Analysis

In this section we examine how the choice of interpolants to approximate the slow variables and the choice of the order in which to integrate the subsystems impacts the accuracy and stability (respectively) of the simulation algorithm.

6.3.1

Integration error analysis

In this section we analyze the accuracy of the method compared to traditional simulation techniques. Such an analysis is important (1) to determine the expected performance of the method, (2) to provide a method to control and estimate truncation errors (and hence select an appropriate step size at runtime), and (3) to provide a basis for selecting acceptable interpolating functions. As 119

in most numerical analysis, we will perform the error analysis locally in Section 6.3.1 by assuming that these required past values of the

gOh ’s and ijh ’s used in the PC method are exact, then look

at the errors introduced after one step. A general error expression is derived without assuming a specific form of the interpolation function. This expression is then used to select an appropriate interpolant. The ultimate goal is to devise a multi-rate algorithm whose accuracy is the same order of magnitude as a comparable traditional (non-multirate) algorithm. The local error of the multirate simulator,

k#lXm

is defined as the difference between the value

g hporqps t , and the analytical solution, gUu h orqvst , to the differential equation after a single step from qpsxw*y to qvs assuming that there was no u error induced in the previous step (i.e. g orqvsxw*y.t9z g orqpsxw*y.t ) k h{T| orqps t}z g h orqvs~t€ g u h orqps t. (6.2) n

of the state of a particular subsystem generated by simulation,

If we let

g hÆ |f‚.ƒ

denote the value of the state approximation had the traditional (non-multirate)

Predictor-Corrector integrator been used, then (6.3) k h{T| orqvs~t}z4„ g h orqps~t€ g hÆ |f‚.ƒ orqvs~tp…‡†ˆ„ g hÆ |f‚.ƒ orqvs~t‰ g u h orqpstp…} u It is apparent that gUh |p‚.ƒ orqpst‡ gOh orqvs~t is by definition, the local truncation error of the traditional Æ

integrator; while

g hforqvs~tO g hÆ |f‚Wƒ orqpst

is the discrepancy in the values produced by the traditional vs.

multirate integrators. The traditional integration error has a well known expression,

k hÆ |f‚Wƒ orqps~t}ŠŒ‹ y9 oŽ hs t {

(6.4)

‹ y is a known constant, Žahs is the size of the integration interval used for subsystem n at step  , and ‘ is the order of the Predictor. Furthermore, it will be shown later that g hforqvs~t€ g h |f‚Wƒ?orqpst Æ

where

depends on the errors in interpolating the slow variables. So the error can be expressed as the sum of errors associated with the traditional PC method

k Æ |f‚Wƒ

and an additional term which accounts

for the fact that interpolated values are used to accommodate coupling

k {T| z k Æ |f‚.ƒ † k#’  120

k#’ , (6.5)

Since

k Æ |f‚Wƒ

is known, an expression for

k“’ z g hforqpst‡ g hÆ |f‚Wƒ orqvs~t

must be derived. Note that

in the flow charts in Figure 6.4 and 6.3, the two algorithms produce identical results up to the predictor step. This is because this step is only based on information at

qpsxw*y , and there is no

need to interpolate any quantities, therefore in either case the output of the Predictor step will be referred to as

g ”h |f•–ƒ orqpst .

Terms contributing to



are introduced only during the corrector step

since it is that step which relies on interpolating the slow variables. Let



indicate an interpolated

quantity. After one corrector iteration using the traditional method, we get

{ ž *w y w * y y † Ž hs?˜“™Oš i h o g Æ |f‚Wƒ orqpst.›œœœx› g hÆ |fW‚ ƒ ro qvs~t.› g ”h |p•vƒ orqpstft† Ÿ.  ™ Ÿ i s#h w ¢Ÿ ¡ ¢y £ g hÆ |p‚.ƒ orqpst9z g hs , y

(6.6)

and for the multirate method one must interpolate the slow variables, so

{ ž *w y y * w y † Ž hs?˜“™Oš i h o g — orqpst.›œœœx› g — h orqvs~t.› g ”h |f•vƒ orqvs~tft† Ÿ¢  ™ Ÿ i s#h w ¢Ÿ ¡ Wy £  g h orqpstTz g hs ¤ y Then k#’ z gUh ro qps t€ gOh |f‚Wƒ orqps~t can be expressed as Æ

(6.7)

k“’ z aŽ h O™ ¥‡¦ i h¨§ g Æy |f‚Wƒ orqvs~t.›œœœ#› g hÆ |pw*‚.y ƒ orqps t.› g ”h |f•–ƒ orqps~tv©  ijh § g — y orqvs~t.›œœœ#› gU— h w*y orqps~t.› gO”h |f•vƒ orqvs~tv©«ª Ÿ Ÿ Ÿ Assuming ­¬ g — orqvs~t€ g |f‚Wƒ orqps~t­® is small we can expand the second term about g f| ‚Wƒ orqps~t . We then Æ Æ

have, to first order

&° ± ž h *w y i h ” z Ž h ™O¥$¯   g ” ¬ g Æ p| ‚.ƒ orqpst€ “k ’ Œ ” y³² ²

g — ” orqvs~t­®Q†,´µo ¬­g — ” orqpst‰ g ”Æ f| ‚Wƒ orqvst­®·¶#t¹¸&» º ›

g u ” orqps t . This term is effectively a measure of how sensitive our method is to errors in estimating ijh due to inexact interpolation of slow variables. Note that this term is multiplied by Žh which is typically small. ” Since the error contribution from k“’ should not dominate k |f‚Wƒ , we select g — to be ‘ ƽ¼ order Æ polynomials. Thus the interpolation errors vary with the ‘ ƽ¼ power of the interpolation interval, Ž ” . Recall that the larger step sizes of higher layers in the hierarchy can be expressed in terms where the partial derivative is evaluated about

121

of smaller step sizes as

Žah w*y z¿¾h w*y Žh

and in general

Ž ” z4À hÁ   *w ” y ¾ Á Ž h . Using these relations, a

general error expression is

{ ¡ y ° ± ž h w*y i h ” Ê w*y Á·Ë { { † ‹ Ž ™O¥$¯   g ”,ÈaÉ Á   ¾ ,Ì¢Íθ» º xk l ŠŒÂ ‹ ÃÅy ŽÄ h Æ $ (6.9) ” yG² ÃœÄ y •vÇM|p‚.ƒ  ¶ h Æ ² •–Ï Thus the dominant error term is k |f‚Wƒ – the same as that of the traditional Adams PC method. Æ Note that as the step size of the slower equations approach that of the fastest equations (i.e.

¾ ÁÐ Ì , ÑjÒ zÓÌ›œœœ n ŒÌ ), the k“’

term vanishes and the error expression reduces to that of the

traditional technique. In addition to providing an error estimate, Eq.(6.9) gives a rule of thumb for selecting appropriate ratios of the various step sizes. In particular since we would like to ensure the errors due to the interpolation of the same order of magnitude as those of the integration technique, we should select

{ ž h w*y i h ” Ê w*y Á Ë O™ ¥ ”   g ” ÔÉ É Á   ¾ ÕÌ Ë¿Ö Ž Ì h  y¹² y ²

(6.10)

In practice this may be hard to achieve exactly since we may not always precompute

œ××#Ú¢ØœÛ Ù ; but

generally there is a limit to how large the ratio between the largest and smallest step size should be for a given choice of step size. It also tells us that any arbitrary choice of interpolants is not acceptable. Had linear interpolants, for example, been used the than



term would be

´µoŽ { ¡ y t ; and hence, the dominant contributer to the overall error.

6.3.2

´µoŽ ¶ t

rather

Stability

The decision of which equation to integrate at a given time is made according to the slowestfirst criterion which was shown in [23] to have superior performance versus the so-called fastest first methods . The slowest first criterion selects to advance the equation which has been simulated through the least amount of time so far. Since the step sizes are all integer multiples of one another, often there will be several equations that fulfill the criterion. In the case of such a tie we integrate the one with the smallest index (the slowest equation) first. Given the nature of the coupling and 122

the type of information needed to compute the Corrector, allowing the slow variables to lead the fast variables ensures that the slow variables are always interpolated rather than extrapolated. By guaranteeing that the slow variables are always interpolated (by virtue of the slowest first method), the approximation error is always well bounded; whereas, had they been extrapolated, it would be much more difficult to ensure the approximation error is small [23]. While the stability of the method is more difficult to analyze since traditional techniques for determining the stability of numerical operators fail for multirate methods, the scheme presented here shares the same stability properties as the traditional integration method. This is because the nature of the coupling in conjunction with the slowest first rule implies that the integration error is always bounded, and therefore accumulates in a stable fashion. [23]. In addition, as a result of proper interpolant selection (discussed in the previous section) the interpolation error is an order of magnitude smaller that the traditional error contribution – meaning that the multi-rate method shares the traditional method’s stability properties. The stability of traditional

‘ ½Æ ¼

order Adams PC pairs has been studied exhaustively in the

literature, see for example [8]. The stability characteristics of Adams methods are known to be excellent, though they are not absolutely stable (i.e. not stable for arbitrarily large step sizes) and hence not suitable for stiff problems.

6.4

Efficiency

While stability and accuracy are necessary conditions for using a numerical technique, they are not sufficient. Recall that the motivation for introducing multirate methods in robotics was to increase the efficiency of the simulation. Despite the fact that larger step sizes can be used, the multirate simulation techniques is not always more efficient than traditional techniques since there is some overhead associated with constructing and evaluating the interpolation polynomials. The primary virtue of taking large steps is that total the number integration steps, and hence the total number of times the right hand side of the differential equation needs to be evaluated is minimized. A 123

similar trade-off was explored for the algorithm in Chapter 5 using a probabilistic model. Not surprisingly, the amount of computation that is saved using a multirate method will depend of how expensive it is to evaluate the right hand side as compared with the cost of constructing and evaluating the interpolating polynomial. This becomes apparent in the following analysis. Although one could elect to use a probabilistic model to predict performance, in this case we elect not to because there are simply too many parameters to assume. The assumption that each of the subsystems evolves over distinctly different time scales implies that each system’s model would have a nonuniform distribution, each with a different mean. Since it is impossible to select means that would be representative of every problem we instead derive a model for the efficiency under some conservative assumptions, merely to illustrate how the overall efficiency depends on various factors and then test the efficiency experimentally on an example problem. For the purpose of illustration we make a number of simplifying assumptions here. We assume the step size is fixed with respect to time, that the right hand sides of each of the subsystems (

i y ›œœœ i Ü ), are equally expensive to evaluate, and that the difference in step sizes in the various

levels of the hierarchy in the modular simulation is constant (namely the step size at any given level is twice the size of the step size being used one level below and half that of one level above). In the traditional simulation, all components are integrated using the maximum acceptable step

Ž

size for the fastest component, . We assume that

Ý

is the total number of steps of size

Ž

needed

to complete the simulation. Referring to Figure 6.3, and ignoring minor overhead and the irregularities introduced in the start up process, the most expensive steps required to simulate one component through one step

Ž

(associated computational costs denoted in parenthesis) are:

Þ

predict (

Þ

evaluate the right hand side (

Þ

correct (

Þ

reevaluate right hand side (

ß ‹ ß ‹

);

àGáNâ

);

); and

àGáãâ

). 124

If there are

ä

subsystems the total computations to complete the simulation are

ä  Ý # å o Gà áã⠆ ß ‹Ft.

(6.11)

For the multirate simulator, assume that the fastest component is integrated at the same rate as

Ž

in the global simulator, , and that at each higher level the step size is double that of the previous.

Ì

ä

For convenience we label the fastest component as level- and the slowest as level- . Component

n

is then simulated with step size of

the simulation is

Ýêé å æ h w*y–è .

åçæ h w*y–è Ž

n

, and the number of steps taken at level to complete

Referring to Figure 6.4, at each step at level

n

for the multirate simulator all the steps of

traditional method listed above are computed in addition to

Þ

evaluating the interpolation polynomials of the (n-i) slower variables (

Þ

generating the interpolation coefficients (

‹êì

ßFë

); and

).

So the total computation is

žÜ Ì Ý    å æ h w*y–è o å o àGáN⠆ ß ‹Ftí†îo ä  n t ßFë †,‹êìFt (6.12) y h We are interested in computing the speed up ratio, â , which reflects how much faster (or

slower) the multirate simulation is vs. the global simulation. It is computed by dividing the computational cost required to simulate a given system with the multirate technique by the cost of the traditional simulation. A small value of

â

implies a great efficiency gain is possible with

multirate simulation. Dividing Eq.(6.12) by Eq.(6.11), and simplifying gives

† ï ¶ o àGáã⠋Ԇì ß ‹Ft †ðïÅñ o àGáãâ ßFë† ß ‹êt  â z=ï y L with

y w*y yÜw¶ å  å  ã + ÷ † ä ¶ f ò ïy z ï¶ ô z óf¶ õ ïÅñöz åä ¶ ä

each of the coefficients is strictly a function of the number of subsystems sizes across the hierarchy (in this case assumed to be 125

ä

(6.13)

and the ratio of step

å Ü *w y t ; While the terms they multiply are

specific to both the implementation and the particular set of ODE being integrated (

àGáNâ

). The

first terms reflects the gain in speed based simply on the fact that less steps are taken with the modular simulation algorithm. This gain increases (

ïy

decreases)

drastically as the number of subsystems increases. The final two terms reflect the fact that interpolants are used for off-mesh point. In these terms

ï¶

and

ïÅñ

are multiplied by the ratios of

the cost of generating or evaluating the polynomials versus performing the integration. So

â

is

largely dependent on how expensive it is to compute the right hand side of the subsystems.

6.5

Implementation and experiments

ø ½¼

The algorithm has been implemented in Matlab, using a Æ

order PC pair. It supports automatic

step size selection, both across time and across levels of the hierarchy, to monitor and control truncation error to a user defined tolerance as the simulation proceeds. The user may specify groups of variables, called subsystems, that should be computed at the same rate. In our implementation with

ø ½¼

a Æ

order Adams method:

‹ÔìùŠ^÷ ú

flops (floating point operations);

ß ‹ùzûÌ~Ì ; ßFë zîü

flops.

Figure 6.5 shows the predicted efficiency of the method calculated with Eq.(6.13), as a function of the complexity of evaluating the right hand sides of ode’s (

àGáãâ

ý ÷

Note that the point at which the multirate simulation becomes faster (when (15-25 flops per

àGáNâ

ø

) for , , and level hierarchies.

â Ö Ì ), is low enough

) that many robotic systems will fall in that category. For example, systems

controlled using feedback linearization require inverting a matrix ( require computing inverse kinematics ( body contact models (

àGáã⠊4÷ ú ), systems which

àGáã⠊ å ú~ú ), or systems which require computing rigid

àGáã⠊ å ú~ú~ú ). Observe that the benefits of multirate simulation become

more pronounced as the number of subsystems increases. It also should be mentioned that, while

å

the ratio of step sizes of neighboring levels in the hierarchy used to compute Figure 6.5 is , the efficiency gain increases as this ratio increases. The hierarchical control of a differential drive cart-like robot was used as a test example, Figure 6.6, shows the results of simulating this system with the tool presented in this paper. The 126

o g ›fþt

coordinates of the various subsystem are plotted. Input-output linearization techniques

were used to design standard controllers for the system. The desired path (level-1) is an arc and the controller successfully calculates wheel velocities at level-2 and wheel torques at level-3 to track this path. In addition we also added a fourth level of in the hierarchy which models a second dynamic cart attempting to follow the first cart at a prespecified distance. In this particular case we compared the performance of our (nonoptimized) code vs. that of a popular built in Matlab ode solver(ode45). Both solvers were executed with the same error tolerances. The multirate code required only 27 % of the number of floating point operations used by the built-in solver (about 4 times faster). Figure 6.7 shows the frequency with which the multirate algorithm integrates the various levels in the hierarchy. As expected the first level in the hierarchy

Ž y Š4úQ ÿ ) while the lowest level is integrated with a much  smaller step size to capture the fast changing dynamics ( Ž Š=úQ[úÌ ø ). These step sizes are selected is integrated with a large steps size (

dynamically to maintain a desired level of the estimated integration error while maximizing the efficiency of the simulation. Recall that in the traditional simulation all components would have been integrated with a global step size corresponding to the fastest component (

ޤŠ4úQ[úÌ ø ).

In

general the speed up factor is a function of several parameters, especially the desired integration accuracy. Figure 6.8 depicts this relationship. In this particular example the efficiency gain is more dramatic than the conservative estimate indicates in Figure 6.5. This is because, while the analysis was performed assuming the ratio of step sizes used in neighboring layers in the hierarchy was two, this particular example permitted ratios as high as 8. Notice that the benefits of multirate simulation increase as the error tolerances become tighter.

6.6

Conclusions

In this chapter we have introduced multirate predictor corrector techniques as a tool for simulating robotic systems which inherently posses multiple time scales. The method is shown to have accuracy on the same order as that of the traditional predictor-corrector pair and the same stability 127

properties, for the class of systems discussed here. The efficiency analysis indicates that a significant reduction (a conservative analysis indicates 30-80 % for some representative systems) of computation time is possible, when the underlying system to be integrated is sufficiently complex. Indeed even in the relatively simple example of a mobile robot, solved in Section 6.5, 73 % fewer computations were used. Other robotic systems could potentially benefit from this type of simulation. For example, in compliant contact models for rigid body simulation the compliant contact point represents the fast dynamics while the gross motion is comparatively slow. Hierarchically abstracted systems such as the one presented in [36] bear an obvious connection. This may be particularly useful in underwater undulatory locomotion systems, as indicated in [49], whose most detailed dynamic models may even require fluid flow solvers making them very expensive to evaluate.

128

Initial Conditions

Initialize

Predictor

Eval. RHS

Reduce h

Corrector Estimate Error Compute new h based on error Error acceptable? NO YES Eval. RHS

Store Results

Figure 6.3: A flow chart of the traditional Predictor-Corrector numerical integration algorithm.

129

Initial Conditions

Initialize

Select slowest Subsystem: x_{i}

Predictor Eval. Interpolants for x1, ...x_{i-1} Eval. RHS

Reduce h_{i}

Corrector Estimate Error Compute new h_{i} based on error Error acceptable? NO YES Eval. RHS Construct Interp. for x_{i}

Store Results

Figure 6.4: A flow chart of the multirate Predictor-Corrector numerical integration algorithm.

130

1.2

1

Efficiency

0.8

3−Level

0.6

4−Level 5−Level

0.4

0.2

0

50

100

150

200

250

300

350

400

450

500

FLOPS for RHS

Figure 6.5: Efficiency gain as a function of the cost of evaluating the right hand side.

0.4

Follower robot

Nonholonomic kinematic cart

0.2

0

Y

Full dynamic model −0.2

Desired trajectory (unconstrained system) −0.4

−0.6

−0.5

0

0.5

1

X

o g ›fþat

Figure 6.6: Simulation results for the hierarchically controlled cart. The coordinates are plotted at each level. The multirate simulation algorithm requires only 39 % of the computation time used by the Matlab built in integration scheme ode45.

131

Level in hierarchy

4

3

2

1

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

Time

Figure 6.7: Illustration of the frequency with which the different levels in the hierarchy are integrated. The step size used for the first level is approximately 0.6, while the step size for the lowest level is 0.015. The step size is selected automatically to maintain the estimated errors at a desired level while seeking maximum efficiency.

0.36

0.34

Efficeincy Ratio

0.32

0.3

0.28

0.26

0.24

0.22 −8 10

−7

10

−6

−5

10 10 Relative accuracy

−4

10

−3

10

Figure 6.8: Experimental results for the mobile robot example problem on the efficiency gain of the multirate technique as a function of the desired integration tolerance.

132

Chapter 7

A hybrid system framework for reactive motion planning This chapter departs from the simulation work described in earlier chapters. It describes a framework for reactive motion planning for mobile robots in dynamic uncertain environments. In particular, it is concerned with high level control tasks which are posed as achieving several simpler control objectives in “parallel”, when one of the tasks at hand can be posed as a stabilization task (deliberative, “go-to-goal” type behaviors) and the remaining can be posed as reactive constraints – descriptions of what not to do. Such task descriptions often arise in robotics. For example a manipulation task might be phrased as: “Go to the goal configuration while avoiding obstacles; traveling in formation; and maintaining contact with the object”. The framework here is focused on developing reactive solutions to such tasks, rather than global ones, since the dynamics of these constraints are often dynamic and unpredictable. It is assumed that a basic set of simple controllers exists to accomplish each objective in isolation. The task of composing these simple controllers into a high level system whose collective dynamics satisfy the high level objective is addressed as a hybrid control system design problem. 133

The design is accomplished through a combination of sequential composition (i.e., mode switching) and parallel composition of the basic control laws. The topic of parallel composition requires delicate treatment so as to ensure the aggregate system behaves as expected.

7.1

Problem statement

Given a fully actuated, holonomic, kinematic robot



whose configuration is described by



.

(in later sections we will effect of relaxing this assumption), then, assuming the configuration space



is locally diffeomorphic to

à 

, the dynamics of



are



 z

, where

 Έ 

, the

space of all possible actuating inputs. We call the configuration velocity. Let

´ h   

, for

n z Ì›œœœ#›

, be the set of configuration space obstacles. We assume these

obstacles are known by the robot a priori. The free space

 z  h   y ´ h

represents the set

of all configurations which the robot can physically assume. Note that these obstacles are static, therefore their set descriptions are not functions of time. Other static constraints on the robot’s configuration, which may not represent physical objects, can also be modeled in this way. The deliberative objective of reaching the goal without hitting obstacles is not time dependent, therefore we refer to it as the static objective. It can be phrased as finding a function

 orq!t Ð 

as

q Ð

and



such that

 orq!t ŒÑ q ¬ úQ›  ® . We refer to this stabilization objective as 

. Note

that this is the basic motion planning problem. Let

ì Ÿ ,  z Ì›œœœx›

be a collection of sets in



which the robot should not enter. Unlike

the deliberative objective these objectives may change with time and are therefore referred to as dynamics or reactive constraints. These sets can be described as

Ÿ o  ›fq!t"!,ú . We assume the robot

has no knowledge of the time-dependence of these constraints, but is equipped with sensors which enable it to measure for

 z Ì›œœœ#›

and either



be referred to as

or

Ÿ.

×× Æ

online. Let the objective of satisfying each

$  such Ÿ o  orq!t.›fqft#!=ú , 'Ñ  z¿Ì›œœœ( , Ñ q L¬ úQ›  ® . Simply

The reactive motion planning problem can then be stated as follows. Find an input that

 orq!t Ð %

as

q Ð&

and

 orqft 

and

Ÿ o  ›fq!t#!^ú

134

put the goal is to design a controller to solve the basic motion planning problem while complying with the dynamic constraints

y ›œœœ#› l

. An input which achieves this is referred to as a nominal

solution to the reactive motion planning problem. In some situations it may turn out that some of these objectives are mutually exclusive in which case no nominal solution exists. In such a case some objectives must be discarded. To facilitate this we assume that the robot has been assigned some priority to the various objectives. This priority enables one to order the objectives

7.2

) › y ›œœœx› ~l

from most critical to least critical.

Discussion

In all cases considered in this work, the static objective will be a “go-to-goal” task. Typically the dynamic constraints could represent moving obstacles such as humans or other robots, but could also represent a wide variety of other criteria. Other examples would include maintaining proximity to teammates so as to stay within the range of a wireless communication system, maintaining line of sight with a target, traveling in formation, or maintaining force or form closure with an object. A special case of the constraints would be when

× +Æ * z=ú . This represents static constraints ×

which were not accounted for in advance. The approach presented here is an attempt to bridge the gap between traditional algorithmically complete path planning, which have performance guarantees but lack robustness, and reactive or “behavioral” approaches, which are robust but lack performance guarantees. Note that the dynamic problem is different from optimal control approaches to motion planning because the dynamics of the constraints are completely unpredictable and must be sensed on-line. However, a differential game approach would yield a solution to the problem. Unfortunately such approaches tend to be intractable for all but the most simple constraints. Instead, we chose to solve this dynamic motion planning problem using a reactive hybrid control system, meaning that we assume the robot has already computed a nominal motion plan for the static scene and seeks to locally modify that motion in an on-line fashion, in response to unpredictable changes 135

in the environment. The motivation for this approach is: (1) global re-planning is expensive and therefore one would like to rely on reactive solutions whenever possible without sacrificing completeness; and (2) since the robot has no prior knowledge of the time-dependence of the constraints it would be impossible to account for them up front.

7.3

Approach

With regard to the static problem we choose to base our methodology on Navigation functions [78] because they represent an algorithmically complete closed loop solution to the planning problem. Typically, the robot’s input



is selected such that

 z -, )

, which causes the robot to reach

the goal and halt while avoiding obstacles (and hence represents what we call a solution to the static planning problem). We assume that navigation function constructed by taking into account

´ h . The navigation function ) o  t is defined such that by using the controller /.+z 0, ) o  t.› (7.1) the system  z1 /. , will satisfy  orqft Ð % as q Ð2 and  orq!t  ,Ñ q . an initial map of

With regard to the rective objectives, each reactive objective can be satisfied in isolation by selecting

Since



such that

ŸÔÖ ú

(7.2)

Ÿ  † q (7.3) ² ² ² ² the controller Ÿ Ÿ 3* zop΋ y  ‹ ¶ q t ¬  ® (7.4) ² ² ² the initial condition satisfies the forces the system  z4 to satisfy Ÿ o  orq!t.›fqft657úQ› Ñ q ² , provided +* constraint Ÿ o ú?t"!,ú and the constants ‹ y 5,ú and ‹ z Ì é o87 × 7 ¶ t . ¶ ×9

Ÿ z

Ÿ

In light of these two observations, we have a controller which satisfies the static objectives, as well as a set of controller which satisfies each of the reactive objectives in isolation. The problem 136

remains how to achieve more that one objective simultaneously using either one of the two control modes mentioned above in sequence or some new mode which represents a parallel composition of these two basic modes. The key observation which we exploit to solve the above problem is that

) o  t , which solve the static problem, are actually Lyapunov functions. The traditional selection of such that  z 0, ) is not the only input capable of rendering ) !7ú ; there is in fact a uncountable set of such inputs. We exploit this freedom in choosing to satisfy

Navigation functions,

the additional dynamic constraints whenever required.

7.4

Parallel control law composition

Before describing our overall hybrid controller we address the issue of creating more sophisticated control laws through the composition of simpler ones. It has been observed in Section 3.2 that there are two ways of composing feedback laws. One approach is sequential composition. Mode switching would be considered sequential composition since feedback laws are applied in a mutually exclusive fashion in some particular sequence, implicitly determined by both the switching logic and the continuous dynamics. On the other hand the concept of parallel composition is much more nebulous. The word parallel implies that in someway two control laws are used concurrently to produce an entirely new control law. Naive approaches would include simply taking the weighted sum of the two constituent vector fields or perhaps some suitable product of the two inputs. However it can be easily shown that if the weights are not chosen with care, the summation of two inputs can easily produce an input which satisfies neither objective. It is important to note that our discussion addresses local composition. We do not consider a global control law redesign. In this chapter we present what is, in our opinion, the only existing principled approach to local parallel composition. First we derive the set of possible control inputs, based on

/.

which can

accomplish the “go-to-goal” behavior. Borrowing terminology from the numerical optimization literature, we call this the set of stabilizing directions. We then describe the set of control inputs, 137

based on

3* , which satisfies the constraints – the set of usable directions.

Ultimately it is the

inputs which lie in the intersection of these two sets, the set of feasible directions, which will satisfy all the task objectives. The only meaningful, and correct, parallel composition of multiple constituent control inputs lies in the set of feasible directions. The set of feasible directions is essentially the set of all vector fields for which decrease both

7.4.1

and

Ÿ.

Stabilizing directions

As mentioned earlier we assume that a Navigation function, the static problem (i.e., a function that steers the robot to ically, the robot’s input

)

)



is selected such that

 z: /.



)

has been constructed which solves while avoiding

where

;.>zd-, )

´ y ›œœœ#›.´Îl

). Typ-

. Due to the nature of

, this causes the robot to reach the goal and halt while avoiding obstacles. Navigation Functions

 z< ;. , because ) o  t is positive definite by construction and, by definition of the control policy, the value of ) is always decreasing along

can be though of as Lyapunov functions for the system

system trajectories

) z=, )  . z 0, )  , ) Ö úQ

(7.5)

It is apparent however that this control policy is not unique – any control policy which renders

) z -, )   Ö ú

also solves the planning problem. This fact is observed in [50] and in [28]; the

set of all input vectors which decrease some cost-to-go function is termed the “cone of progress”. However in both of these contexts the fact is used passively to address sensor uncertainty. Here however we wish to actually construct a parameterized set of directions which solve the static planning problem. We define this set as

â z ˜ ?> , )  Ö úQ›@ $ £ Proposition – If

AŒà Ü

(7.6)

, define mutually perpendicular vector fields

Ì›œœœ › ä ùÌ , which are also everywhere perpendicular to /.ço  t . vectors has been normalized and is of unit length. See Figure 7.1. 138

¬ ;. o  t­®ChB

, where

n z

Further assume each of these

EDEDED DEDEDE DEEDED DEDEDE EDEDED DEDEDE EDEDED DEDEDE EDEDED DEDEDE EDEEDD DEEDDE EDED DEDE

Perp(V)1

Perp(V)2

EDEDED DEDEDE DEEDED DEDEDE EDEDED DEDEDE EDEDED DEDEDE EDEDED DEDEDE EDEEDD DEEDDE EDED DEDE

EDEDED DEEDED

V=const

EDEDED EDEDED EDEDED EDEEDD EDED

-Grad(V)

/.>zd0, ) , and ¬ ;.“® B z ¬ -, ) ® B ) o t.

Figure 7.1: An illustration of the vectors also decreases vector in the same half plane as

;.

in

à ñ . Any input

â

Then the set, , of control laws

ܞ w*y â z ˜ zop̹   F h ¶ t Hy G ¶ ;.A† h y

ܞ w*y Ü w*y F ¬ ;.“® B > ž F ¶ !ŒÌ›@ I £ h h  y h h  y h also solves the static planning problem; and the function for , parameterized by F all the directions in â is denoted by ;J . K The set of vector fields space as

0, )

LJUo  t

(7.7) which generate

represents all the vectors which lie in the same half-tangent

. To prove the proposition we show the robot: (1) reaches the goal; and, (2) does

not hit any obstacles. First we prove that

 Ð % :

) o  t serves as a common Lyapunov function for the equation  zM ;JUo  t regardless of the values of F since h ܞ w*y ܞ w*y H y G F ) z , )  opÔo   h ¶ ÕÌ#t ¶ ;.A†   F h ¬ /.œ® hB t y h y ܞ w*hy yHG z ÔopÌö   F h ¶ t ¶ , ) o  t  , ) o  t Ö ú h y * w y Ü provided N   y F ¶ !ŒÌ . Note that the new control law is free of local minima since the ) zîú iff h h  z   by definition of the navigation function. K To show that the robot does no «â contacts the obstacles: Proof 2: If the obstacles are defined by a closed surface ‹ let ä — o ‹Ôt be the unit normal pointing Proof 1: Observe that

toward the interior of the free space. Then proving that the robot does not hit the obstacles is 139

equivalent to proving

  äI— O ú

z LJUo  t

 1 ܞ w*y yHG

 z ofopÌö   F h ¶ t ¶ /.A† h y using

ܞ w*y F  h y h ¬ ;.œ® hB t  ä — 

(7.8)

;.

Recall that navigation functions are uniformly maximal on the boundary of the free space, so

;.  ä — o  tQ5,ú and .B  ä — o  t}z=ú . Therefore Eq.(7.8) becomes ܞ w*y yHG op̹   F h ¶ t ¶ oR ;.  ä — t O Qú  h y K Thus all controllers in the set J solve the static planning problem. w*y Finally we add that since the set of stabilizing inputs â z ˜ ;JUo  t%> N    y F ¶ !cÌ £ results in h h a set of closed loop systems which share ) o  t as a common Lyapunov function, it can be shown is parallel to

ä — o ‹Ôt

for all

P ‹

, so

(see [66]) that a system whose right hand side switches between these inputs is also stabilizing, regardless of the nature of the switching sequence since every direction in the set decreases This implies that we are free to choose the values of

F

)

.

online, in a possibly discontinuous or time

varying fashion, without affecting the overall stability of the system (with respect to

% ) or the

completeness of the solution.

7.4.2

Usable directions

Once a reactive constraint becomes active,

ŸêÖ ú . The time derivative of Ÿ

Ÿ O ú , our goal is to select an input which makes

is conveniently expressed as the sum of two quantities:

Ÿ

Ÿ  †  (7.10) ²  ² q ² ² the first term represents the robot’s own influence on Ÿ and is assumed to be known; the second represents the dynamic nature of Ÿ and must be either sensed online or some assumptions must

Ÿ o  orq!t.›fqft‡z

be placed on its value. We assume the robot has an expression for

Ÿ

and is equipped with sensor enabling it to

measure its value online. In this work we only consider what are referred to in the optimal control 140

literature as first order constraints, that is constraints for which

S ú ÑT ; although the extension × +* z= ×9

for higher order constraints is straightforward. Therefore the Usable set of directions,

U

‹

is described by

Ÿ Ö  C † úQ›@ $ £  (7.11) ²  ² q#V ² ² One can construct an explicit parameterized description of ‹ in much the same way as was done for â . ‹7z ˜ ? >

7.4.3

Ÿ

Feasible directions

Finally, tangent directions which are consistent with both the stabilization criteria and the constraints are termed the set of feasible inputs.

W z ˜ X>  o âZY ‹Ôt £ that is,

W

represents all choices of



(7.12)

such that

Ÿ Ÿ W z ˜ ?> )   !ÕúQ› Ÿ z  C† q !,úQ›@ [ £ ² ² ² ² ² ²

Geometric insight behind the problem can be gained from recognizing that the defines a cone,

ïŸ

]\ ¼

inequality

(or the complement of a cone) with its apex at the origin in the tangent space

of the body fixed frame; while the set of vectors

â z ˜ ;JT>@N Üh   w*y y F h ¶ Ö Ì £

à ¶. z ` It should be said that if â_^1 z â_^ ï y ^ œœ ^ ï Ÿ 4

defines a half space.

Figures 7.2-7.3 illustrate this in

there is no input that can simultane-

ously solve both the static planning problem and satisfy the reactive constraints. If the cone is not empty, an infinite number of solutions exist. We defer the discussion of how to actually compute vectors

 W

to Section 7.6, however for now several observations can be made. For the sake of

clarity we illustrate these observations for the case of a single constraint with no time dependence (i.e.,

× ×  \ õ zîú )

141

-Grad(V)

Feasible Half Plane

V=const

Figure 7.2: In the absence of constraints, the set of feasible directions is the half plane containing .

-, )

-Grad(V)

Feasible Space Grad(G1)

V=const

y

Figure 7.3: The addition of a constraint, , with no time dependence further constrains the set of and . directions to the intersection of the half spaces containing

If lie in

W

/.   õ O ú

computing a vector in

W

0, )

, y

is trivial. Any convex combination of

;.

and

will

.

W z ˜ zˆop̹ba€tH ;.†cad  > ú Ö a Ö Ì £  õ If



a zùú , for example, «z= /.

and the system will go the goal quickly; if

(7.14)

a zcÌ , «z Ÿ

and the

system decreases the constraint more rapidly.

/.  3* Ö ú , a solution does exist, but it does not lie in the convex hull. W In such a case one is free to use some optimization criteria to select which member of is most If on the other hand

142

e_fhg

desirable. For example

ikjml ¬&i o  @› t  0, ) ® 7 n7-!A ;oqpsr 

(7.15) (7.16)

Note that Eq.(7.15) restricts ’s magnitude to ensure that the objective function is bounded (perhaps dictated by

t

). In this case determining a vector in

W

can be phrased as a quadratic or



linear program (depending on the norm used to bound the magnitude of ).

.  ;3* Ö ú

y

> .  ;3*u>Uzv> . >  > ; õ > ). W . and y . By selecting values of In this situation, is actually a hyperplane normal to both / in this plane, both ) and y remain constant, as the system “slides” on this hyper-surface. There is an apparent similarity between this controller which forces the system to evolve on a w ŒÌ A special case of

is when

.

and

are anti-parallel (

dimensional manifold and true sliding mode control; however the two should not be confused. In sliding mode control the goal is to stabilize the system to this surface; where as in our case, stabilization is not the goal per se – the system may or may not return to this surface if perturbed depending on the overall state of the controller. This surface is important because it coincides with the level surfaces of

Ÿ

and

)

, and vectors tangent to this surface represent the only viable

motion directions if neither constraint is to be increased.. This special case is worth mentioning for several reasons. 1. The numerical optimization method discussed later is not guaranteed to produce a vector which lies exactly on this plane, therefore post-processing is required. 2. In practice it is impossible to force the system to “slide” on this surface. A chattering phenomena will occur and it is possible that the constraints may be violated by a small margin during the chattering. 3. Even in the ideal case where the sliding controller is perfectly implemented, both

)

and

Ÿ

are merely remaining constant rather than decreasing. Therefore a system which stays in a sliding more indefinitely is only marginally stable with respect to 143

)

and

Ÿ.

Finally, it should be noted that, in this case, if only one objective was considered, one could merely use the given control laws

W

;.

or

 . If two objectives are considered simultaneously, then

is never empty. The sliding solution represents the limiting case. Therefore if the number of

å

objectives is less than or equal to a solution always exists. Finally if three or more objectives are considered it is possible that no solution exists. However if

× 3\ * 5 ú ×

the existence of a solution in

general depends on the nature of the bounds on the input vectors. The optimization method can be used to determine this.

7.5

Control architecture

The goal is to design a hybrid automata which will solve the reactive motion planning problem. In this section we outline all of the system’s modes, including the control laws used in each, the guards which enable transitions between them as well as their connectivity. The basic system modes consist of the Static Objective Mode which is active when no constraints are active; a Superposition Mode when one or more constraints are active however a suitable input can be computed as the convex hull of

/.

and the

Ÿ ’s; a Parallel Mode in which  W

does not lie in

the convex hull of the vectors given by the basic controllers; and finally a Sliding Mode in which at least two of the objectives being considered are anti-parallel and hence a special solution is required. First we must determine a reactive condition which determines which

Ÿ ’s should be taken

into account at any given time. Since the reactive constraints are unpredictable in nature we do not always take them into account. As an objective measure of when to react to changes in the environment we introduce a quantity (

Ÿ o  orqft.›fq!tTzîú

)

x qŸ

which is an estimate of the time to constraint activation

Ÿ x q Ÿ z  Ÿ o  o  orqfort.qft.›fq!›fq!t t

(7.17)

This quantity also encodes information about the kinematics of the robot. Small positive values of

x qŸ

imply that a constraint activation is impending; while negative values (moving away from the 144

Ÿ zûú ) or large positive values are not a cause for concern. Thus if ú Ö x q ŸCÖzyfŸ , Ÿ is added to the list of active constraints, where yfŸ is some predetermine constant termed the look ahead time. Of course there are no hard and fast rules for selecting yfŸ , however the top speed

level surface

of the robot and its maximum sensor range help determine “natural” values. Throughout the ensuing discussion of the constituent control modes, the reader is referred to Figure 7.4 which depicts the overall architecture of the control system.

add/rem. Constr. No Constr!

mode: stablize Inv : g j < 0, ∀j

mode: superposition Inv : (uv • u g j ) > 0, ∀j ∈ P



Flow :q = uv

(uv • u g j ) > 0

Flow :q} = (1 − α )uv + αu g j

No Constr!

(uv • u g j ) > 0

No Constr!

mode: slide Inv : ∃j ∈ P, | uv • u g j |=| uv | ⋅ | u g j |

~

uv || u g j

Flow :q = u slide

add/rem. Constr.

(uv • u g j ) < 0

(uv • u g j ) < 0

uv || u g j

infeasible! rem. constr.

mode: parallel Inv : (uv • u g j ) < 0, ∀j ∈ P

|

Flow :q = U para (uv ,u g1 , { , u g P )

(uv • u g j ) < 0 add/rem. Constr.

infeasible! rem. constr.

Figure 7.4: A graphical representation of the resulting Hybrid Automata. The connectivity of the modes can be understood from this diagram.

7.5.1

Deliberative Objective Mode

In this mode none of the reactive objectives are considered active and the system simply implements the deliberative or static control law

/. , in which the robot attempts to travel to the goal

configuration, using its internal map, without colliding with known obstacles. Specifically, the 145

mode could be described as

€ nH ï.¾ k q k â sq ‚çq k„ƒ  z Ì W ҆…ˆ‡ ƒ

 z1 ;.?›X ;. z ׊‰ ×9æ 9 è ‹ äŒZƒ o ú Ox q Ÿ Œt Žão x q Ÿ O yfŸ t.› Ñ' z Ì›œœœx›

(7.18)

5 ú?t.› â ´# … ⠑ ƒ ’]_ ß > o ú Ö x q Ÿ dt “ão x q ŸG֍yfŸ td“ãoR /.  Ÿ ,

â ´# …ß ‚ç¾ ƒ”’kZ ß > o ú Ö x q Ÿ tŒ“ão x q ŸF֍yfŸ tŒ“ãoR ;.  ŸÔÖ ú?t.› â ´# …~â9ÒMnH•çk6ƒ”’k– ß > o ú Ö x q Ÿ Œt “ão x q ŸF֍yfŸ tŒ“ão> ;.  Ÿ ~> z—> ;.˜>  > Ÿ &> t The system remains in this mode so long as no constraints become active. Once a constraint becomes active it may transition to either the Superposition Mode if Mode if

oR ;.  ŸÔÖ ú?t ; or the Sliding Mode if o> ;.  Ÿ > z™> ;.š>  > Ÿ &> t .

7.5.2

Superposition Mode

In this mode, some set of constraints, combination of

.

and

Ÿ › › ß

ß

, are active however



oR /.  Ÿ 5cú?t ; the Parallel

oR /.  Ÿ 5Õú?t.› ј ß

so any convex

will achieve all the objectives.

€ nH  k q kxâ sq ‚çq k6ƒ W ҆…ˆ‡ ƒ

 z å

 z1 /œ œ zop̹N Ÿ jhž a Ÿ tH . †Aa Ÿ Ÿ ‹ äŒZƒ o ú Ö x q Ÿ td“ão x q ŸGÖMyfŸ t.› Ñ'– ß

u “³o ú OMx q Á Œt Žão x q Á O Åy Á .t › Ñjҟ ß “¹oR ;.  Ÿ t O ú јZ ß 146

(7.19)

â ]; … â ´ ƒ o ú Ox q Ÿ dt Ž$o x q Ÿ O fy Ÿ .t › јZ ß â ‘L …ß ‚ç¾ ƒ”’kZ ß > oR /.  ŸÔÖ ú?t ⠑L … â€Òrn •çk6ƒ¡’kZ ß > o> ;.  Ÿ >~z™> ;.š>  > Ÿ >&t â ]L … ⠑ ƒ¢’Ò£ ß u > o ú Ö x q Á tŒ“ão x à ‚Wƒ!ƒ ƒ ß o ú Ox q Ÿ tdŽNo x à |f•–{ ¥ . • ƒ?ß  > Ÿ >&t ß ‚?¾h …ß ‚ç¾ ƒ¢’QÒ? ß u > o ú Ö x q Á tŒ“ão x q ÁÖyÅÁ t.› à ‚Wƒ!ƒ ƒ ß o ú Ox q Ÿ tŒŽão x q Ÿ O yfŸ t à |f•­{ ¥ . • ƒ ß4¤ ß   äd… â?…Ò W ‚ Òª z^q–¾m k à Ü ¥@«?¥ Á ƒ?ß ;.  Us˜>~z—> ;.˜>  > Us˜>

â€Òrn • k  … â ´ ƒ o ú Ox q Ÿ dt ŽNo x q Ÿ O fy Ÿ .t › Ñ'Z ß â€Òrn •çk  … â ] ƒ oR /.  Ÿ O ú?t.› Ñ'› ß â€Òrn •çk  …ß ‚ç¾ ƒ”’   ß oR ;.  ŸGÖ ú?t.›8“¹o> ;.  Ÿ >š! > ;.'>  > Ÿ &> t.› Ñ'_ ß â€Òrn •çk  … â€Òrn •çk°ƒ’QÒ£ ß u > o ú Ö x q Á td“No x q ÁíÖcyÅÁ t.› à ‚.ƒ!ƒ ƒ ß4¤ ß † Ò ’kZ ß > o ú Ox q Ÿ t§Žão x q Ÿ O y Ÿ t à |p•–{ ¥ . • ƒ?ß  y > é o  ¶y †  ¶¶ t . As is the case for Navigation functions,

various coordinate transformations are used to create a field which steers the system around stationary obstacles. Using this methodology, potential fields can be built for nonholonomic systems in static environments which share many of the completeness properties of Navigation Functions. This idea is developed further in [89] where an associated controller is introduced that, in the

¾

case of a kinnematic cart-like system, stabilizes so that the nonholonomic system is able to track the gradient direction. This controller is developed through a backstepping approach, by looking at how a holonomic system would move under the influence of the dipolar field and then deriving a controller for the nonholonomic system which would mimic the trajectory of the holonomic system. This approach is approximate in that, because the underlying controller will have a transient period and may not have a zero steady state error, the nonholonomic system will not mimic the underactuated system precisely at all times. In theory it is always a possible to mimic the ideal trajectory of the holonomic system by having high enough gains and a large enough lookahead 156

time but it is difficult to actually select these values since they are problem dependent. During those intervals where there is a tracking error it is possible that some of the constraints could be violated. Never-the-less, this approach may prove to be a acceptable solution in practice depending on the application. 1.2

1.2

Start

Start

1

1

0.8

0.8

Unmodeled Obstacle

Unmodeled Obstacle

0.6

0.6

0.4

0.4

0.2

0.2

0

0

−0.2

−0.2

−0.4

−0.4

−0.6

−2

−0.6

−1.8

−1.6

−1.4

−1.2

−1

−0.8

−0.6

−0.4

−0.2

0

−2

−1.8

−1.6

−1.4

−1.2

−1

−0.8

−0.6

−0.4

−0.2

0

Figure 7.7: (L) The robots nominal trajectory would cause it to bump into the unmodeled obstacle (dark circle). (R) The dynamic planning methodology enables the robot to steer around the unexpected obstacle on-the-fly.

This idea was tested in simulation, the results of which are shown in Figure 7.7. In the scenario depicted there, a unicycle type robot with the kinematic model

¿ÀÀ

ÂÄÃ ÀÀÁ g ÃÃÃ þ Å z ¾

¿ÀÀ ³± ² ÂÄÃà ÀÀÁZÆÈÇ]É ¾ ÃÃ É ¾ Å  † ú

¿ÀÀ

ÂÄà ÀÀÁ ú ÃÃà ú Å–Ê › Ì

(7.38)

has an initial map of the environment which does not contain any obstacles. It uses the dipolar potential field and controller from [89] as a static solution. The left frame of the figure shows that the nominal trajectory would have steered the robot on a collision course with an obstacle that is unmodeled initially but detected at run time. The right panel shows the trajectory of the robot using the methodology outlined in this paper, once the robot detects the obstacle it is able to steer around. The concentric circles in the figure are level sets of the potential field. One can see that at all points along the trajectory, the potential function is decreasing, thereby ensuring stability. 157

7.11

Conclusion

In this chapter, the problem of motion planning in environments with both known static obstacles and unpredictable dynamic constraints was considered. It was assumed that a set of basic control laws was given and a reactive approach to the dynamic motion planning problem was adopted. A hybrid control system was presented as a solution. When none of the active constraints are considered active, the system resides in a mode which simply guides the system according to the basic “go-to-goal” control law. Once constraints become active the system transitions to new modes which represent provably correct parallel compositions of the given set of basic control laws. The control directions give by parallel composition of two controllers are guaranteed to decrease both objectives simultaneously. Depending on certain geometric conditions (guards) on the objectives, various methods for computing vectors in this set are given. Each computation method represents a different mode. In the most general case synthesizing the new input directions requires a numerical optimization algorithm. Because the underlying optimization problem is always linear or quadratic it can be solved relatively inexpensively in a finite and predictable number of steps, when a solution exists. As long as a solution to the optimization problem exists, the overall correctness of the hybrid controller can be shown. If at any point in time the set of control directions given by the parallel composition criteria are empty, a flag is raised by the solution algorithm indicating that the underlying objective functions are unreconcilable and the completeness of the solution cannot be guaranteed. The effectiveness of this control approach was demonstrated on two dynamic planning examples. In the first example the robot was required to avoid other static and moving obstacles. The second involved traveling in formation with other robots, in the absence of explicit communication among them. In the first part of the chapter it is assumed that the robot’s dynamics take the form

 zv

.

Since the algorithm essentially consists of finding a velocity vector at every point along a trajectory which will decrease multiple objective functions, some discussion of the case where the system’s 158

dynamics are more restrictive was required. In any case where the system’s dynamics are full state linearizable the original control solution is applicable. In cases where that is not possible such as under-actuated and nonholonomic systems, the dynamics (and hence the velocity constraints) can be handled directly in the optimization algorithm as additional constraints; or an indirect approach can be adopted. The indirect approach consists of using an potential function suitable for nonholonomic systems along with a back stepping approach to control, in which the desired directions are computed and a controller is designed to force the nonholonomic system to track these velocities. Regardless of which solution is used, there are no longer any guarantees on the completeness of the solution when the system is nonholonomic.

159

Chapter 8

Conclusion 8.1

Summary

As the price-performance ratio of embedded processors increases and the size of chips decreases, more sophisticated paradigms for software based control have evolved. This trend is particularly evident in mobile robotics because these systems typically have significant onboard computing power, complex mission requirements and the need to process data coming from many types of sensors in real time. Accordingly, two increasingly popular design methodologies have emerged: modularity and hierarchy. Modularity involves designing many basic control laws (modes), possibly along with several plant models, and switching between them as needed to achieve more complicated control objectives. Hierarchy is used as a way to overcome model complexity. A series of increasingly detailed plant models are designed and different models are used for different phase of the planning and control process, with the goal being to maximize the trade-off between optimality and complexity. Systems designed using both of these concepts are referred to as Hierarchical Hybrid Systems. As mentioned earlier, this dissertation is concerned with two primary topics unified under the theme of complexity management in control system design and simulation. In the first part of the dissertation three novel numerical techniques for simulating Hierarchical 160

Hybrid Systems are introduced. The first of these techniques addresses the problem of detecting and locating discrete transitions (i.e., mode or model switches) which occur during the course of a simulation, especially switches which occur near a model singularity - an area in which all competing event detections methods fail. The remaining two simulation techniques introduced here seek to circumvent one of the major causes of computational bottle necks in large-scale simulations – the requirement that all differential equations in the system be simulated using a single global choice of step size. In one case differential equations with right hand sides that are partially coupled, without consideration of the mode switches, are considered. A multi-rate PredictorCorrector method is presented which can significantly reduce the computation time required for certain simulations. The third algorithm is concerned with simulating so-called multi-agent hybrid systems. These systems have decoupled sets of differential equations yet the inequalities which signal the mode switches are coupled. Here the challenge is properly detecting transitions when the numerical integration of the various differential equations is performed asynchronously using many local time clocks.

In the second part of the dissertation a framework for reactive motion planning and control of mobile robots is presented. It is our approach that reactive control and motion planning schemes for mobile robots are best modeled as Hybrid Systems. We assume a suite of low level controllers have been designed to accomplish basic tasks such as “Go-to-goal” or “Avoid-obstacle”. The problem is how to compose these controllers, either through designing a switching sequence or by synthesizing entirely new control modes, in such a way that the aggregate behavior of the system achieves all of the objectives simultaneously, or reports failure if it cannot. The numerical algorithm controller synthesis represents a rigorous approach to modular control law composition. 161

8.2

Contributions

Regarding the work presented here on simulation, it represents the first effort to introduce a comprehensive set of tools specifically developed to accommodate the special properties of Hierarchical Hybrid Systems, such as the presence of multiple time scales and mode switching. Specific contributions are listed below.

Þ

The introduction of the only known event detection method of capable of localizing discrete transitions occurring at or near model singularities encountered during the course of simulating a hybrid system. All existing methods fail because they attempt to interpolate through the singular region. The method is guaranteed to locate all events, including even numbers of events in a given integration step and events expressed as the boolean conjunction of inequalities, modulo the accuracy of the integration method itself. The computational cost of the method is only slightly more (at most

ËkÌ

more) than that of the best known event

Þ

detectors. This seems to be a reasonable price to pay for the marked increase in robustness. The only known general purpose algorithm for simulating multi-agent hybrid systems in an asynchronous fashion is introduced. The systems we are concerned with, such as teams of multiple mobile robots or automated highway vehicles, have decoupled continuous dynamics and coupled discrete dynamics. Asynchronous simulation permits the use of different step sizes for different agents, dramatically increasing the simulation’s efficiency, especially when the number of agents is large. Despite this asynchronicity, the algorithm meets the challenge of being able to correctly detect events when the discrete dynamics of the agents are coupled. It was shown that for certain representative problems the computation time increases proportional to the square of the total number of agents, in contrast to traditional simulation methods which scale exponentially with the number of agents, representing a

Þ

marked improvement over traditional algorithms. The first multi-rate Predictor-Corrector numerical integration scheme is introduced. It is 162

well suited to simulating hierarchical systems evolving on different time scales. Analysis of it accuracy and stability are shown to be comparable to that of the traditional method while it is significantly more efficient. The efficiency improvement over traditional algorithms increases when the cost of evaluating the continuous dynamics is large. From the point of view of motion planning, the contributions of this thesis are as follows.

Þ

The reactive motion planning problem is modeled in a hybrid system control synthesis framework which is capable of accommodating multiple unpredictable dynamic objective functions (e.g., “avoid-obstacle”, “follow-leader”) along with a primary deliberative (i.e.,“goto-goal”) objective. Using Lyapunov stability, conditions are derived under which a hybrid control system is guaranteed to meet all of the specified objectives.

Þ

A computational algorithm, based on the Method of Feasible Directions, which is capable of synthesizing such inputs numerically is presented. This algorithm essentially determines which low level controller the system should use at a given time, or, if needed, the algorithm synthesizes a new control mode which represents a rigorous approach to parallel control law composition. If it is impossible for the system to meet all the specifications simultaneously the algorithm reports failure rather than producing erroneous results.

8.3

Future work

As it becomes increasingly clear that progress toward general purpose automated symbolic analysis of hybrid systems is ultimately limited by results on the undecidability of such systems, numerical methods are playing an increasingly important role in automated analysis and verification of hybrid systems. Hopefully, the simulation methods here will provide the building blocks for the next generation of automated analysis tools for hybrid systems. One specific area which appears to have much potential is in exploring the possibility of implementing the asynchronous multi-agent simulation algorithm presented in Chapter 5 in a distributed 163

computing environment. Simulating each agent on a different processor could further reduce computation times for very large scale systems such as those envisioned by automated highway and automated air traffic control experts. One important capability would perhaps be the ability to dynamically partition the entire set of agents into groups of agents whose dynamics influence one another. This entire group could then be simulated on the same processor while other groups are simulated on other machines. This dynamic partitioning would reduce unnecessary overhead in communicating intermediate results between processors. The hybrid control framework for reactive planning seems to have much potential for designing controllers in cooperative multi-robot (i.e., multi-agent) tasks. Distributed manipulation is one example. Here the static planning problem is for several robots to orient a part in the plane. The reactive objective is to keep the object in either force or form closure while doing so. A major challenge is in designing each agent’s control strategy so that it is robust with respect to the failure of other agents.

164

Bibliography [1] Real-time motion planning using ratserizing computer graohics hardware, SIGGRAPH, Dallas, 1990. [2] A. G. A. Deshpande and L. Semenzato. Shift programming language and runtime system for dynamic networks of hybrid automata. California PATH, 1995. [3] A.Isidori. Nonlinear Control Systems. Springer, London, 1995. [4] J. Albus. The NIST real-time control system (RCS) an approach to intelligent systems research. Special Issue of the Journal of Experimental and Theoretical Artificial Intelligence, 9:157–174, 1997. [5] J. Andrus. Numerical solution of systems of ordinary differential equations separated into subsystems. SIAM Journal of unmerical analysis, 16(4):605–611, 1979. [6] I. M. A.R.C de Almedia and T.J.Ypma. Distributed-multirate methods for large weakly coupled differential systems. Applied Mathematics and Computation, 31:18–39, 1989. [7] R. Arkin. Behavior Based Robotics. The MIT Press, Cambridge, MA, 1998. [8] U. Ascher and L.Petzold.

Computer methods for ordinary differential equations and

differential-algebraic equations. Society for Industrial and Applied Mathematics, Philadelphia, PA, 1998. 165

[9] V. Bahl and A. Linninger. Modeling of continuous–discrete processes. In M. D. Benedetto and A. Sangiovanni-Vincentelli, editors, Hybrid Systems : Computation and Control, volume 2034 of Lecture Notes in Computer Science, pages 387–402. Springer Verlag, 2001. [10] L. D. Berkovitz. Variational methods in problems of control and programming. Journal of Mathematical Analysis and Applications, 3:145–169, 1961. [11] M. Branicky. Studies in Hybrid Systems: Modeling, Analysis and Control. PhD thesis, MIT, Cambridge, MA, 1995. [12] R. Brooks. A robust layered control system for a mobile robot. IEEE Journal of Robotics and Automation, RA - 2(1):14–23, March 1986. [13] Bryson and Ho. Applied Optimal Control. LOOK UP THE CORRECT INFO, London, 1971. [14] J. F. Canny. The complexity of robot motion planning. MIT Press, Cambridge, MA, 1988. [15] M. Carver. Efficient integration over discontinuities in ordinary differential equation simulations. Mathematics and Computers in Simulation, XX:190–196, 1978. [16] F. Cellier. Combined discrete/ continuous system simulation by use of digital computers: techniques and tools. PhD thesis, ETH Zurich, Zurich, Switzerland, 1979. [17] C.Engstler and C.Lubich. Multirate extrapolation methods for differential equations with different time scales. Computing, 58:173–185, 1996. [18] C.Engstler and C.Lubich. MUR8: a multirate extension of the eight-order Dormand-Prince method. Applied Numerical Mathematics, 58:173–185, 1996. [19] A. Chutinam and B. Krogh. Verification of polyhedral-invariant hybrid automata using polygonal flow pipe approximations. In F. Vaandrager and J. H. van Schuppen, editors, 166

Hybrid Systems : Computation and Control, volume 1569 of Lecture Notes in Computer Science. Springer Verlag, 1999. [20] C.I.Connolly and R.A.Grupen. On the application of harmonic functions to robotics. Journal of robotic systems, 10(7):931–946, October 1993. [21] C.O’Dunlaing, M.Sharir, and C.K.Yap. Retraction: A new appraoch to motion planning. In 15th ACM symposium on the theory of computing, pages 207–220, Boston, 1983. [22] C.W.Gear and D.R.Wells. Multirate linear multistep methods. BIT, 24:484–502, 1984. [23] C.W.Gear and O.Osterby. Solving ordinary differential equations with discontinuities. ACM transactions on mathematical software, 10(1):23–44, 1984. [24] T. Dang and O. Maler. Reachability analysis via face lifting. In T. Henzinger and S. Sastry, editors, Hybrid Systems : Computation and Control, volume 1386 of Lecture Notes in Computer Science, pages 96–109. Springer Verlag, Berlin, 1998. [25] E.Hofer. A partially implicit method for large stiff systems of odes with only a few equations introducing small time constants. SIAM Journal on Numerical Analysis, 13(5):645–663, 1976. [26] E.Klavins and D.E.Koditschek. A formalism for the composition of concurrent robot behaviors. In IEEE Conference on Robotics and Automation, 2000. [27] E.Klavins, D.E.Koditschek, and R.W.Ghrist. Toward the regulation and composition of cyclic behaviors.

In Fourth International workshop on teh algorithmic foundations of

robotics, Hanover, NH, March 2000. [28] M. Erdmann. Understanding action and sensing by designing action-based sensors. International Journal of Robotics Research, 14(5):483–509, 1995. 167

[29] J. Esposito and V. Kumar. Efficient dynamic simulation of robotic systems with hierarchy. In IEEE International Conference on Robotics and Automation, pages 2818–2823, May 2001. [30] J. Esposito and V. Kumar. On the performance of a multi-agent hybrid system simulation algorithm. submitted to IEEE Conference on Decision and Control, December 2002. [31] J. Esposito, G. Papas, and V. Kumar. Multi-agent hybrid system simulation. IEEE Conference on Decision and Control, December 2001. [32] J. M. Esposito, V. Kumar, and G. J. Pappas. Accurate event detection for simulating hybrid systems. In M. D. Benedetto and A. Sangiovanni-Vincentelli, editors, Hybrid Systems : Computation and Control, volume 2034 of Lecture Notes in Computer Science, pages 204– 217. Springer Verlag, 2001. [33] E.Tunstel. Coordination of distributed fuzzy behaviors in mobile robot control. In IEEE International conference on systems, man and cybernetics, pages 4009–4014, Vancouver, BC, October 1995. [34] E.W.Large, H.I.Christensen, and R. Bajcsy. Scaling the dynamic approach to path planning and control:competition among behavioral constraints. International journal of robotic research, 18:37–58, January 1997. [35] C. Gear and O.Osterby. Solving ordinary differential equations with discontinuities. Technical Report UIUCDCS-R-81-1064, Dept. of Comput. Sci., University of Illinois, 1981. [36] G.Pappas, G.Lafferriere, and S.Sastry. Hierarchically consistant control systems. IEEE transactions on automatic control, 45(6):1144–1160, 2000. [37] G.Schoner and M.Dose. A dynamics systems approach to task level systems integration used to plan and control autonomous vehicle operation. Robotics and Autonomous Systems, 10:253–267, October 1992. 168

[38] G.S.Joglekar and G.V.Reklaitis. A simulator for batch and semi-continuous processes. Computers in chemical engineering, 8(6):315–327, 1984. [39] K. Gustafsson. Control-theoretic techniques for stepsize selection in explicit runge-kutta methods. ACM transactions on mathematical software, 17(4):533–554, 1991. [40] K. Gustafsson. Control-theoretic techniques for stepsize selection in implicit runge-kutta methods. ACM transactions on mathematical software, 20(4):496–517, 1994. [41] D. B. H. Elmqvist and M. Otter. Dymola – user’s manual. Dynasim AB Research Park Ideon, Lund Switzerland, 1996. [42] J. Hay and A. Griffin. Simulation of discontinuous dynamical systems. In Proceedings of the 9th IMACS conference on simulation of systems, pages 79–87, 1979. [43] J.C.Gerdes and V. Kumar. An impact model for mechanical backlash for control system analysis. American Control Conference, Seatle, Washington, June 21–23, 1995. [44] J.Kosecka, H.Christensesn, and R.Bajcsy. Experiments in behavior composition. Robotics and autonomous systems, 19:287–298, 1997. [45] J.Lygeros, C.J.Tomlin, and S.Sastry. Multiobjective hybrid control synthisis. In Proceedings of hybrid and realtime systems, volume 1201 of Lecture Notes in Computer Science. Springer-Verlag, Grenoble, March 1997. [46] S. C. K.Benan and L. Petzold. Numerical solutions of initial value problems. North Holland, London, 1989. [47] K.Gokbayrak and C.Cassandras. Hybrid controlers for hierarchically decomposed systems. Hybrid Systems Computation and Control: Third international workshop, 3:117–129, 2000. [48] O. Khatib. Real-time obstacle avoidance for manipulators and mobile robots. International Journal of Robotics Research, 5(1):90–98, 1986. 169

[49] K.McIsaac and J.Ostrowski. Steering algorithms for dynamic robotic locomotion systems. Workshop for the Algorithmic Foundations of Robotics, page ???, 2000. [50] D. E. Koditschek. The geometry of a robot programming language. Workshop on the Algorithmic Foundations of Robotics, 3:263–268, 1994. [51] U. Kotta. Inversion Methods for Discrete-time Nonlinear Control Systems Synthesis Problems. Lecture Notes in Control and Information Science 205. Springer, London, 1995. [52] S. Kowaleski, M.Fritz, H. Graf, J.Preubig, S.Simon, O.Stursberg, and H.Treseler. A case study in tool-aided analysis of discretely controled continuous systems: the two tanks problem. In Hybrid Systems V, Lecture Notes in Computer Science. Springer Verlag, 1998. [53] G. Lafferriere, G. Pappas, and S. Yovine. Symbolic reachability computations for families of linear vector fields. Journal of symbolic computation, 32(3):231–253, 2001. [54] F. Lamiraux and J. Laumaond. Smooth motion planning for car-like vehicles. IEEE transactions on robotics and automation, 17(4):498–502, 1991. [55] S. Lavalle and S. Hutchinson. Path selection and coordination of multiple mobile robots via nash equilibria. Proceedings of 1994 International Conference on Robotics and Automation, pages 1847–1852, 1994. [56] L.F.Shampine, I.Gladwell, and R.W.Brankin. Reliable solution of special event location problems for ODEs. ACM transactions on Mathematical Software, 17(1):11–25, March 1991. [57] L.-J. Lin. Scaling-up reinforcement learning for robot control. In 10th international conference on machine learning, 1993. [58] J. Lygeros and G. Pappas. A tutorial on hybrid systems: Modeling, analysis and control. 14th IEEE International Symposium on Intelligent Control/Intelligent Systems and Semiotics, September 1999. 170

[59] N. McClamroch. A singular perturbation approach to modeling and control of manipulators constrained by a stiff envrionment. Proceedings of the

ÍkÎhϳÐ

Conference on Decision and

Control, pages 2407–2411, Dec. 1989. [60] M.Engerstedt. Behavior based robotics using hybrid automata. Hybrid Systems Computation and Control: Third international workshop, 3:103–115, 2000. [61] M.Gunther and P.Rentrop. Multirate row methods and latency of electrical circuits. Applied Numerical Mathematics, 13:83–102, 1993. [62] M.Humphrys. Action selection methods using reinforcement learning. PhD thesis, Computer Laboratory, University of Cambridge, 1997. [63] B. Mirtich. Timewarp rigid body simulation. In SIGGRAPH, 2000. [64] I. Mitchell and C. Tomlin. Level set methods for computation in hybrid systems. In N. Lynch and B. H. Krogh, editors, Hybrid Systems : Computation and Control, volume 1790 of Lecture Notes in Computer Science, pages 310–323. Springer Verlag, 2000. [65] R. Murray and S. Sastry. Nonholonomic motion planning: Steering using sinusoids. IEEE Transactions on Automatic Control, 38(5):700–716, 1993. [66] K. Narendra and J.Balakrishnan. A common lyapunov function for stable LTI systems with commuting A matricies. IEEE Transactions on Automatic Control, 39:2469–2471, 1994. [67] N. Nilsson. A mobile automaton: An application of artificial intellegencetechniques. In 1st international joint conference on artificial intellegence, pages 509–520, Washington, D.C., 1969. [68] C. Pantelides. The consistent initialization of differential algebraic systems. SIAM journal of scientific and statistical computing, 9(1):213–231, 1988. 171

[69] P. Pirjanian. Multiple objective behavior based control. to appear in Journal of Robotics and Autonomous systems, 1999. [70] P.Mosterman. An overview of hybrid simulation phenomena and their support by simulation packages. In F. Vaandrager and J. H. van Schuppen, editors, Hybrid Systems : Computation and Control, volume 1569 of Lecture Notes in Computer Science, pages 163–177. Springer Verlag, 1999. [71] A. Prestin and M.Berzine. Algorithms for teh location of discontinuities in dynamic simulation problems. Computers in chemical engineering, 15(10):701–713, 1991. [72] A. Quaid and A. Rizzi. Robust and efficient motion planning for a planar robot using hybrid control. In IEEE International Conference on Robotics and Automation 2000, volume 4, pages 4021 – 4026, April 2000. [73] R.Alur, A.Das, J.Esposito, R.Fierro, Y.Hur, G.Grudic, V. Kumar, I.Lee, J.P.Ostrowski, G.J.Pappas, J.Southall, J.Spletzer, and C.Taylor. A framework and architecture for multirobot coordination. In Experimental robotics VII, volume 271 of Lecture Notes in Computer and Information Science. Springer, 2001. [74] R.Alur, R. Grosse, Y.Hur, V. Kumar, and I. Lee. Modular specification of hybrid systems in charon. Hybrid Systems Computation and Control: Third international workshop, 3:6–19, 2000. [75] R.Burridge, A.Rizzi, and D.E.Koditschek. Sequential composition of dynamically dexterous robot behaviors. International Journal of Robotics Research, 18(6):534–555, 1999. [76] R.C.Rice. Split Runge-Kutta methods for simultaneous equations. Journal of Res. National Bureau of Standards, 64B:151–170, 1960. [77] R.Grupen, M.Huber, J.Coelho, and K.Souccar. A basis for distributed control of maipulation tasks. IEEE Journal on expert systems, 10(2):9–14, 1995. 172

[78] E. Rimon and D. E. Koditschek. Exact robot navigation using artificial potential functions. IEEE Transactions on Robotics and Automation, 8(5):501–518, 1992. [79] A. Rizzi. Hybrid control as a method for robot motion programming. In IEEE Int’l. Conf. on Robotics and Automation, volume 1, pages 832 – 837, May 1998. [80] D. R.Jefferson. Virtual time. ACM Transactions on Programming Languages and Systems, 7(3):404–425, July 1985. [81] K. Ruohonen. Event detection for ODEs and nonrecuirsive heirarchies. In Results and trends in theoretical computer science, volume 812 of Lecture Notes in Computer Science, pages 358–371. Springer Verlag, 1994. [82] R.Volpe and P.Khosla. Artificial potentials with eliptical isopotential contours for obstacle avoidance. In 26th IEEE conference on decision and control, pages 180–185, Los Angeles, 1987. [83] J. Sand and S. Skelboe. Stability of backward euler multirate methods and convergence of waveform relaxation. BIT, 32:350–366, 1992. [84] J. Schwartz and M.Sharir. On the ’Piano Movers’ problem: II General techniques for computing topological properties of real algebraic manifolds. Advances in applied mathematics, 4:298–351, 1983. [85] S. Skelboe. Methods for parallel integration of stiff systems of odes. BIT, 32:689–701, 1992. [86] P. Song, M. Yashima, and V. Kumar. Dynamic simulation for grasping and whole arm manipulation. IEEE International Conference on Robotics and Automation, pages 1082–1087, May 2-7, 1993. [87] A. Stuart and A. Humphries. Dynamical Systems and Numerical Analysis. Monographs on Applied and Computational Mathematics. Cambridge press, 1998. 173

[88] H. G. Tanner and K. J. Kyriakopoulos. Nonholonomic motion planning for mobile manipulators. Proceedings of the 2000 IEEE International Conference on Robotics and Automation, pages 1233–1238, 2000. [89] H. G. Tanner, S. Loizou, and K. J. Kyriakopoulos. Nonholonomic motion planning for mobile manipulators. Proceedings of the 2001 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2001. [90] T.J.Koo, G.J.Pappas, and S.Sastry. Mode switching sysnthisis for reachibility specifications. In Hybrid Systems: Computation and Control, volume 2034 of Lecture Notes in Computer Science. Springer, March 2001. [91] T.J.Koo, G.J.Pappas, and S.Sastry. Multi-modal control of systems with constraints. In 40th IEEE conference on decision and control, pages 2075–2080, Orlando, FL, December 2001. [92] C. Tomlin, J. Lygeros, and S. Sastry. A game theoretic approach to controller design for hybrid systems. Proceedings of the IEEE, 88(7), 2000. [93] T.Park and P.Barton. State event location in differential-algebraic models. ACM transactions on modeling and computer simulation, 6(2):137–165, 1996. [94] G. Vanderplaats. Numerical Optimization Techniques for Engineering Design. McGraw– Hill, 1984. [95] D. Wells. Multirate linear multistep methods for the solution of systems of ordinary differential equations. PhD thesis, Univ. of Illinois at Urbana-Champaign, IL, 1982. [96] W.S.Howard and V.Kumar. A minimum principle for the dynamic analysis of systems with frictional contacts. IEEE International Conference on Robotics and Automation, Atlanta, pages 437–442, May 2-7, 1993. 174

[97] J. X.Lui, T.J.Koo, B.Sinopoli, S.Sastry, and E.A.Lee. A hierarchical hybrid system model and its simulation. Proceedings of the

ÑkÎhϳÐ

Conference on Decision and Control, pages

2407–2411, 1999. ˇ [98] M. Zefran. Continuous methods for motion planning. PhD thesis, U. of Pennsylvania, Philadelphia, PA, 1996.

175

Suggest Documents