Automated Control Design for a Piecewise-Ane Approximation of a Class of Nonlinear Systems Luis Rodrigues 1 and Jonathan P. How Abstract This paper establishes a framework to automate the generation of a piecewise-ane approximation for a class of nonlinear systems. The results enable a completely automated procedure for designing an output feedback controller using a method described previously. To perform the piecewise-ane approximation it is assumed that a uniform rectangular grid is provided for the domain of the nonlinearity. Given this grid, there are three basic steps of the algorithm presented in this paper. First, a simplicial partition of the grid is found that provides a partition of the entire state space into polytopic cells. Then, the piecewise-ane approximation of the nonlinearity within each cell of the partition is derived. Finally, a polytopic description of the cells and a parametric description of the boundaries between cells is created. Each cell of the partition will have a closed loop equilibrium at a point that must be specied. This paper presents an optimization objective that can be used to automate the selection of these equilibrium points. All steps in this process are completely automated, which represents a key step in the development of control synthesis tools for piecewise-ane approximations of nonlinear systems. 1 Introduction Piecewise-ane systems represent an important and powerful modeling class to approximate nonlinear systems. For example, they arise naturally from linear dynamics in the presence of saturations or as a particular case of hybrid systems where the continuous dynamics within the dierent discrete modes are linear or ane [1]. Over the past few years several promising new methods have emerged for the analysis of piecewise-linear and piecewise-ane systems [2, 3, 4, 5]. Synthesis has also been attempted for piecewise-linear systems based on the analysis methods [2, 4]. Synthesis has been attempted for uncertain piecewise-ane discrete-time systems [6]. However, none of these previous works addressed the synthesis of output feedback controllers. In a previous paper [7], the authors presented an output feedback controller synthesis methodology for continuous-time piecewise-ane systems using a Lyapunov-based approach. However, before the design could be performed, many parameters had to be pro1 Supported by a PRAXIS XXI grant, Dept.Aeronautics and Astronautics, Stanford University luisrod@stanford.edu 2 Department of Aeronautics and Astronautics, Massachusetts Institute of Technology, jhow@mit.edu 2 vided by the designer to the synthesis algorithm. Finding these parameters is often a very tedious process, especially for a general complex dynamical system, and is far from intuitive. Although the problem of approximating a nonlinear function by a piecewise-ane function dened over a simplicial partition has been well studied [8, 9, 10], it has been done from an analysis perspective. Several new issues arise when the problem is approached from a synthesis perspective. For example, in that case we must guarantee that the output parameters of this approach t the framework of the synthesis method. As such, it was dicult to nd an algorithm that completely ts the problem setting in [7]. The purpose of the present paper is to present an algorithm that, given a nonlinear system in a particular class and a uniform rectangular grid for the domain of the nonlinearity, automatically approximates the nonlinear system by a piecewise-ane system and provides all the parameters required by the output feedback synthesis method developed in [7]. When combined with the results of [7], this paper gives a fully automated control design technique for a piecewise-ane approximation of a class of nonlinear systems. The design of controllers for the original nonlinear system can then be posed as a robust control problem. This paper is divided into 8 parts. The problem formulation is presented rst, followed by the automatic controller design machine concept and a motivating example. The algorithm for nding the polytopic description of the cells, the description of the boundaries and the piecewise-ane approximation of the nonlinearity is presented in Section 5. Next, an optimization procedure for nding the desired closed loop equilibrium points is described. Finally, an example is presented. 2 Problem Formulation Assumption 1: Class of Nonlinear Systems. The class of nonlinear systems considered in this work is described by: x_ = Axx Axz z_ Azx Azz x + bx + B (x; z )u (1) z f (x; z ) y = C xz (2) where bx 2 Rnx is a constant vector, B = [BxT BzT ]T , x 2 Rnx contains the state variables with ane dynamics, and z 2 Rnz contains the state variables associated x grid Axx Axz Azx Azz B C wc l f PWA Approximation Polytopic Description Ai bi Hi g i Fi j li j wcil Controller Design Ki mi Li θ Figure 1: Automatic Controller Design Machine Figure 2: Inverted Pendulum on a Cart with the nonlinear dynamics. These variables will be stacked together in the vector w = [xT z T ]T . The vector u 2 Rnu is the control input. All the matrices in the equations are assumed to have the appropriate dimensions. It is further assumed that the mapping from w to w_ does contain an arbitrarily small neighborhood of the origin, so that the conditions of Brockett's Theorem do not apply [11] and the linearization in a neighborhood of the origin is well dened. The system is assumed to be locally strongly accessible, which can be checked by the strong accessibility rank condition using iterated Lie brackets of the drift term and the input function B (x; z ) [12]. Note that, in the case where there are no variables with ane dynamics, the description of the system is z_ = f (z ) + Bz (z )u, which is the common description of a nonlinear system that is linear in the input. the whole system is to only have one equilibrium point, wcl . Therefore, it must be ensured that the location of the closed-loop equilibrium points of all regions except the one containing wcl will be outside the corresponding region. This can be accomplished by selecting these desired closed-loop equilibrium points wcli in a certain optimal sense (see Section 6). These points must also be inputs for the design procedure in the second box (see [7]). This paper addresses the left box in Figure 1 in Sections 5 and 6. The approach will be applied to the motivating example described in the following section. Assumption 2: Class of functions. It is assumed that the function f (w) can be approximated by a piecewise-ane function over a simplicial partition [9] of its domain (intervals in R, triangles in R2 ). In other words, the function can be approximated from knowledge of its values at the vertices of a simplicial grid. Assumption 3: Support of function. It is assumed that the support of the function f (w) is a compact1 hypercube and that a uniform rectangular grid is dened in that compact support. 3 Automatic Controller Design Machine The automatic controller design machine concept is presented schematically in Figure 1. The inputs to this machine are the system description, the desired closed-loop equilibrium point wcl , and a uniform rectangular grid for the domain of the nonlinearity involved in the dynamical system. Given these inputs, the rst box in Figure 1 creates a partition of the state space into a nite number of polytopic cells and a piecewise-ane approximation for the nonlinear function. The parameters describing the partition and the approximation are then used as inputs to the second box that designs a piecewise-ane output feedback controller for the system [7], described by the parameters Ki , Li and mi in each region i. Note that in closed-loop there will be one equilibrium point for each polytopic region, but the objective for 1 Piecewise-ane functions with a simplicial partition can uniformly approximate continuous functions on compact domains [13, 14] 4 Motivating Example To motivate the class of systems introduced in Section 2 and to better illustrate the dierent parts of the algorithm, we use a nonlinear model of the dynamics of an inverted pendulum on a cart throughout the rest of the paper (Figure 2). With w = [x1 x2 x3 x4 ]T = [x x_ _]T , the dynamics are given by 2 0 6 0 6 w_ = 4 0 0 y = 10 0 0 0 0 0 1 1 0 0 0 0 0 3 2 3 2 3 0 0 0 7 0 1 77 w + 66 0 77 +66 7 u; 1 5 5 4 5 4 0 f1 (w) M , 3 cos(x2 ) 0 f2 (w) 2lM 0 w; 0 f1 (w) = M1 m2p l x24 sin(x2 ) + 3m8p g sin(2x2 ) , bx3 ; f2 (w) = , 23l (g sin(x2 ) + f1 (x2 ; x3 ; x4 ) cos(x2 )) ; , M = mc + mp 1 , 34 cos2 (x2 ) , mc is the mass of the cart, mp is the mass of the pendulum, l is the length of the pendulum, and b is the friction coecient (we assume b = 0 to simplify matters, since the nonlinearity then only depends on two variables). Set mp = 13 kg, mc = 1kg, and l = 0:2 m. The dynamics are in the class represented in Eqs.1 and 2 with x = [x1 x2 ]T and z = [x3 x4 ]T . Assume that a uniform rectangular 2D grid with four cells exists for the region around (x2 ; x4 ) = (; 0). More precisely, in that grid x2 takes the values f 34 ; ; 54 g and x4 takes the values f,2; 0; 2g. The next section describes the algorithm that, given this information, produces the input parameters required by the synthesis method in [7]. 5 Algorithm Given a nonlinear system in the class dened in Section 2 the following problems must be solved: 1. Given a uniform rectangular grid for the domain of the nonlinearity, order all vertices of that grid, 2. Group the vertices into simplicial cells, 3. Find a polytopic description for each cell, 4. Find a parametric description for the boundaries, 5. Find the piecewise-ane approximation of the nonlinearity and the piecewise-constant approximation of the input matrix within each cell. 1 3 6 8 5 6 77 8 8 7 8 9 9 7 7 8 9 99 9 9 9 9 9 9 9 5.1 List of Vertices 5.2 Grouping of Vertices into Cells Given the vertices ordered according to Section 5.1, the algorithm to group n +1 vertices into each cell (where n is the dimension of the domain of the nonlinearity) is: 1. Expand a tree with 2n , 1 branches for each node. Each node in the tree corresponds to a vertex and each branch corresponds to the allowable moves from that vertex to its neighboring vertices. 2. For each node in the tree, (a) Select the current node to be the start node. (b) Run through the tree in a depth rst manner until a depth of n has been reached and keep track of the path being followed. The node reached in this way is set as an end node. (c) If the end node is a neighbor of the start node (i.e., there is a branch in the tree connecting the start and end nodes) then group the n +1 vertices (in the path just followed) as a cell. (d) Repeat this loop until all nodes a depth n away from the start node have been reached. 3. Repeat loop 2 for all nodes in the tree in the order dictated by Section 5.1. This algorithm is easily implemented by generating a connecting matrix for the vertices. Entry (i; j ) being one means that node j is a \child" of node i. This matrix is guaranteed to be upper triangular with zeros in the main diagonal because of the ordering of the vertices. The algorithm then proceeds by xing one vertex at a 9 Figure 3: Expanded Tree 2 1.5 7 5 1 0.5 8 6 0 4 x (rad/sec) Following [9], if the grid is translated such that the point corresponding to the minimum values of the variables is the origin, then the vertices are ordered in increasing number of nonzero coordinates. In addition, for every set of vertices with the same number of r zero coordinates, the r tuples of possible locations of the zero components is A-ordered and the r tuples with the corresponding vertices coordinates are B-ordered (see [9] for details). For example, for the 2 2 grid given for the inverted pendulum on a cart, if x2 is translated to x2 , 34 and x4 is translated to x4 + 2, the ordering f(0; 0); ( 4 ; 0); ( 2 ; 0), (0; 1); (0; 2); ( 4 ; 1); ( 4 ; 2), ( 2 ; 1); ( 2 ; 2)g is obtained. Translating back the variables yields the nal ordering. The vertices will be referred to by their ordering in this list. 6 4 2 −0.5 4 2 −1 −2 3 1 −1.5 2.4 2.6 2.8 3 3.2 3.4 3.6 3.8 x (rad) 2 Figure 4: Simplicial Cells time (row of the matrix) and nding the entries that are 1 (which represent the neighboring vertices). For each of these entries, the corresponding row is then selected and this process is done iteratively until a nested level of n entries equal to 1 is reached. Then, step c) of the algorithm is performed. Changing to another start vertex, the same process is then repeated until all vertices (rows) have been selected as start nodes. For the pendulum example, the expanded tree is shown in Figure 3 and the simplicial cells resulting from this tree are shown in Figure 4. The connecting matrix and the matrix whose rows give2 the composition of the3 cells are 2 3 0 1 0 1 0 1 0 0 0 1 2 6 60 0 1 0 0 1 0 1 07 6 7 61 4 67 60 0 0 0 0 0 0 1 07 6 7 6 7 62 3 87 60 0 0 0 1 1 1 0 07 6 7 6 7 62 6 87 6 7 6 Tree = 60 0 0 0 0 0 1 0 07 ; Cell = 64 5 777 : 60 0 0 0 0 0 1 1 17 6 7 6 7 64 6 77 60 0 0 0 0 0 0 0 17 6 7 6 7 46 7 95 40 0 0 0 0 0 0 0 15 6 8 9 0 0 0 0 0 0 0 0 0 The elements of each row of \Cell" (the rows are indexed by cell number) are the numbers of the vertices (using the ordering in Section 5.1) that form the cell. For example, cell 6 in Figure 4 and row 6 of Cell contain the vertices with ordering numbers 4, 6 and 7. 5.3 Polytopic Description Using a simplicial partition of the domain of the nonlinearity (of dimension n) for the class of systems described in Section 2 implies that the whole state space IR(nx +nz ) will be partitioned into a nite number of poly- topic regions. In fact, these polytopic regions will be direct products of simplices (corresponding to the state variables in the domain of the nonlinearity) with linear subspaces (corresponding to the remaining state variables). The polytopic cells are denoted by Ri ; i 2 I , where I is a nite index set. If the number of hypercubes in the original grid is ngrid , then the cardinality of this set is ngrid n! because there are n! simplices in each hypercube. As a consequence of the assumptions in Section 2, the polytopic description of the cells can be cast in the form presented in [4] Ri = fw j hTij w < gij ; j = 1; : : : ; n + 1g: Each cell is then characterized by the vector inequality HiT w , gi < 0 (3) where Hi = [hi1 ; : : : ; hi(n+1) ], gi = [gi1 ; : : : ; gi(n+1) ]T . To derive the polytopic description of the cells, the objective is to nd Hi and gi . This is done by: Computing the matrices for the description of the simplicial cells. Performing the direct product of the simplicial cells with the linear subspaces where the remaining state variables lie. This step consists of augmenting the matrices with zeros conveniently placed. The following algorithm is used in the rst step above: 1) For each simplicial cell (i.e each group of n + 1 vertices) all possible combinations (nn+1) of n vertices are performed and for each combination, the description of the corresponding hyperplane boundary is found as: a) Take one of the vertices in the boundary as a reference vertex 0 . b) Connect this vertex to all other vertices in the boundary to nd n , 1 vectors that lie in the hyperplane. This set of vectors is V1 and stack their Cartesian coordinates as rows of matrix D. c) Connect the vertex out of the hyperplane vout to all the vertices in the hyperplane to form a new set of vectors. Let this set of n vectors be V2 and stack their Cartesian coordinates as the columns of matrix C . d) Find the normal to the hyperplane as a convex combination of the vectors in V2 . The n coecients of the convex combination are known to be positive and add to one. This produces one constraint equation. The remaining n , 1 constraint equations can be obtained from ensuring that the normal vector is orthogonal to the n , 1 vectors in V1 that lie in the hyperplane. The hyperplane is then dened by the equation T ( , 0 ) = 0 once a reference point 0 in the hyperplane and the normal vector are known. If we set Ai = T and bi = T 0 then the equation of the hyperplane is Ai x , bi = 0. 2) Decide in which half space of that hyperplane the cell is contained using the remaining vertex vout of the cell α2 α0 α1 V1 Figure 5: Cell Description for n = 2 that was left out of the combination of n vertices. More precisely, according to (3), the sign of the elements of Ai and bi should be changed if Ai vout , bi > 0. For the pendulum example, where n = 2, each simplicial cell contains 3 vertices (0 ; 1 ; 2 ). All possible 3 2 combinations of 2 vertices are (0 ; 1 ), (0 ; 2 ) and (1 ; 2 ). Let the boundary of interest for this exercise be the one dened by the vertices f0 ; 1 g and let 0 (see Figure 5) be taken as the reference point in the hyperplane. Since the simplicial cell is described by the vertices f0 ; 1 ; 2 g, 2 is the missing vertex vout . Then V1 = f1 , 0 g, V2 = f1 , 2 ; 0 , h2 g and i C = 1 , 2 0 , 2 ; D = (1 , 0 )T DC 0 1 , 1 T = 1 1 ) = CT 1 : 2 Note that T is nonsingular because the cells are nondegenerate simplices. In the particular case of cell six in Fig. 4, 0 = [ 34 0]T , 1 = [ 0]T , 2 = [ 2]T and = [0 , 2]T , A1 = T , b1 = 0. The equation of the hyperplane (a line in this case) is ,2x4 = 0. Since A1 2 , b1 = ,4 < 0, the sign of the elements of A1 and b1 does not have to be changed. After performing the direct product with the remaining state variables, the rst column of matrix H6 is H61 = [0 0 0 , 2]T and the rst element of the vector g6 is g61 = 0. The same process can then be repeated to obtain the other elements of these matrices. 5.4 Description of Boundaries With the assumptions made in Section 2, a parametric description of the boundaries can be written as in [4] Ri \ Rj flij + Fij t j t 2 IRnx nz , g (4) for i = 1; : : : ; ngrid n! , j 2 Ni = fneighboring cells of ig and for some Fij 2 IR nx nz nx nz , full rank and lij 2 IR nx nz . After the step in the last subsection has + ( ( + + ) ( + 1 1) ) been performed, a description of the boundaries (hyperplanes) of each cell is known. To transform this into a parametric description, it suces to solve the hyperplane equation with respect to one of the state variables with a nonzero coecient. The vector t in Eq. 4 will thus be formed by all state variables except this one. However, once a parametric description has been found for each boundary of each cell, the corresponding neighboring cell still must be found in order to know the correct indices associated with matrices Fij and lij in Eq. 4. To solve this problem, the key observation is that, in a space of dimension n, each boundary is dened by n of the n + 1 vertices of each cell and that these n vertices will also belong to the neighboring cell. The neighbor of cell i across the boundary formed by the set nj of n vertices can then be found by searching the cell list for the other cell that has these nj vertices in common with cell i. For the pendulum example, the neighbor of cell 6 that also contains vertices 0 = ( 34 ; 0) and 1 = (; 0) (by the ordering in Section 5.1 these are numbered 4 and 6 respectively) can be obtained by searching in the array Cell (Section 5.2) for a row (other than six) that also has these vertices. The result is row two. So, the matrices that give the parametric description of this hyperplane will have subscripts i = 6; j = 2. Moreover, since the hyperplane equation is x4 = 0, then t = [x1 x2 x3 ]T and 2 3 2 3 1 0 0 0 6 7 6 7 F62 = 64 00 10 01 75 ; l62 = 64 00 75 : 0 0 0 0 5.5 Piecewise-Ane Approximation Finding the piecewise-ane approximation of a nonlinear function based on its values at the vertices of a simplicial grid is basically an estimation problem. Given f : Rn ! Rnz and n+1 vertices belonging fto a simplicial cell i, the objective is to nd the matrix Ai and the vector bfi such that the piecewise-ane approximation of f in the polytopic cell i is described by2 f (w) ' Afi w + bfi . At each vertex of each simplex i, a linear equation of the form f ()T = [T j,1] can be written, where f () is a z nz 1 vector, = [(aki )T j bki ]T nk=1 is a (n + 1) nz matrix and represents the n 1 vector with the coordinates of the vertex. If all the values f () are stacked in a matrix F and all the rows [T j 1] in a matrix X , the solution is then given by = X ,1 F . Notice that since a simplicial partition of the domain of f is being used, the matrix X is nonsingular. Applying this process to the simplicial cell number one of the pendulum example the following result is obtained3 : 3 2 3 2 1 3 2 3 ,2 1 ,1 ,1:0138 ,57:349 a1 a21 4 4 # 0 5: # 5 = 4 ,2 15 4 0 0 1 0 0 b11 b21 To derive a piecewise-ane model in the standard form presented in [7] in which the input matrix is independent of the state, there still remains the step of approximating the matrix function B (w) by a piecewise-constant function. A piecewise-constant approximation has the advantages of being very simple to implement, it does not need a grid and it can be made as accurate as needed by making the cells smaller. It has the disadvantage that the resulting system of dierential equations has 2 f (w ) should be interpreted as f (P (w )), where P (w ) = is ? ? the orthogonal projection of w into the domain of the nonlinearity 3 The lower indices represent the cell number and the upper indices represent the function component a discontinuous right hand side which can lead to sliding modes. However, a method for designing output feedback controllers that avoids the existence of sliding modes has been presented by the authors in [15]. To perform such approximation, B (w) will be evaluated at a point taken to be a reference point within each polytopic cell. The point chosen for evaluating this function i of each cell i, that is, the is the Chebychev center wcheb center of the Euclidean ball of maximum radius that can be t inside the polytopic cell. The algorithm for nding such centers is given in section 6. After approximating i ) and for each cell the nonlinear dynamics, Bi = B (wcheb w_ = Ai w + bi + Bi u(t); y = Cw; (5) 0 ; b = bx + 0 Ai = AAxx AAxz + 0 Af ! i 0 bfi zx zz i For cell number one of the pendulum example 2 3 0 6 0 7 0 1 : 29 0 0 , 4 : 05 f f A1 = 0 73:02 0 0 ; b1 = ,229:4 ; B1 = 64 0:9 75 : 6:4 6 Equilibrium Point Optimization The desired closed-loop equilibrium point for the entire system (wcl ) will be located in one of the polytopic regions. This will be both the control target point and the desired closed-loop equilibrium point for that region. For the other regions, equilibrium points that are outside of the corresponding region need to be chosen so that, in closed-loop, only one equilibrium point exists for the system. The goal then will be to design the controller so that wcl is made globally asymptotically stable. Note that the locations of the remaining equilibrium points are arbitrary but can have a large impact on the closed-loop performance. A systematic means of selecting appropriate points can be developed using a measure of the control eort, assuming that each ane system obtained in the previous section is controllable. With w = [xT z T ]T and u = u~ + mi (as in [7]), Eq. 5 is w_ = Ai w + Bi u~ + Bi mi + bi : (6) With the closed-loop equilibrium point for region Ri at wcli and the change of variables v = w , wcli , Eq. 6 is v_ = Ai v + Bi u~ + Ai wcli + Bi mi + bi : (7) To get a linear system for which an initial controller can be designed (see [7]), the equation Ai wcli + Bi mi + bi = 0 (8) must be solved for the vectors wcli and mi . Rewriting this equation as Ai w = ,bi , where Ai = [Ai Bi ] and w = [wcli T mTi ]T , this system of equations has a solution if and only , if bi is in the range of Ai , i.e, if and only if rank [Ai bi ] = rank(Ai ). In this case, if wp = [wpT mTp ]T is a particular solution of Eq. 8, then the general solution is w = wp + Np; where N = [NwT NmT ]T 2 R(nx +nz +nu )s is a matrix whose columns span the null space of Ai and p is a vector of dimension s that parameterizes the general solution of Eq. 8 (when it exists). Since Ai is a rectangular matrix, its null space will at least have dimension one. Also, when there is an open-loop equilibrium point woli for region Ri , then wp = [woli T 0]T . The closed-loop equilibrium points of region Ri that solve Eq. 8 are parameterized by wcli = wp + Nw p. The design strategy then is to choose from these solutions the one that, given a time T > 0, minimizes the control eni to the ergy to take the state from a reference point wref target point wcl in that time, subject to the constraint of being outside of region Ri . Since an expression for the control energy is well known for a controllable linear system [16], to formulate this as a linear rather than ane i , wi problem, the change of coordinates vref = wref cl i and vcl = wcl , wcl is performed. In these coordinates, using the description in Eq. 3, this problem is equivalent to the following quadratic program: vcl , eAi T v,ref T W ,1 vcl , eAi T vref s:t: HiT Nw p + HiT wp , gi j > 0 for some j = 1 : : : (n + 1); min , , , where W = 0T eATi Bi BiT eAi d is the controllability Grammian for time T [16]. If the matrix Ai is nonsingular, then the reference point is chosen as the Chebychev i center wcheb of the region, which can be obtained by solving the linear program [17] max r i + rHi , gi < 0; s:t: HiT wcheb R i and r, where Hi = [jjhi1 jj : : : jjhip jj]T . When for wcheb Ai is singular the reference point is chosen to be the origin to avoid the problem being ill posed. 7 Example For the inverted pendulum on a cart, the algorithm described in Section 5 found the polytopic description 2 3 0 0 0 ,2 H1T = 4 0 ,0:681 0 0:267 5 ; H3 = H6 = H8 = H1 ; 0 0:785 0 0 2 3 0 ,0:785 0 0 H2T = 4 0 0:681 0 ,0:267 5 ; H4 = H5 = H7 = H2 0 0 0 2 2 3 2 3 2 3 3 2 3 2 3 4 ,1:851 4 g1 = 4 ,2:138 5 ; g2 = 4 2:138 5 ; g3 = 4 ,2:672 5 ; 2:467 0 3:084 2 g4 = 4 ,2:467 ,1:8506 0 2:672 5 ; g = 4 ,1:6033 5 ; g = 4 ,1:603 5 ; 0 5 4 6 2:467 2 ,2:4674 3 2 3 0 g7 = 4 2:1377 5 ; g8 = 4 ,2:1377 5 4 3:0843 The matrices that describe the boundaries and the location of the closed-loop equilibrium points will not be shown due to a lack of space. 8 Conclusions This work presented an algorithm for automatically generating a simplicial piecewise-ane approximation of a dynamical system belonging to a special class of nonlinear systems. Together with the output feedback controller design presented in [7], this work enables a fully automated design of controllers for any simplicial piecewise-ane approximation of a system in that class. A toolbox for MATLAB has been developed by the authors to perform the output feedback controller design. References [1] A. Hassibi, S. P. Boyd, J. P. How, A Class of Lyapunov Functionals for Analyzing Hybrid Dynamical Systems. In Proc. of the American Control Conference, June 1999. [2] M. Johansson and A. Rantzer. Computation of piecewise quadratic Lyapunov functions for hybrid systems, IEEE Trans. on Automatic Control, 43(4):555-559, April 1998. [3] S. Pettersson. Analysis and Design of Hybrid Systems, PhD Dissertation, Chalmers University of Technology, June 1999. [4] A. Hassibi, S. Boyd, Quadratic Stabilization and Control of Piecewise-Linear Systems. In Proc. of the 1998 American Control Conference, pp.3659-3664, June 24-26. [5] J. M. Goncalves, A. Megretski, M. Dahleh. Global Stability of Relay Feedback Systems,. In Proc. of the 2000 American Control Conference, June 28-30. [6] O. Sluphaug. On robust constrained nonlinear control and hybrid control: BMI and MPC based state-feedback schemes, PhD dissertation, Norwegian University of Science and Technology, October 1998. [7] L. Rodrigues, A. Hassibi, J.P. How, Output Feedback Controller Synthesis for Piecewise-Ane Systems with Multiple Equilibria. In Proc.American Control Conference, pp.17841789, June 2000. [8] M. Johansson, A. Rantzer. Piecewise Linear Quadratic Optimal Control, Research Report, Lund Institute of Technology, November 1997. [9] P. Julian, A High Level Canonical Piecewise Linear Representation Using a Simplicial Partition: Theory and Applications. Ph.D. Thesis, Department of Electrical Engineering, Universidad Nacional del Sur, Argentina, 1999. [10] P. Julian, A Toolbox for the Piecewise Linear Approximation of Multidimensional Functions. [11] R. W. Brockett, Asymptotic stability and feedback stabilization. In Brocket, R. W., Milman, and R. S., Sussman, H. J., editors, Dierential Geometric Control Theory, pp.181-191. [12] H. Nijmeijer and A. J. van der Schaft, Nonlinear Dynamical Control Systems. Springer-Verlag, Berlin, Germany, 1990. [13] M. Chien, E. Kuh, Solving nonlinear resistive networks using piecewise-linear analysis and simplicial subdivision, IEEE Trans.Circuits Systems 1, vol.CAS-24, pp.305-317, June 1977. [14] P. Julian, A. Desages, O. Agamennoni, High level canonical piecewise linear representation using a simplicial partition, IEEE Trans.Circuits Systems I, vol.46, pp.463-480, April 1999. [15] L. Rodrigues and J.P. How. Observer-Based Control of Piecewise-Ane Systems, submited to CDC2001. [16] T. Kailath. Linear Systems, Prentice Hall, 1989. [17] S. Boyd and L. Vandenberghe. Convex Optimization: Course Reader for EE364, Stanford University, August 1999.