liba 0.1.15
An algorithm library based on C/C++
|
Data Structures | |
struct | a_trajpoly7 |
instance structure for hepta polynomial trajectory More... | |
Macros | |
#define | A_TRAJPOLY7 4 |
Typedefs | |
typedef struct a_trajpoly7 | a_trajpoly7 |
Functions | |
void | a_trajpoly7_gen (a_trajpoly7 *ctx, double ts, double p0, double p1, double v0, double v1, double a0, double a1, double j0, double j1) |
generate for hepta polynomial trajectory | |
void | a_trajpoly7_gen0 (a_trajpoly7 *ctx, double ts, double p0, double p1, double v0, double v1, double a0, double a1, double j0, double j1) |
void | a_trajpoly7_gen1 (a_trajpoly7 *ctx) |
void | a_trajpoly7_gen2 (a_trajpoly7 *ctx) |
void | a_trajpoly7_gen3 (a_trajpoly7 *ctx) |
double | a_trajpoly7_pos (a_trajpoly7 const *ctx, double x) |
calculate position for hepta polynomial trajectory | |
double | a_trajpoly7_vel (a_trajpoly7 const *ctx, double x) |
calculate velocity for hepta polynomial trajectory | |
double | a_trajpoly7_acc (a_trajpoly7 const *ctx, double x) |
calculate acceleration for hepta polynomial trajectory | |
double | a_trajpoly7_jer (a_trajpoly7 const *ctx, double x) |
calculate jerk for hepta polynomial trajectory | |
double a_trajpoly7_acc | ( | a_trajpoly7 const * | ctx, |
double | x ) |
calculate 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}
[in] | ctx | points to an instance of hepta polynomial trajectory |
[in] | x | difference between current time and initial time |
void a_trajpoly7_gen | ( | a_trajpoly7 * | ctx, |
double | ts, | ||
double | p0, | ||
double | p1, | ||
double | v0, | ||
double | v1, | ||
double | a0, | ||
double | a1, | ||
double | j0, | ||
double | 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}
[in,out] | ctx | points to an instance of hepta polynomial trajectory |
[in] | ts | difference between final time and initial time |
[in] | p0 | initial position |
[in] | p1 | final position |
[in] | v0 | initial velocity |
[in] | v1 | final velocity |
[in] | a0 | initial acceleration |
[in] | a1 | final acceleration |
[in] | j0 | initial jerk |
[in] | j1 | final jerk |
double a_trajpoly7_jer | ( | a_trajpoly7 const * | ctx, |
double | x ) |
calculate 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}
[in] | ctx | points to an instance of hepta polynomial trajectory |
[in] | x | difference between current time and initial time |
double a_trajpoly7_pos | ( | a_trajpoly7 const * | ctx, |
double | x ) |
calculate 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}
[in] | ctx | points to an instance of hepta polynomial trajectory |
[in] | x | difference between current time and initial time |
double a_trajpoly7_vel | ( | a_trajpoly7 const * | ctx, |
double | x ) |
calculate 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}
[in] | ctx | points to an instance of hepta polynomial trajectory |
[in] | x | difference between current time and initial time |