Advantages of Bilinear Koopman Realizations for the
Modeling and Control of Systems with Unknown Dynamics
Abstract
Nonlinear dynamical systems can be made easier to control by lifting them into the space of observable functions, where their evolution is described by the linear Koopman operator. This paper describes how the Koopman operator can be used to generate approximate linear, bilinear, and nonlinear model realizations from data, and argues in favor of bilinear realizations for characterizing systems with unknown dynamics. Necessary and sufficient conditions for a dynamical system to have a valid linear or bilinear realization over a given set of observable functions are presented and used to show that every control-affine system admits an infinite-dimensional bilinear realization, but does not necessarily admit a linear one. Therefore, approximate bilinear realizations constructed from generic sets of basis functions tend to improve as the number of basis functions increases, whereas approximate linear realizations may not. To demonstrate the advantages of bilinear Koopman realizations for control, a linear, bilinear, and nonlinear Koopman model realization of a simulated robot arm are constructed from data. In a trajectory following task, the bilinear realization exceeds the prediction accuracy of the linear realization and the computational efficiency of the nonlinear realization when incorporated into a model predictive control framework.
Index Terms:
Model Learning for Control.I Introduction
Linear systems theory provides a wealth of analysis and control design techniques for linear dynamical systems, but no such general framework exists for all nonlinear dynamical systems. For this reason, it is common to approximate a nonlinear system with one or more linear systems to make it compatible with well-established and computationally efficient linear control methods.
Linearization of nonlinear systems can be achieved in several ways. Local linearization techniques, such as Jacobian linearization, describe the local behavior near equilibrium points using the first order Taylor series of the dynamics [1]. Such linearizations preserve the stability properties of equilibrium points, but only predict system behavior well in their vicinity.
Global linearization techniques, on the other hand, aim to convert a nonlinear dynamical system into an equivalent linear system. One such technique, based on Koopman operator theory, achieves this by lifting the system into a higher-dimensional space of scalar-valued functions called observables. In this space, the evolution of observables along trajectories of the nonlinear system are described by the (linear) Koopman operator [2]. The Koopman operator captures the behavior of the system everywhere, not just near equilibrium points, providing a global linear representation of the system in terms of observables.
Despite their linearity in the space of observables, Koopman representations have limitations that hinder their ability to inform the control of arbitrary nonlinear dynamical systems. One limitation is that linearity with respect to observables does not imply linearity with respect to the control input. Therefore, Koopman models are not necessarily compatible with computationally efficient linear control design techniques such as LQR [3] and linear MPC [4]. A further limitation of Koopman linear embeddings is that they are in general infinite-dimensional. Therefore, finite-dimensional truncations must be used in practice, which merely approximate the behavior of the original nonlinear system rather than capture it perfectly.
Linearity with respect to the control input can be enforced by restricting the Koopman operator to a subspace of observables which only includes linear functions of the control input. This strategy is introduced in [5] to construct linear predictors of nonlinear systems for model predictive control. This and similar approaches have shown capable of achieving better control performance than local linearization techniques on a variety of different robots such as a Sphero SDK [6], a swimming fish robot [7], a Rethink Sawyer robot arm [8], and a several soft robots [9, 10].
Such applications make use of finite-dimensional matrix approximations of the Koopman operator that are identified from data using a linear system identification technique known as Extended Dynamic Mode Decomposition (EDMD) [11, 12, 13]. These approximations rely upon the implicit assumption that the identified Koopman matrix converges to the true Koopman operator as its dimension goes to infinity. In other words, they assume that sufficient accuracy can always be achieved by a Koopman model with linear control inputs if its dimension is large enough. However, as shown in [14], a valid Koopman representation is not guaranteed to exist when the approximation is restricted to a subspace that excludes nonlinear functions of the input. This holds true even if the subspace is infinite-dimensional.
There is thus a trade-off when looking to utilize Koopman representations for control of a system with unknown dynamics. Koopman representations with linear control inputs are advantageous because they are compatible with computationally efficient linear control techniques. However, a valid Koopman representation of this form may not exist, in which case finite-dimensional approximations of this type are unlikely to improve with dimension. On the other hand, every system admits a valid Koopman representation with nonlinear control inputs. However, such representations have limited usefulness for control applications because they are not compatible with efficient control techniques.
Koopman representations with bilinear control input terms strike a compromise between these two extremes. Such models preserve some of the computational benefits of linear Koopman models, while being more likely to exist for arbitrary dynamical systems. This makes them desirable for control applications.
Previous work has investigated Koopman-based bilinearization and control methods for nonlinear systems. In [15], the Koopman Canonical Transform (KCT) is used to describe how to construct bilinear realizations over the set of Koopman eigenfunctions. It also introduces a set of sufficient conditions for a nonlinear system to be bilinearizable. In [16], it is shown that the control-affine property of dynamical systems is preserved for the continuous Koopman operator, which allows bilinear surrogate models to be constructed by interpolating between different operators. These bilinear models are incorporated into a model predictive control framework and applied to the control of several nonlinear systems.
In line with previous work, this paper explores the benefits of using the Koopman operator to build bilinear models of systems with unknown dynamics. While approximate Koopman model realizations with linear, bilinear, or nonlinear control inputs can be directly constructed from data, we argue that bilinear Koopman realizations identified in this manner are likely to yield better predictions than linear ones, and be more computationally efficient than nonlinear ones.
The contributions of this paper are twofold. First, we offer a theoretical justification for the proposed advantages of bilinear Koopman model realizations. We specify necessary and sufficient conditions for a dynamical system to have a valid linear or bilinear realization over a given set of observables, and use these conditions to show show that every control-affine system admits a bilinear realization, but does not necessarily admit a linear one. Second, we provide instructions on how to construct approximate linear, bilinear, and nonlinear Koopman model realizations from data. Using this approach, we construct several Koopman model realizations of a simulated robot arm, and show that a bilinear realization simultaneously exceeds the prediction accuracy of a linear realization and the computational efficiency of a nonlinear realization when incorporated into a model predictive control framework.
The paper is organized as follows. In Section II, we present some preliminaries of Koopman operator theory as well as the necessary and sufficient conditions for linear and bilinear Koopman model realizations to exist. In Section III, we describe the process for identifying approximate Koopman model realizations from data as well as how they can be incorporated into a model predictive control framework. In Section IV, we present modeling and control comparisons for several linear, bilinear, and nonlinear Koopman model realizations of a simulated planar robot arm. In Section V, we discuss the results of these experiments and offer some concluding remarks.
II Theory
This section describes the Koopman operator and how it relates to model realizations. A definition for linear and bilinear realizations is presented, as well as necessary and sufficient conditions for a realization to be of one of these types. Unpacking these conditions reveals that every control-affine system has a (possibly infinite-dimensional) bilinear realization, but not necessarily a linear one.
II-A Koopman operator preliminaries
Consider the (nonlinear) dynamical system governed by the following differential equation
(1) |
where is the state and is the input of the system at time , is a continuously differentiable function, and are compact subsets. Denote by the flow map, where and is the solution to (1) at time when beginning with the initial condition at time and a constant input applied for all time between and .
Let be the infinite-dimensional function space composed of all square-integrable real-valued functions with compact domain . Elements of are called observables. In , the flow of the system is characterized by the set of Koopman operators , for each , which describe the evolution of every observable along the trajectories of the system according to the following definition:
(2) |
where indicates function composition such that
(3) |
for a constant input over the time interval .
The set of Koopman operators is generated by an infinitesimal generator, denoted , according to the following relation [17, Chapter 11],
(4) |
The infinitesimal generator describes the time derivative of observables along trajectories of the system
(5) |
such that
(6) |
For a given time-step, is sometimes referred to as the discrete time Koopman operator and is referred to as the continuous time Koopman operator [18].
II-B Model Realizations
A model realization of (1) is a dynamical system that generates the same state response as (1) under any input signal . The Koopman operator can be used to generate model realizations. This is done by choosing a countable set of observables (where ) from which the original state can be recovered through an inverse mapping . Taken together, this set of observables constitutes the lifted state of the realization. The evolution of each component of the lifted state is described by applying the continuous Koopman operator, and the output equation of the realization consists of the mapping :
(7) | ||||
(8) |
where is shorthand for . We say that the realization is defined over the set of observables . Note that model realizations are not unique since they depend on the choice of observables.
The Koopman operator is a linear operator, therefore a realization generated using the Koopman operator is linear with respect to the observables over which it is defined. However, because these observables can be nonlinear functions, such realizations are not necessarily linear with respect to the original state and input. Thus, they may not present any advantages in terms of computational efficiency.
Certain types of realizations are particularly amenable to control design since the control input appears either linearly or bilinearly in them. Before formally defining these realizations, we first define the following subsets of the space of all observables for notational convenience:
(9) | ||||
(10) | ||||
(11) |
where and . In other words, is the set of functions that project onto components of the state, is the set of functions that project onto components of the input, and is the set of all functions that depend on the state only, including constant functions. With this notation in hand, we define linear and bilinear model realizations as follows:
Definition II.1 (Linear and bilinear model realizations).
A model realization of over the set of observables is bilinear if there exist sets of coefficients , , , and such that
(12) |
for and
(13) |
for where is shorthand for , , and . If for all , then the realization is said to be linear.
The lifted state of these realizations consists entirely of observables that depend on the state only, and the input appears only in linear and bilinear terms.
As stated previously, realizations are not unique. They depend on the choice of observables over which they are defined. For a particular choice of observables to yield a bilinear or linear realization they must satisfy certain conditions. These conditions are presented in the following theorem.
Theorem II.1 (Necessary and sufficient conditions for linear and bilinear realizations).
The realization of the system governed by (1) over a set of observables is:
-
1.
Bilinear if and only if
(14) for and .
-
2.
Linear if an only if
(15) for and .
Note that linear systems are by definition also bilinear.
Proof.
The definition for both realizations specifies that the state can be recovered as a linear combination of the observables, i.e.
(16) | |||||
(17) | |||||
(18) |
The conditions specified by (14) and (15) are verified by applying the chain rule to the left hand side of (12):
(19) |
Plugging (19) into the definition of a bilinear realization from Def. II.1 then yields,
(20) | ||||
(21) |
Similarly, plugging (19) into the definition of a linear realization from Def. II.1 yields,
(22) | ||||
(23) |
∎
Since there are computational benefits to performing control synthesis with linear and bilinear realizations, we would prefer to choose sets of observables that admit a realization of one of these types. However, unless the dynamics of the system are known, it is not possible to verify whether a particular set of observables satisfies the conditions outlined in Theorem II.1. Nevertheless, as we show below, one can prove that for control-affine systems, a realization over is bilinear.
Corollary II.1.
If the system governed by (1) is control-affine and a set of observables is a basis of , then the realization of the system defined over is bilinear.
Proof.
The system being control-affine implies that there exists and such that
(24) |
Consider a realization generated by the Koopman operateor as in (8), then the function maps from to . Thus, the products of with and map from to , i.e. they are in . Given that is a basis for , it follows that
(25) | ||||
(26) |
This implies that for some set of coefficients ,
(27) | |||||
(28) | |||||
(29) |
Thus, (14) is satisfied. Additionally, the condition that is satisfied since and . ∎
A consequence of the preceding corollary is that every control-affine system has a valid bilinear realization over an infinite set of basis functions. Thus, generic sets of basis functions (i.e. polynomial, Fourier, or radial) can be used as the chosen set of observables in since linear combinations of them can represent arbitrary functions in . It should be noted that the theorem offers no such guarantee that a system has a valid linear realization, no matter the choice of basis functions. Therefore, realizations defined over a finite set of basis functions of the space of state-dependent observables will converge to a valid bilinear realization as the number of basis functions goes to infinity, but will not necessarily converge to a valid linear realization.
III Techniques for Data-Driven Realization
The previous section describes how a model realization can be constructed over a set of observables using the Koopman operator. This section describes how to identify matrix approximations of the Koopman operator from data such that they can be used to produce model realizations that are linear, bilinear, or nonlinear.
III-A Approximation of the Koopman operator from data
The restriction of the Koopman operator to a finite-dimensional subspace can be represented as a matrix. Using the Extended Dynamic Mode Decomposition (EDMD) algorithm [11, 12, 13], we identify a finite-dimensional matrix approximation of the Koopman operator via linear regression applied to observed data.
We first specify a finite-dimensional subspace as the span of a chosen set of linearly independent observables . We then define a lifting function which evaluates each of the observables and stacks them into a vector:
(30) |
where and .
To approximate the discrete time Koopman operator from a set of experimental data, we take discrete measurements in the form of so-called “snapshots” where
(31) | ||||
(32) |
denotes the time corresponding to the measurement, is a constant input applied between and , and is the sampling period, which is assumed to be identical for all snapshots. Note that consecutive snapshots do not have to be generated by consecutive measurements.
By definition, the action of the discrete time Koopman operator advances the value of observables one time-step. Therefore, the best matrix approximation of it in the least-squares sense, denoted , is the minimizer to
(33) |
III-B Linear Model Realization
The Koopman matrix on the subspace spanned by a set of observables can be constructed such that it is decomposable into a linear system representation. One way to achieve this is to define the first basis functions as functions of the state only, and the last basis functions as projections onto each component of the input, i.e.
(35) |
where denotes the projection onto the component of the input. This choice ensures that the input only appears in the last components of the lifted vector .
The Koopman matrix can be identified from data according the steps laid out in Section III-A. Then, by construction, the coefficients for a linear realization of the form specified in (12) are embedded within the first rows of the transpose of the Koopman matrix in the following manner,
(36) |
where
(37) |
and the subscripts in curly brackets denote the dimensions of each matrix.
For convenience, we can define the first basis functions as projections onto each component of the state, i.e.
(38) |
Then, the coefficients of the output equations of (13) can be defined as simply
(39) |
III-C Bilinear Model Realization
With a suitable choice of observables , the Koopman matrix can be constructed such that it is decomposable into a bilinear system representation. The first observables are defined as functions of the state only, the next observables are defined as the product of the first basis functions and each component of the input, and the last basis functions are defined as projections onto each component of the input, i.e.
(40) |
The Koopman matrix can be identified from data according the steps laid out in Section III-A. Then, by construction, the coefficients for a bilinear realization of the form specified in (12) are embedded within the first rows of the transpose of the Koopmn matrix in the following manner,
(41) |
where and are defined as in (37) and
(42) |
III-D Nonlinear Model Realization
If the Koopman matrix is identified on a subspace spanned by a set observables other than the type specified in Sections III-B and III-C, then the realization it produces will be nonlinear, i.e. it may contain nonlinear functions of the input. Such a representation takes the form of a linear combination of the basis functions for each component of the state:
(43) |
Assuming once again that the first observables are defined as projections onto each component of the state as in (38), by construction, the coefficients are embedded within the first rows of the transpose of the Koopman matrix, i.e.
(44) |
III-E Model Predictive Control
Model predictive control algorithms optimally choose a sequence of control inputs given a desired output trajectory and system model [4]. This system model can be either linear or nonlinear, but linear models have computational advantages over nonlinear ones. Namely, the MPC optimization problem for linear models is convex, while for nonlinear models it is not.
The MPC optimization problem for linear systems is convex because it has a quadratic cost function and linear constraints. Since it is convex, it has a unique globally optimal solution that can efficiently be constructed without initialization even for models with thousands of states and inputs [19, 20, 21]. This contrasts sharply with the MPC formulation for nonlinear systems which requires solving an optimization problem with nonlinear constraints and a (potentially) nonlinear cost function [22]. As a result, algorithms to solve such problems typically require initialization and can struggle to find globally optimal solutions [23]. Though techniques have been proposed to improve the speed of algorithms to solve nonlinear MPC problems [24, 25] or even globally solve such problems without requiring initialization [26], these formulations still take orders of magnitude more time per iteration, which can make them too slow to be applied for real-time control.
In this paper we implement three model predictive controller algorithms which we refer to by the following abbreviations:
-
•
K-MPC: Koopman-based linear MPC
-
•
K-BMPC: Koopman-based bilinear MPC
-
•
K-NMPC: Koopman-based nonlinear MPC
The K-MPC and K-NMPC controllers are standard model predictive controllers that use linear and nonlinear Koopman model realizations to generate predictions, respectively. Similarly, the K-BMPC controller uses a bilinear Koopman model realization to generate predictions. However, bilinear constraints would render the problem non-convex, so we instead rely on a linear approximation constructed by fixing the value of the lifted state in the bilinear terms over the prediction horizon, . The dynamics constraints in the K-BMPC optimization problem then become:
(45) | ||||
(46) |
for and , where denotes a discrete time index. The resulting linear dynamics approximate the behavior of the bilinear realization in a neighborhood of the initial lifted state . This introduces prediction error, but turns it into a convex quadratic program which can be solved quickly enough to be updated at every time-step.
The main difference between the K-BMPC controller and the other model predictive control algorithms is that it does not generate optimal solutions with respect to the model upon which it is based. Instead, the solutions it generates are optimal with respect to a linear approximation of the actual bilinear model predictive control problem. It is important to note, however, that all finite-dimensional Koopman realizations constructed from data are mere approximations of the true dynamics of a system. Hence, even the optimal solutions to the model predictive control problems are not necessarily optimal with respect to the true dynamics of the system.
IV Experiments and Results
To evaluate the relative performance of linear, bilinear, and nonlinear Koopman realizations for modeling and control of a realistic robotic system, we applied the methods from Section III to the simulated planar arm system shown in Fig. 1.
The arm has 3-links each of mass g and length m and 3 joints each with a stiffness of N/rad and a viscous damping coefficient of Ns/rad. The input into the system is a set of applied joint torques and the output is the location of the end of each link expressed as a dimensional vector of Cartesian coordinates,
(47) | ||||
(48) |
as shown in Fig. 1. A set of 12000 snapshots was collected for a time step of seconds over a range of randomized initial conditions and inputs for the purposes of identifying matrix approximations of the Koopman operator as well as linear, bilinear, and nonlinear model realizations of the system.

IV-A Model Prediction Comparison
The predictive accuracy of various models identified using the Koopman approach depends on both the model type (e.g. linear, bilinear, or nonlinear) as well as the number of basis functions. We identified several models of each type on subspaces spanned by monomial basis functions.
The sets of basis functions used for identifying the linear models consisted of all monomials of the components of the state up to a specific degree denoted , plus the projections onto each component of the input, i.e.
(49) | ||||
where and . The sets of basis functions used for identifying bilinear models consisted of the same monomials as well as the product of each monomial with each component of the input, i.e.
(50) | |||
where and . The sets of basis functions used for identifying nonlinear models consisted of monomials up to degree of both the input and the state, i.e.
(51) | |||
where .
Six linear models were identified for values of , three bilinear models were identified for values of , and four nonlinear models were identified for values of . Table I indicates the total number of basis functions, i.e. dim, used for identifying the Koopman operator matrix for each model. The prediction accuracy of each model was evaluated by comparing model simulations to validation data and computing the average error over all validation data points. This error was quantified as the Euclidean distance between the predicted and real outputs in .
Fig. 2 displays the prediction error verses the dimension of the Koopman operator matrix for each model. The error shown in the plot is normalized by the average error incurred by the zero response. The accuracy of the linear model increases very little, even when the dimension of the system is increased by several orders of magnitude. The bilinear and nonlinear models become more accurate as the dimension increases.
of basis functions, i.e. | |||
Linear | Bilinear | Nonlinear | |
1 | 10 | 28 | 10 |
2 | 31 | 112 | 55 |
3 | 87 | 336 | 220 |
4 | 213 | - | 715 |
5 | 465 | - | - |
6 | 927 | - | - |

IV-B Control Performance Comparison
To highlight the relative strengths and weaknesses of the Koopmans-based control techniques described in Section IV-A, we applied them to the simulated 3-link planar arm system. A K-MPC controller, K-BMPC controller, and K-NMPC controller was constructed from the linear, bilinear, and nonlinear model realizations identified in Section IV-A for , respectively. Each controller was then employed to perform the same trajectory following task. Video of this experiment can be found in a supplementary video file111https://youtu.be/9uLqNpnfr7M.
Each controller computed solutions over a step horizon and had identical cost functions. The desired task was to move the end effector of the arm along a planar reference trajectory. Therefore, a cost function was chosen that penalizes the distance between the actual end effector coordinates and the desired coordinates at each time-step, as well as the magnitude of the input to distinguish between multiple robot configurations that all achieve the desired end effector placement.
The control experiment was conducted in simulation. At each time-step, the current output of the system is measured and used to initialize the MPC optimization problem. Once a solution is computed, the system is simulated forward one time-step ( seconds) under the optimal input. This procedure is repeated until the end of the reference trajectory is reached.
The reference trajectory traces out the shape of a block letter M over a time period of 15 seconds, starting from the robot’s hanging position. Fig. 3 shows the path of the end effector using each of the controllers, and Fig. 4 displays the mean tracking error and mean computation time over all time-steps. The tracking error at each time-step is quantified as the Euclidean distance between the actual and desired end effector locations. The computation time per iteration is the amount of time it takes to solve the MPC optimization problem and does not include the time to simulate the response of the system. All three trials were run on a computer with 64 GB RAM and a 2.4 GHz CPU.


V Discussion and Conclusion
The results of the model prediction comparison described in Section IV-A illustrates the advantages of bilinear realizations for systems with unknown dynamics. As expected, as the number of basis functions increases, the prediction error of the bilinear model decreases, indicating progress toward a true infinite-dimensional bilinear realization. The linear model, on the other hand, does not improve with the inclusion of more basis functions, indicating that an infinite-dimensional linear realization over monomial basis functions probably doesn’t exist.
It is clear by inspection of Fig. 3 that the K-MPC controller performs very poorly. This is confirmed quantitatively in Fig. 4 which shows that its mean tracking error is more than 15 larger than that of the other controllers. This poor performance can be attributed to the inaccuracy of the linear Koopman model realization upon which it is based, which is documented in Fig. 2. The K-BMPC and K-NMPC controllers track the desired trajectory with much greater fidelity, reflecting the greater accuracy of the bilinear and nonlinear model realizations upon which they are based.
In Section II-B, we asserted that K-NMPC is much less computationally efficient than the other controllers, and that is confirmed by the results of this experiment. As seen in Fig. 4, the mean computation time for K-NMPC is more than 500 larger than that of the other two controllers. This computation time greatly exceeds the ms duration of a single time-step, making it incompatible with closed-loop operation. Hence, if this robot were a real physical system, the control inputs would have to be computed offline.
Based on the results of this experiment, only K-BMPC would be a viable closed-loop controller for this system. Its mean computation time is much less than a single time-step, and despite the suboptimality of its solutions, its mean tracking error is nearly equivalent to that of K-NMPC. Roughly speaking, K-MPC fast but inaccurate, K-NMPC is accurate but slow, and K-BMPC is both fast and accurate.
This works shows that when the dynamics of a system are completely unknown, a bilinear Koopman realization constructed from data is likely to yield better overall modeling and control results than a linear or nonlinear Koopman realization. This is justified theoretically in Section II and demonstrated practically in Section IV. We proved that control-affine systems have infinite-dimensional bilinear realizations but not necessarily linear ones. Therefore, approximate bilinear realizations constructed from generic sets of basis functions improve as the number of basis functions increases, whereas approximate linear realizations may not.
Bilinear realizations combine the computational efficiency of linear realizations with the prediction accuracy of nonlinear realizations. However, the bilinear model predictive control framework used in this paper could likely be improved. Further work should investigate theoretical guarantees for bilinear controllers, and explore new approaches to optimal control of bilinear dynamical systems.
References
- [1] K. J. Aström and R. M. Murray, Feedback systems: an introduction for scientists and engineers. Princeton university press, 2010.
- [2] M. Budišić, R. Mohr, and I. Mezić, “Applied koopmanism,” Chaos: An Interdisciplinary Journal of Nonlinear Science, vol. 22, no. 4, p. 047510, 2012.
- [3] B. D. Anderson and J. B. Moore, Optimal control: linear quadratic methods. Courier Corporation, 2007.
- [4] J. B. Rawlings and D. Q. Mayne, Model predictive control: Theory and design. Nob Hill Pub. Madison, Wisconsin, 2009.
- [5] M. Korda and I. Mezić, “Linear predictors for nonlinear dynamical systems: Koopman operator meets model predictive control,” Automatica, vol. 93, pp. 149–160, 2018.
- [6] I. Abraham, G. De La Torre, and T. D. Murphey, “Model-based control using koopman operators,” arXiv preprint arXiv:1709.01568, 2017.
- [7] G. Mamakoukas, M. Castano, X. Tan, and T. Murphey, “Local koopman operators for data-driven control of robotic systems,” in Robotics: science and systems, 2019.
- [8] I. Abraham and T. D. Murphey, “Active learning of dynamics for data-driven control using koopman operators,” IEEE Transactions on Robotics, vol. 35, no. 5, pp. 1071–1083, 2019.
- [9] D. Bruder, B. Gillespie, C. D. Remy, and R. Vasudevan, “Modeling and control of soft robots using the koopman operator and model predictive control,” in Proceedings of Robotics: Science and Systems, FreiburgimBreisgau, Germany, June 2019.
- [10] D. Bruder, X. Fu, R. B. Gillespie, C. D. Remy, and R. Vasudevan, “Koopman-based control of a soft continuum manipulator under variable loading conditions,” arXiv preprint arXiv:2002.01407, 2020.
- [11] M. O. Williams, I. G. Kevrekidis, and C. W. Rowley, “A data–driven approximation of the koopman operator: Extending dynamic mode decomposition,” Journal of Nonlinear Science, vol. 25, no. 6, pp. 1307–1346, 2015.
- [12] A. Mauroy and J. Goncalves, “Linear identification of nonlinear systems: A lifting technique based on the koopman operator,” arXiv preprint arXiv:1605.04457, 2016.
- [13] ——, “Koopman-based lifting techniques for nonlinear systems identification,” arXiv preprint arXiv:1709.02003, 2017.
- [14] C. Bakker, S. Rosenthal, and K. E. Nowak, “Koopman representations of dynamic systems with control,” arXiv preprint arXiv:1908.02233, 2019.
- [15] D. Goswami and D. A. Paley, “Global bilinearization and reachability analysis of control-affine nonlinear systems,” in The Koopman Operator in Systems and Control. Springer, 2020, pp. 81–98.
- [16] S. Peitz, S. E. Otto, and C. W. Rowley, “Data-driven model predictive control using interpolated koopman generators,” SIAM Journal of Applied Dynamical Systems, vol. 19, no. 3, 2020.
- [17] N. J. Higham, Functions of matrices: theory and computation. Siam, 2008, vol. 104.
- [18] S. L. Brunton, B. W. Brunton, J. L. Proctor, and J. N. Kutz, “Koopman invariant subspaces and finite linear representations of nonlinear dynamical systems for control,” PloS one, vol. 11, no. 2, 2016.
- [19] S. Boyd and L. Vandenberghe, Convex optimization. Cambridge university press, 2004.
- [20] J. A. Paulson, A. Mesbah, S. Streif, R. Findeisen, and R. D. Braatz, “Fast stochastic model predictive control of high-dimensional systems,” in Decision and Control (CDC), 2014 IEEE 53rd Annual Conference on. IEEE, 2014, pp. 2802–2809.
- [21] B. Stellato, G. Banjac, P. Goulart, A. Bemporad, and S. Boyd, “Osqp: An operator splitting solver for quadratic programs,” in 2018 UKACC 12th International Conference on Control (CONTROL). IEEE, 2018, pp. 339–339.
- [22] F. Allgöwer and A. Zheng, Nonlinear model predictive control. Birkhäuser, 2012, vol. 26.
- [23] E. Polak, Optimization: algorithms and consistent approximations. Springer Science & Business Media, 2012, vol. 124.
- [24] M. A. Patterson and A. V. Rao, “Gpops-ii: A matlab software for solving multiple-phase optimal control problems using hp-adaptive gaussian quadrature collocation methods and sparse nonlinear programming,” ACM Transactions on Mathematical Software (TOMS), vol. 41, no. 1, p. 1, 2014.
- [25] A. Hereid and A. D. Ames, “Frost: Fast robot optimization and simulation toolkit,” in Intelligent Robots and Systems (IROS), 2017 IEEE/RSJ International Conference on. IEEE, 2017, pp. 719–726.
- [26] P. Zhao, S. Mohan, and R. Vasudevan, “Control synthesis for nonlinear optimal control via convex relaxations,” in American Control Conference (ACC), 2017. IEEE, 2017, pp. 2654–2661.