Ruckig 0.9.3
Motion Generation for Robots and Machines
|
The state profile for position, velocity, acceleration and jerk for a single DoF. More...
#include <profile.hpp>
Public Types | |
enum class | ReachedLimits { ACC0_ACC1_VEL , VEL , ACC0 , ACC1 , ACC0_ACC1 , ACC0_VEL , ACC1_VEL , NONE } |
enum class | Direction { UP , DOWN } |
enum class | JerkSigns { UDDU , UDUD } |
Public Member Functions | |
template<JerkSigns jerk_signs, ReachedLimits limits> | |
bool | check_for_velocity (double jf, double aMax, double aMin) |
template<JerkSigns jerk_signs, ReachedLimits limits> | |
bool | check_for_velocity_with_timing (double, double jf, double aMax, double aMin) |
template<JerkSigns jerk_signs, ReachedLimits limits> | |
bool | check_for_velocity_with_timing (double tf, double jf, double aMax, double aMin, double jMax) |
void | set_boundary_for_velocity (double p0_new, double v0_new, double a0_new, double vf_new, double af_new) |
template<JerkSigns jerk_signs, ReachedLimits limits, bool set_limits = false> | |
bool | check (double jf, double vMax, double vMin, double aMax, double aMin) |
template<JerkSigns jerk_signs, ReachedLimits limits> | |
bool | check_with_timing (double, double jf, double vMax, double vMin, double aMax, double aMin) |
template<JerkSigns jerk_signs, ReachedLimits limits> | |
bool | check_with_timing (double tf, double jf, double vMax, double vMin, double aMax, double aMin, double jMax) |
void | set_boundary (const Profile &profile) |
void | set_boundary (double p0_new, double v0_new, double a0_new, double pf_new, double vf_new, double af_new) |
PositionExtrema | get_position_extrema () const |
bool | get_first_state_at_position (double pt, double &time, double &vt, double &at, double offset=0.0) const |
std::string | to_string () const |
Static Public Member Functions | |
static void | check_position_extremum (double t_ext, double t_sum, double t, double p, double v, double a, double j, PositionExtrema &ext) |
static void | check_step_for_position_extremum (double t_sum, double t, double p, double v, double a, double j, PositionExtrema &ext) |
Public Attributes | |
std::array< double, 7 > | t |
std::array< double, 7 > | t_sum |
std::array< double, 7 > | j |
std::array< double, 8 > | a |
std::array< double, 8 > | v |
std::array< double, 8 > | p |
BrakeProfile | brake |
Brake sub-profiles. More... | |
BrakeProfile | accel |
double | pf |
Target (final) kinematic state. More... | |
double | vf |
double | af |
enum ruckig::Profile::ReachedLimits | limits |
enum ruckig::Profile::Direction | direction |
enum ruckig::Profile::JerkSigns | jerk_signs |
double | polynomial_root |
Helper variable for faster calculation. More... | |
The state profile for position, velocity, acceleration and jerk for a single DoF.
|
strong |
|
strong |
|
strong |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
std::array<double, 8> ruckig::Profile::a |
BrakeProfile ruckig::Profile::accel |
double ruckig::Profile::af |
BrakeProfile ruckig::Profile::brake |
Brake sub-profiles.
enum ruckig::Profile::Direction ruckig::Profile::direction |
std::array<double, 7> ruckig::Profile::j |
enum ruckig::Profile::JerkSigns ruckig::Profile::jerk_signs |
enum ruckig::Profile::ReachedLimits ruckig::Profile::limits |
std::array<double, 8> ruckig::Profile::p |
double ruckig::Profile::pf |
Target (final) kinematic state.
double ruckig::Profile::polynomial_root |
Helper variable for faster calculation.
std::array<double, 7> ruckig::Profile::t |
std::array<double, 7> ruckig::Profile::t_sum |
std::array<double, 8> ruckig::Profile::v |
double ruckig::Profile::vf |