QuITO (Quasi-Interpolation driven Trajectory Optimization)
What is it?
QuITO v.2
is a technique for trajectory optimization supported by solid theory and accompanied by a Matlab toolbox. It employs the direct approach of discretize-and-then-optimize strategy to numerically solve constrained optimal control problems defined over a finite horizon, and guarantees, under mild hypotheses on the problem data, tight approximations of the optimal control trajectories uniformly within preassigned bounds.
What does it do?
Two key points of departure distinguish QuITO
from conventional techniques. Firstly, the errors are measured in the uniform metric \(\|\cdot\|_{\textrm{u}}\), which captures the maximal deviation between two trajectories. This feature is rare: most conventional techniques relying on Hilbert space methods of approximation quantify errors in terms of the energy of the difference between two candidate trajectories instead of their maximal deviation, which may lead to undesirable “ringing” or waterbed effects. A large array of techniques (including numerical software) for best approximation on Hilbert spaces is available today, and most trajectory optimization methods rely on them.
Uniform and \(L_2\) metrics
Suppose that \([\bar t, \hat t] \subset \mathbb{R}\) is an interval and \(u_1, u_2 :[\bar t, \hat t]\to \mathbb{U} \subset \mathbb{R}^m\) are two continuous control trajectories, and fix a norm \(\|\cdot\|\) on \(\mathbb{R}^m\).
|
It is important to note that the object to be approximated in our setting is an optimal control trajectory, and it is never available, not even for sampling purposes. Indeed, it is the output of an infinite-dimensional constrained optimal control problem that one cannot, generically speaking, solve analytically; one cannot solve it numerically either without incurring some approximation.[1] Direct optimization techniques approximate the infinite dimensional problem by finitely discretizing the time horizon, the objective function, and the corresponding differential equations on the resulting grid, and then employ nonlinear programming to solve the discretized constrained optimization problem.
Of course, the approximate optimal control trajectories should be close to the actual optimal control trajectories for the preceding procedure to make sense. Conventional techniques typically ensure this closeness in the \(L_2\) sense, a feature that ensures fast computation but may in certain cases lead to undesirable artifacts (e.g., the “ringing” phenomenon) in some problems. QuITO
adopts an approximation technique that is distinctly different from \(L_2\)-methods, and targets uniform approximation of the constructed and optimal trajectories.
Secondly, the aforementioned uniform error margin, say \(\varepsilon > 0\), is assigned a priori and then a synthesis procedure fine-tuned to this error margin is carried out. This means the following:
Preassigned uniform error bounds
Depending on \(\varepsilon\), the designer picks certain parameters involved in the approximation procedure such that the approximation of the optimal control trajectory produced by |
The numerical experiments on benchmark problems indicate that QuITO v.2
is generally successful in eliminating “rining” but at the expense of greater computation time relative to some of the alternatives available today. (Note that our efforts have so far not been directed at speeding up the computations.) Moreover, although the theoretical results reported in GC2024 relate to problems that feature Lipschitz continuous optimal control trajectories, QuITO v.2
has also performed quite well (as reported in GC2024) in problems that feature optimal control trajectories with isolated discontinuities; illustrations may be found in GC2024 and the library of examples included in the software library.
It is possible, of course, to refine the numerical procedure and fine-tune it to \(L_p\)-approximation of such discontinuous optimal control trajectories for sufficiently large \(p < +\infty\) (note that it is impossible to approximate discontinuous optimal control trajectories in the uniform metric unless all points of discontinuity are perfectly known and representable exactly on a computing system), and we shall carry out this procedure in subsequent works.
Team of developers
-
The first version of
QuITO
was developed by Nakul Randad, Siddhartha Ganguly, Mukesh Raj, and Rihan Aaron D’Silva. -
QuITO v.2
was developed by Siddhartha Ganguly, Rihan Aaron D’Silva. -
The development of
QuITO
benefitted from early discussions with Ravi Banavar and subsequent encouragement from Ashish Hota, Mayank Baranwal, and Rohit Gupta. -
I played a supervisory role.
Special mention…
... must be made of an anonymous reviewer of GRDRC2023, who, through their singularly negative comments, spurred a comparative study of |