35 #ifndef DWB_PLUGINS_ONE_D_VELOCITY_ITERATOR_H
36 #define DWB_PLUGINS_ONE_D_VELOCITY_ITERATOR_H
56 inline double projectVelocity(
double v0,
double accel,
double decel,
double dt,
double target)
64 magnitude = fabs(accel);
68 magnitude = -fabs(accel);
76 magnitude = fabs(accel);
81 magnitude = -fabs(decel);
89 magnitude = fabs(decel);
94 magnitude = -fabs(accel);
98 double v1 = v0 + magnitude * dt;
101 return std::min(target, v1);
105 return std::max(target, v1);
136 OneDVelocityIterator(
double current,
double min,
double max,
double acc_limit,
double decel_limit,
double acc_time,
143 else if (current > max)
156 num_samples = std::max(2, num_samples);
215 #endif // DWB_PLUGINS_ONE_D_VELOCITY_ITERATOR_H