Probabilistic Trajectory Prediction with Gaussian Mixture Models

Probabilistic Trajectory Prediction with Gaussian Mixture Models

Trajectory Representation

input data: short trajectory pieces.

Trajectory $T$:
$$
T = ((x_0,y_0,z_0),t0), \cdots, ((x_{N-1},y_{N-1},z_{N-1}),t_{N-1}) described by $p_X, p_y, p_z$
$$
described by $p_X, p_y, p_z$ or described by roll, pitch and yaw angle $\phi(t_i), \theta(t_i), \psi(t_i)$ and velocity $v_x, v_y,v_z$.

Chebyshev decomposition on the components of trajectory $\rightarrow$ coefficients as input features of GMM

  • polynomial $T_n$ of degree $n$
    $$
    T_n (x) = \cos(n \arccos (x))
    $$
    in detail,
    $$
    T_0(x) = 1 \
    T_1(x) = x \
    T_{n+1}(x) = 2x T_n(x) - T_{n-1}(x), \ n\ge 1
    $$

  • To approximate any arbitrary function $f(x)$ in $[-1,1]$, the Chebyshev coefficients are
    $$
    c_n = \frac {2}{N} \sum\limits_{k=0}^{N-1} f(x_k) T_n(x_k)
    $$
    where $x_k$ are N zeros of $T_N(x)$.

    reformulate as
    $$
    f(x) \approx \sum\limits_{n=0}^{m-1} c_n T_n(x) -\frac{1}{2}c_0
    $$

code

numpy.polynomial.chebyshev

Basics
chebval(x, c[, tensor]) Evaluate a Chebyshev series at points x.
chebval2d(x, y, c) Evaluate a 2-D Chebyshev series at points (x, y).
chebval3d(x, y, z, c) Evaluate a 3-D Chebyshev series at points (x, y, z).
chebgrid2d(x, y, c) Evaluate a 2-D Chebyshev series on the Cartesian product of x and y.
chebgrid3d(x, y, z, c) Evaluate a 3-D Chebyshev series on the Cartesian product of x, y, and z.
chebroots(c) Compute the roots of a Chebyshev series.
chebfromroots(roots) Generate a Chebyshev series with given roots
Fitting
chebfit(x, y, deg[, rcond, full, w]) Least squares fit of Chebyshev series to data.
chebvander(x, deg) Pseudo-Vandermonde matrix of given degree.
chebvander2d(x, y, deg) Pseudo-Vandermonde matrix of given degrees.
chebvander3d(x, y, z, deg) Pseudo-Vandermonde matrix of given degrees.