Ruckig 0.10.1
Motion Generation for Robots and Machines
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
ruckig::Trajectory< DOFs, CustomVector > Class Template Reference

Interface for the generated trajectory. More...

#include <trajectory.hpp>

Public Member Functions

template<size_t D = DOFs, typename std::enable_if<(D >=1), int >::type = 0>
 Trajectory ()
 
template<size_t D = DOFs, typename std::enable_if<(D==0), int >::type = 0>
 Trajectory (size_t dofs)
 
template<size_t D = DOFs, typename std::enable_if<(D >=1), int >::type = 0>
 Trajectory (size_t max_number_of_waypoints)
 
template<size_t D = DOFs, typename std::enable_if<(D==0), int >::type = 0>
 Trajectory (size_t dofs, size_t max_number_of_waypoints)
 
void at_time (double time, Vector< double > &new_position, Vector< double > &new_velocity, Vector< double > &new_acceleration, Vector< double > &new_jerk, size_t &new_section) const
 Get the kinematic state, the jerk, and the section at a given time.
 
void at_time (double time, Vector< double > &new_position, Vector< double > &new_velocity, Vector< double > &new_acceleration) const
 
void at_time (double time, Vector< double > &new_position) const
 Get the position at a given time.
 
template<size_t D = DOFs, typename std::enable_if<(D==1), int >::type = 0>
void at_time (double time, double &new_position, double &new_velocity, double &new_acceleration, double &new_jerk, size_t &new_section) const
 Get the kinematic state, the jerk, and the section at a given time without vectors for a single DoF.
 
template<size_t D = DOFs, typename std::enable_if<(D==1), int >::type = 0>
void at_time (double time, double &new_position, double &new_velocity, double &new_acceleration) const
 Get the kinematic state at a given time without vectors for a single DoF.
 
template<size_t D = DOFs, typename std::enable_if<(D==1), int >::type = 0>
void at_time (double time, double &new_position) const
 Get the position at a given time without vectors for a single DoF.
 
Container< Vector< Profile > > get_profiles () const
 Get the underlying profiles of the trajectory.
 
double get_duration () const
 Get the duration of the (synchronized) trajectory.
 
Container< double > get_intermediate_durations () const
 Get the durations when the intermediate waypoints are reached.
 
Vector< double > get_independent_min_durations () const
 Get the minimum duration of each independent DoF.
 
Vector< PositionExtremaget_position_extrema ()
 Get the min/max values of the position for each DoF.
 
bool get_first_time_at_position (size_t dof, double position, double &time) const
 Get the time that this trajectory passes a specific position of a given DoF the first time.
 
void scale (double position_scale, double time_scale)
 Scale with the position and time of the trajectory (only in Ruckig Pro)
 

Static Public Member Functions

static Trajectory< DOFs > merge (const std::vector< Trajectory< DOFs > > &trajectories)
 Merge multiple trajectories together. Make sure that the end and start state of subsequent trajectories are equal (only in Ruckig Pro)
 

Public Attributes

size_t degrees_of_freedom
 

Friends

template<size_t , template< class, size_t > class>
class Trajectory
 

Detailed Description

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
class ruckig::Trajectory< DOFs, CustomVector >

Interface for the generated trajectory.

Constructor & Destructor Documentation

◆ Trajectory() [1/4]

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
template<size_t D = DOFs, typename std::enable_if<(D >=1), int >::type = 0>
ruckig::Trajectory< DOFs, CustomVector >::Trajectory ( )
inline

◆ Trajectory() [2/4]

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
template<size_t D = DOFs, typename std::enable_if<(D==0), int >::type = 0>
ruckig::Trajectory< DOFs, CustomVector >::Trajectory ( size_t  dofs)
inline

◆ Trajectory() [3/4]

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
template<size_t D = DOFs, typename std::enable_if<(D >=1), int >::type = 0>
ruckig::Trajectory< DOFs, CustomVector >::Trajectory ( size_t  max_number_of_waypoints)
inline

◆ Trajectory() [4/4]

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
template<size_t D = DOFs, typename std::enable_if<(D==0), int >::type = 0>
ruckig::Trajectory< DOFs, CustomVector >::Trajectory ( size_t  dofs,
size_t  max_number_of_waypoints 
)
inline

Member Function Documentation

◆ at_time() [1/6]

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
template<size_t D = DOFs, typename std::enable_if<(D==1), int >::type = 0>
void ruckig::Trajectory< DOFs, CustomVector >::at_time ( double  time,
double &  new_position 
) const
inline

Get the position at a given time without vectors for a single DoF.

◆ at_time() [2/6]

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
template<size_t D = DOFs, typename std::enable_if<(D==1), int >::type = 0>
void ruckig::Trajectory< DOFs, CustomVector >::at_time ( double  time,
double &  new_position,
double &  new_velocity,
double &  new_acceleration 
) const
inline

Get the kinematic state at a given time without vectors for a single DoF.

◆ at_time() [3/6]

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
template<size_t D = DOFs, typename std::enable_if<(D==1), int >::type = 0>
void ruckig::Trajectory< DOFs, CustomVector >::at_time ( double  time,
double &  new_position,
double &  new_velocity,
double &  new_acceleration,
double &  new_jerk,
size_t &  new_section 
) const
inline

Get the kinematic state, the jerk, and the section at a given time without vectors for a single DoF.

◆ at_time() [4/6]

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
void ruckig::Trajectory< DOFs, CustomVector >::at_time ( double  time,
Vector< double > &  new_position 
) const
inline

Get the position at a given time.

◆ at_time() [5/6]

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
void ruckig::Trajectory< DOFs, CustomVector >::at_time ( double  time,
Vector< double > &  new_position,
Vector< double > &  new_velocity,
Vector< double > &  new_acceleration 
) const
inline

Get the kinematic state at a given time The Python wrapper takes time as an argument, and returns new_position, new_velocity, and new_acceleration instead.

◆ at_time() [6/6]

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
void ruckig::Trajectory< DOFs, CustomVector >::at_time ( double  time,
Vector< double > &  new_position,
Vector< double > &  new_velocity,
Vector< double > &  new_acceleration,
Vector< double > &  new_jerk,
size_t &  new_section 
) const
inline

Get the kinematic state, the jerk, and the section at a given time.

◆ get_duration()

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
double ruckig::Trajectory< DOFs, CustomVector >::get_duration ( ) const
inline

Get the duration of the (synchronized) trajectory.

◆ get_first_time_at_position()

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
bool ruckig::Trajectory< DOFs, CustomVector >::get_first_time_at_position ( size_t  dof,
double  position,
double &  time 
) const
inline

Get the time that this trajectory passes a specific position of a given DoF the first time.

If the position is passed, this method returns true, otherwise false The Python wrapper takes dof and position as arguments and returns time (or None) instead

◆ get_independent_min_durations()

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
Vector< double > ruckig::Trajectory< DOFs, CustomVector >::get_independent_min_durations ( ) const
inline

Get the minimum duration of each independent DoF.

◆ get_intermediate_durations()

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
Container< double > ruckig::Trajectory< DOFs, CustomVector >::get_intermediate_durations ( ) const
inline

Get the durations when the intermediate waypoints are reached.

◆ get_position_extrema()

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
Vector< PositionExtrema > ruckig::Trajectory< DOFs, CustomVector >::get_position_extrema ( )
inline

Get the min/max values of the position for each DoF.

◆ get_profiles()

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
Container< Vector< Profile > > ruckig::Trajectory< DOFs, CustomVector >::get_profiles ( ) const
inline

Get the underlying profiles of the trajectory.

◆ merge()

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
static Trajectory< DOFs > ruckig::Trajectory< DOFs, CustomVector >::merge ( const std::vector< Trajectory< DOFs > > &  trajectories)
inlinestatic

Merge multiple trajectories together. Make sure that the end and start state of subsequent trajectories are equal (only in Ruckig Pro)

◆ scale()

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
void ruckig::Trajectory< DOFs, CustomVector >::scale ( double  position_scale,
double  time_scale 
)
inline

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

Friends And Related Function Documentation

◆ Trajectory

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
template<size_t , template< class, size_t > class>
friend class Trajectory
friend

Member Data Documentation

◆ degrees_of_freedom

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
size_t ruckig::Trajectory< DOFs, CustomVector >::degrees_of_freedom

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