An iterator for generating a number of samples in a range. More...
#include <one_d_velocity_iterator.h>
Public Member Functions | |
double | getVelocity () const |
Get the next velocity available. | |
bool | isFinished () const |
OneDVelocityIterator (double current, double min, double max, double acc_limit, double decel_limit, double acc_time, int num_samples) | |
Constructor for the velocity iterator. | |
OneDVelocityIterator & | operator++ () |
Increment the iterator. | |
void | reset () |
Reset back to the first velocity. | |
Private Attributes | |
double | current_ |
double | increment_ |
double | max_vel_ |
double | min_vel_ |
bool | return_zero_ |
bool | return_zero_now_ |
An iterator for generating a number of samples in a range.
In its simplest usage, this gives us N (num_samples) different velocities that are reachable given our current velocity. However, there is some fancy logic around zero velocities and the min/max velocities
If the current velocity is 2 m/s, and the acceleration limit is 1 m/ss and the acc_time is 1 s, this class would provide velocities between 1 m/s and 3 m/s.
Definition at line 85 of file one_d_velocity_iterator.h.
dwb_plugins::OneDVelocityIterator::OneDVelocityIterator | ( | double | current, |
double | min, | ||
double | max, | ||
double | acc_limit, | ||
double | decel_limit, | ||
double | acc_time, | ||
int | num_samples | ||
) | [inline] |
Constructor for the velocity iterator.
current | Current velocity |
min | Minimum velocity allowable |
max | Maximum velocity allowable |
acc_limit | Acceleration Limit |
decel_limit | Deceleration Limit |
num_samples | The number of samples to return |
Definition at line 98 of file one_d_velocity_iterator.h.
double dwb_plugins::OneDVelocityIterator::getVelocity | ( | ) | const [inline] |
Get the next velocity available.
Definition at line 127 of file one_d_velocity_iterator.h.
bool dwb_plugins::OneDVelocityIterator::isFinished | ( | ) | const [inline] |
If we have returned all the velocities for this iteration
Definition at line 164 of file one_d_velocity_iterator.h.
OneDVelocityIterator& dwb_plugins::OneDVelocityIterator::operator++ | ( | ) | [inline] |
Increment the iterator.
Definition at line 136 of file one_d_velocity_iterator.h.
void dwb_plugins::OneDVelocityIterator::reset | ( | ) | [inline] |
Reset back to the first velocity.
Definition at line 154 of file one_d_velocity_iterator.h.
double dwb_plugins::OneDVelocityIterator::current_ [private] |
Definition at line 172 of file one_d_velocity_iterator.h.
double dwb_plugins::OneDVelocityIterator::increment_ [private] |
Definition at line 173 of file one_d_velocity_iterator.h.
double dwb_plugins::OneDVelocityIterator::max_vel_ [private] |
Definition at line 171 of file one_d_velocity_iterator.h.
double dwb_plugins::OneDVelocityIterator::min_vel_ [private] |
Definition at line 171 of file one_d_velocity_iterator.h.
bool dwb_plugins::OneDVelocityIterator::return_zero_ [private] |
Definition at line 170 of file one_d_velocity_iterator.h.
bool dwb_plugins::OneDVelocityIterator::return_zero_now_ [private] |
Definition at line 170 of file one_d_velocity_iterator.h.