Model Predictive Control (MPC) works by finding a set of controls $u_0, \dots, u_n$ that minimize a cost function $J$ over a time-horizon $[t, t + T]$. Typically when MPC is used on mobile robots, each control $u_k$ is a vector of velocity commands that are applied for the duration $\delta$ of a slice $[t + \delta k, t + \delta (k + 1))$ of the time-horizon. The consequence is that for a given time-horizon size $T$, we need to optimize over $\lceil \frac{T}{\delta} \rceil$ controls.

I'm looking into using MPC for path-following, and I had the idea of using $n$-degree polynomials to generate the components of $u_k$, then redefine $J$ in terms of the polynomial coefficients. For example, in the case of a differential platform, use one polynomial $v(k) = v_t + a_1 k + a_2 k^2 \dots a_n k^n$ to generate linear velocities, $w(k) = w_t + b_1 k + b_2 k^2 \dots b_n k^n$ to generate angular velocities, and have the MPC optimize over $a_1, \dots, a_n, b_1, \dots, b_n$. That way we have $2n$ independent variables regardless the values of $\delta$ and $T$; additionally, $v(k)$ and $w(k)$ could easily be differentiated to provide optimization constraints over acceleration, jerk etc.

This seemed like a reasonable idea to me, so I was certain I would find it already covered in the literature. However almost all articles I've seen so far stick to the approach of defining one independent control set per time slice; the only exception is this one, which instead optimizes over the space of targets for a pure-pursuit-like control law.

Am I missing something? Is there an obvious reason this approach wouldn't work (or at least not be worth the trouble) that I'm overlooking? Is it documented somewhere and I just wasn't able to find any references?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.