Ruckig 0.15.0
Motion Generation for Robots and Machines
Loading...
Searching...
No Matches
ruckig::Profile Class Reference

A single-dof kinematic profile with position, velocity, acceleration and jerk. 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  ControlSigns { UDDU , UDUD }
 

Public Member Functions

Bound get_position_extrema () const
 Get the position extrema along the profile.
 
Bound get_velocity_extrema () const
 Get the velocity extrema along the profile.
 
void set_boundary_for_velocity (double p0_new, double v0_new, double a0_new, double vf_new, double af_new)
 
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)
 
bool get_first_state_at_position (double pt, double &time, double time_after=0.0) const
 
bool get_first_state_at_velocity (double vt, double &time, double time_after=0.0) const
 
std::string to_string () const
 
void scale (double position_scale, double time_scale)
 Scale with the position and time of the input (only in Ruckig Pro)
 

Public Attributes

std::array< double, 7 > t
 
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.
 
BrakeProfile accel
 
double duration
 Duration of the profile.
 
double pf
 Target (final) kinematic state.
 
double vf
 
double af
 
enum ruckig::Profile::ReachedLimits limits
 
enum ruckig::Profile::Direction direction
 
enum ruckig::Profile::ControlSigns control_signs
 
double polynomial_root
 Helper variable for faster calculation.
 

Detailed Description

A single-dof kinematic profile with position, velocity, acceleration and jerk.

The class members are only available in the Ruckig Community Version.

Member Enumeration Documentation

◆ ControlSigns

enum class ruckig::Profile::ControlSigns
strong
Enumerator
UDDU 
UDUD 

◆ Direction

enum class ruckig::Profile::Direction
strong
Enumerator
UP 
DOWN 

◆ ReachedLimits

enum class ruckig::Profile::ReachedLimits
strong
Enumerator
ACC0_ACC1_VEL 
VEL 
ACC0 
ACC1 
ACC0_ACC1 
ACC0_VEL 
ACC1_VEL 
NONE 

Member Function Documentation

◆ get_first_state_at_position()

bool ruckig::Profile::get_first_state_at_position ( double pt,
double & time,
double time_after = 0.0 ) const
inline

◆ get_first_state_at_velocity()

bool ruckig::Profile::get_first_state_at_velocity ( double vt,
double & time,
double time_after = 0.0 ) const
inline

◆ get_position_extrema()

Bound ruckig::Profile::get_position_extrema ( ) const
inline

Get the position extrema along the profile.

◆ get_velocity_extrema()

Bound ruckig::Profile::get_velocity_extrema ( ) const
inline

Get the velocity extrema along the profile.

◆ scale()

void ruckig::Profile::scale ( double position_scale,
double time_scale )
inline

Scale with the position and time of the input (only in Ruckig Pro)

◆ set_boundary() [1/2]

void ruckig::Profile::set_boundary ( const Profile & profile)
inline

◆ set_boundary() [2/2]

void ruckig::Profile::set_boundary ( double p0_new,
double v0_new,
double a0_new,
double pf_new,
double vf_new,
double af_new )
inline

◆ set_boundary_for_velocity()

void ruckig::Profile::set_boundary_for_velocity ( double p0_new,
double v0_new,
double a0_new,
double vf_new,
double af_new )
inline

◆ to_string()

std::string ruckig::Profile::to_string ( ) const
inline

Member Data Documentation

◆ a

std::array<double, 8> ruckig::Profile::a

◆ accel

BrakeProfile ruckig::Profile::accel

◆ af

double ruckig::Profile::af

◆ brake

BrakeProfile ruckig::Profile::brake

Brake sub-profiles.

◆ control_signs

enum ruckig::Profile::ControlSigns ruckig::Profile::control_signs

◆ direction

enum ruckig::Profile::Direction ruckig::Profile::direction

◆ duration

double ruckig::Profile::duration

Duration of the profile.

◆ j

std::array<double, 7> ruckig::Profile::j

◆ limits

enum ruckig::Profile::ReachedLimits ruckig::Profile::limits

◆ p

std::array<double, 8> ruckig::Profile::p

◆ pf

double ruckig::Profile::pf

Target (final) kinematic state.

◆ polynomial_root

double ruckig::Profile::polynomial_root

Helper variable for faster calculation.

◆ t

std::array<double, 7> ruckig::Profile::t

◆ v

std::array<double, 8> ruckig::Profile::v

◆ vf

double ruckig::Profile::vf

The documentation for this class was generated from the following file: