47 #ifndef __UT_MinJerk_h__
48 #define __UT_MinJerk_h__
101 if (total_time == 0.0)
111 T c = acc0 * tt2 * 0.5;
113 T pos = pos1 - pos0 - b -
c;
114 T vel = vel1 * tt - b - 2.0 *
c;
115 T acc = acc1 * tt2 - 2.0 *
c;
117 T d = ( 10.0 * pos) - (4.0 * vel) + (0.5 * acc);
118 T e = (-15.0 * pos) + (7.0 * vel) - (1.0 * acc);
119 T f = ( 6.0 * pos) - (3.0 * vel) + (0.5 * acc);
121 T t = sample_time / total_time;
151 template <
typename T>
164 MinJerk(pos0, vel0, acc0, pos1, vel1, acc1, sample_time, total_time,
169 #define COLLECT_MINJERK_AXIS(I) \
170 MinJerk(pos0.I(), vel0.I(), acc0.I(), pos1.I(), vel1.I(), acc1.I(), \
171 sample_time, total_time, \
172 out.pos.I(), out.vel.I(), out.acc.I());
174 template <
typename T>
194 template <
typename T>
214 template <
typename T>
234 #undef COLLECT_MINJERK_AXIS
void MinJerk(const T pos0, const T vel0, const T acc0, const T pos1, const T vel1, const T acc1, const T sample_time, const T total_time, T &out_pos, T &out_vel, T &out_acc)
GLdouble GLdouble GLdouble z
GLboolean GLboolean GLboolean GLboolean a
GLboolean GLboolean GLboolean b
#define COLLECT_MINJERK_AXIS(I)
GLubyte GLubyte GLubyte GLubyte w