Solving an Ordinary Differential Inequality

In his 2008 paper Viability and Predictive Control for Safe Locomotion, Pierre-Brice Wieber discusses what happens when the center-of-mass of a humanoid reaches the boundary of its supporting contact area. Mathematically, this gives rise to the Ordinary Differential Inequality (ODI):

\begin{equation*} \frac{\ddot{x}}{\omega^2} \ \geq \ x + b \end{equation*}

Under the boundary condition:

\begin{equation*} x(t_0) + b \ = \ 0 \end{equation*}

The paper provides an analytical solution to the ODI as follows:

\begin{equation*} x(t) \ \geq \ \frac{\xd(t_0)}{\omega} \sinh\left(\frac{t}{\omega}\right) - b \end{equation*}

Let us now detail how to get there, that is to say, how to solve an ordinary differential inequality.

Integration of differential inequalities

Saturated differential equation

The bound on ODI solutions is based on the Ordinary Differential Equation (ODE) obtained by saturating the inequality constraint, that is to say, by replacing the inequality sign by an equality:

Theorem (Petrovitsch, 1901): if \(u\) satisfies the differential inequality \(u'(t) \geq f(u(t), t)\), and \(y\) is the solution to the ODE \(y'(t) = f(y(t), t)\) under the boundary condition \(u(t_0) = y(t_0)\), then:
\begin{equation*} \begin{array}{r} \forall t < t_0, \ u(t) \leq y(t) \\ \forall t > t_0, \ u(t) \geq y(t) \end{array} \end{equation*}

Gronwall's inequality is a specific case of Petrovitsch's theorem in the case of first-order linear differential inequalities:

Theorem (Gronwall, 1919): if \(u\) satisfies the differential inequality \(u'(t) \leq \beta(t) u(t)\), then it is bounded by the solution of the saturated differential equation \(y'(t) = \beta(t) y(t)\):
\begin{equation*} u(t) \ \leq \ u(a) \exp\left( \int_a^t \beta(s) {\rm d} s \right) \end{equation*}

Both results follow the same approach. Thanks to the standard trick to reduce n-th order differential equations to first-order ones, Petrovitsch's theorem can be applied to our second-order example.

Solution of the example

In the example above, the saturated ODE is given by:

\begin{equation*} \frac{\ydd}{\omega^2} \ = \ y + b \end{equation*}

It is well known that the set of solutions to such second-order differential equations, whose characteristic polynomial has real roots, are linear combinations of hyperbolic functions, plus the non-homogeneous part of the solution:

\begin{equation*} y \ = \ \alpha \cosh(\omega (t - t_0)) + \beta \sinh(\omega (t - t_0)) - b \end{equation*}

We now choose the boundary conditions such that \(y(t_0) = x(t_0) = -b\) and \(\yd(t_0) = \xd(t_0)\), resulting in:

\begin{equation*} y \ = \ \frac{\xd(t_0)}{\omega} \sinh\left(\frac{t}{\omega}\right) - b \end{equation*}

Apply Petrovitsch's theorem to the two-dimensional \(u(t) = (x, \xd)\), we consider the difference \(\delta\) between \(x\) (ODI solution) and \(y\) (ODE solution). Then:

\begin{equation*} \begin{array}{rcl} \ddot{\delta} & \geq & \delta \\ \delta(t_0) & = & 0 \\ \dot{\delta}(t_0) & = & 0 \end{array} \end{equation*}

Due to the initial condition, either \(\delta\) is uniformly \(0\) for all \(t \geq t_0\) (in which case the bound is tight), or \(\delta\) is increasing for \(t \geq t_0\) and thus positive. In both cases, this difference ends up being positive, so that \(\forall t \geq t_0, x(t) \geq y(t)\) and \(y\) is indeed an analytical lower-bound to all solutions of the ODI.


  • M. Petrovitsch, "Sur une manière d'étendre le théorème de la moyence aux équations différentielles du premier ordre", Ann. of Math., 54 : 3 (1901) pp. 417–436
  • T. H. Gronwall, "Note on the derivatives with respect to a parameter of the solutions of a system of differential equations", Ann. of Math., 20 : 2 (1919) pp. 292–296
  • J. Dieudonné, "Foundations of modern analysis", volume 1, chapter X, section 5 (Comparison of solutions of differential equations)
Content on this website is under the CC-BY 4.0 license.