liba 0.1.15
An algorithm library based on C/C++
Loading...
Searching...
No Matches
hepta polynomial trajectory
Collaboration diagram for hepta polynomial trajectory:

Data Structures

struct  a_trajpoly7
 instance structure for hepta polynomial trajectory More...

Typedefs

typedef struct a_trajpoly7 a_trajpoly7

Functions

void a_trajpoly7_gen (a_trajpoly7 *ctx, a_real ts, a_real p0, a_real p1, a_real v0, a_real v1, a_real a0, a_real a1, a_real j0, a_real j1)
 generate for hepta polynomial trajectory
void a_trajpoly7_c0 (a_trajpoly7 const *ctx, a_real c[8])
 compute coefficients of position for hepta polynomial trajectory
void a_trajpoly7_c1 (a_trajpoly7 const *ctx, a_real c[7])
 compute coefficients of velocity for hepta polynomial trajectory
void a_trajpoly7_c2 (a_trajpoly7 const *ctx, a_real c[6])
 compute coefficients of acceleration for hepta polynomial trajectory
void a_trajpoly7_c3 (a_trajpoly7 const *ctx, a_real c[5])
 compute coefficients of jerk for hepta polynomial trajectory
a_real a_trajpoly7_pos (a_trajpoly7 const *ctx, a_real x)
 compute position for hepta polynomial trajectory
a_real a_trajpoly7_vel (a_trajpoly7 const *ctx, a_real x)
 compute velocity for hepta polynomial trajectory
a_real a_trajpoly7_acc (a_trajpoly7 const *ctx, a_real x)
 compute acceleration for hepta polynomial trajectory
a_real a_trajpoly7_jer (a_trajpoly7 const *ctx, a_real x)
 compute jerk for hepta polynomial trajectory

Detailed Description

Function Documentation

◆ a_trajpoly7_acc()

a_real a_trajpoly7_acc ( a_trajpoly7 const * ctx,
a_real x )

compute acceleration for hepta polynomial trajectory

\begin{aligned} \begin{array}{l} \ddot{p}(t)=2 c_{2}+6 c_{3}\left(t-t_{0}\right)+12 c_{4}\left(t-t_{0}\right)^{2}+20 c_{5}\left(t-t_{0}\right)^{3}+30 c_{6}\left(t-t_{0}\right)^{4}+42 c_{7}\left(t-t_{0}\right)^{5}\\ \end{array} \end{aligned}

Parameters
[in]ctxpoints to an instance of hepta polynomial trajectory
[in]xdifference between current time and initial time
Returns
acceleration output

◆ a_trajpoly7_c0()

void a_trajpoly7_c0 ( a_trajpoly7 const * ctx,
a_real c[8] )

compute coefficients of position for hepta polynomial trajectory

Parameters
[in]ctxpoints to an instance of hepta polynomial trajectory
[out]ccoefficients of position

◆ a_trajpoly7_c1()

void a_trajpoly7_c1 ( a_trajpoly7 const * ctx,
a_real c[7] )

compute coefficients of velocity for hepta polynomial trajectory

Parameters
[in]ctxpoints to an instance of hepta polynomial trajectory
[out]ccoefficients of velocity

◆ a_trajpoly7_c2()

void a_trajpoly7_c2 ( a_trajpoly7 const * ctx,
a_real c[6] )

compute coefficients of acceleration for hepta polynomial trajectory

Parameters
[in]ctxpoints to an instance of hepta polynomial trajectory
[out]ccoefficients of acceleration

◆ a_trajpoly7_c3()

void a_trajpoly7_c3 ( a_trajpoly7 const * ctx,
a_real c[5] )

compute coefficients of jerk for hepta polynomial trajectory

Parameters
[in]ctxpoints to an instance of hepta polynomial trajectory
[out]ccoefficients of jerk

◆ a_trajpoly7_gen()

void a_trajpoly7_gen ( a_trajpoly7 * ctx,
a_real ts,
a_real p0,
a_real p1,
a_real v0,
a_real v1,
a_real a0,
a_real a1,
a_real j0,
a_real j1 )

generate for hepta polynomial trajectory

\begin{aligned} \left\{\begin{array}{l} t=t_{1}-t_{0}\\ p=p_{1}-p_{0}\\ c_{0}=p_{0}\\ c_{1}=v_{0}\\ c_{2}=\cfrac{a_{0}}{2}\\ c_{3}=\cfrac{j_{0}}{6}\\ c_{4}=\cfrac{\left(-4\,j_{0}-j_{1}\right)\,t^3+\left(15\,a_{1}-30\,a_{0}\right)\,t^2+\left(-120\,v_{0}-90\,v_{1}\right)\,t+210\,p}{6\,t^4}\\ c_{5}=\cfrac{\left(2\,j_{0}+j_{1}\right)\,t^3+\left(20\,a_{0}-14\,a_{1}\right)\,t^2+\left(90\,v_{0}+78\,v_{1}\right)\,t-168\,p}{2\,t^5}\\ c_{6}=\cfrac{\left(-4\,j_{0}-3\,j_{1}\right)\,t^3+\left(39\,a_{1}-45\,a_{0}\right)\,t^2+\left(-216\,v_{0}-204\,v_{1}\right)\,t+420\,p}{6\,t^6}\\ c_{7}=\cfrac{\left(j_{0}+j_{1}\right)\,t^3+\left(12\,a_{0}-12\,a_{1}\right)\,t^2+\left(60\,v_{0}+60\,v_{1}\right)\,t-120\,p}{6\,t^7} \end{array}\right. \end{aligned}

Parameters
[in,out]ctxpoints to an instance of hepta polynomial trajectory
[in]tsdifference between final time and initial time
[in]p0initial position
[in]p1final position
[in]v0initial velocity
[in]v1final velocity
[in]a0initial acceleration
[in]a1final acceleration
[in]j0initial jerk
[in]j1final jerk

◆ a_trajpoly7_jer()

a_real a_trajpoly7_jer ( a_trajpoly7 const * ctx,
a_real x )

compute jerk for hepta polynomial trajectory

\begin{aligned} \begin{array}{l} p^{(3)}(t)=6 c_{3}+24 c_{4}\left(t-t_{0}\right)+60 c_{5}\left(t-t_{0}\right)^{2}+120 c_{6}\left(t-t_{0}\right)^{3}+210 c_{7}\left(t-t_{0}\right)^{4} \end{array} \end{aligned}

Parameters
[in]ctxpoints to an instance of hepta polynomial trajectory
[in]xdifference between current time and initial time
Returns
jerk output

◆ a_trajpoly7_pos()

a_real a_trajpoly7_pos ( a_trajpoly7 const * ctx,
a_real x )

compute position for hepta polynomial trajectory

\begin{aligned} \begin{array}{l} p(t)=c_{0}+c_{1}\left(t-t_{0}\right)+c_{2}\left(t-t_{0}\right)^{2}+c_{3}\left(t-t_{0}\right)^{3}+c_{4}\left(t-t_{0}\right)^{4}+c_{5}\left(t-t_{0}\right)^{5}+c_{6}\left(t-t_{0}\right)^{6}+c_{7}\left(t-t_{0}\right)^{7}\\ \end{array} \end{aligned}

Parameters
[in]ctxpoints to an instance of hepta polynomial trajectory
[in]xdifference between current time and initial time
Returns
position output

◆ a_trajpoly7_vel()

a_real a_trajpoly7_vel ( a_trajpoly7 const * ctx,
a_real x )

compute velocity for hepta polynomial trajectory

\begin{aligned} \begin{array}{l} \dot{p}(t)=c_{1}+2 c_{2}\left(t-t_{0}\right)+3 c_{3}\left(t-t_{0}\right)^{2}+4 c_{4}\left(t-t_{0}\right)^{3}+5 c_{5}\left(t-t_{0}\right)^{4}+6 c_{6}\left(t-t_{0}\right)^{5}+7 c_{7}\left(t-t_{0}\right)^{6}\\ \end{array} \end{aligned}

Parameters
[in]ctxpoints to an instance of hepta polynomial trajectory
[in]xdifference between current time and initial time
Returns
velocity output