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

Input type of Ruckig. More...

#include <input_parameter.hpp>

Public Member Functions

template<size_t D = DOFs, typename std::enable_if<(D >=1), int >::type = 0>
 InputParameter ()
 
template<size_t D = DOFs, typename std::enable_if<(D==0), int >::type = 0>
 InputParameter (size_t dofs)
 
template<bool throw_validation_error = true>
bool validate (bool check_current_state_within_limits=false, bool check_target_state_within_limits=true) const
 Validate the input for trajectory calculation.
 
bool operator!= (const InputParameter< DOFs, CustomVector > &rhs) const
 
std::string to_string () const
 

Public Attributes

size_t degrees_of_freedom
 
ControlInterface control_interface {ControlInterface::Position}
 
Synchronization synchronization {Synchronization::Time}
 
DurationDiscretization duration_discretization {DurationDiscretization::Continuous}
 
Vector< double > current_position
 
Vector< double > current_velocity
 
Vector< double > current_acceleration
 
Vector< double > target_position
 
Vector< double > target_velocity
 
Vector< double > target_acceleration
 
Vector< double > max_velocity
 
Vector< double > max_acceleration
 
Vector< double > max_jerk
 
std::optional< Vector< double > > min_velocity
 
std::optional< Vector< double > > min_acceleration
 
std::vector< Vector< double > > intermediate_positions
 Intermediate waypoints (only in Ruckig Pro)
 
std::optional< std::vector< Vector< double > > > per_section_max_velocity
 
std::optional< std::vector< Vector< double > > > per_section_max_acceleration
 
std::optional< std::vector< Vector< double > > > per_section_max_jerk
 
std::optional< std::vector< Vector< double > > > per_section_min_velocity
 
std::optional< std::vector< Vector< double > > > per_section_min_acceleration
 
std::optional< std::vector< Vector< double > > > per_section_max_position
 
std::optional< std::vector< Vector< double > > > per_section_min_position
 
std::optional< Vector< double > > max_position
 
std::optional< Vector< double > > min_position
 
Vector< bool > enabled
 Is the DoF considered for calculation?
 
std::optional< Vector< ControlInterface > > per_dof_control_interface
 Per-DoF control_interface (overwrites global control_interface)
 
std::optional< Vector< Synchronization > > per_dof_synchronization
 Per-DoF synchronization (overwrites global synchronization)
 
std::optional< double > minimum_duration
 Optional minimum trajectory duration.
 
std::optional< std::vector< double > > per_section_minimum_duration
 Optional minimum trajectory duration for each intermediate sections (only in Ruckig Pro)
 
std::optional< double > interrupt_calculation_duration
 

Detailed Description

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

Input type of Ruckig.

Constructor & Destructor Documentation

◆ InputParameter() [1/2]

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::InputParameter< DOFs, CustomVector >::InputParameter ( )
inline

◆ InputParameter() [2/2]

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::InputParameter< DOFs, CustomVector >::InputParameter ( size_t  dofs)
inline

Member Function Documentation

◆ operator!=()

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
bool ruckig::InputParameter< DOFs, CustomVector >::operator!= ( const InputParameter< DOFs, CustomVector > &  rhs) const
inline

◆ to_string()

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::string ruckig::InputParameter< DOFs, CustomVector >::to_string ( ) const
inline

◆ validate()

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
template<bool throw_validation_error = true>
bool ruckig::InputParameter< DOFs, CustomVector >::validate ( bool  check_current_state_within_limits = false,
bool  check_target_state_within_limits = true 
) const
inline

Validate the input for trajectory calculation.

Member Data Documentation

◆ control_interface

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
ControlInterface ruckig::InputParameter< DOFs, CustomVector >::control_interface {ControlInterface::Position}

◆ current_acceleration

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::current_acceleration

◆ current_position

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::current_position

◆ current_velocity

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::current_velocity

◆ degrees_of_freedom

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

◆ duration_discretization

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
DurationDiscretization ruckig::InputParameter< DOFs, CustomVector >::duration_discretization {DurationDiscretization::Continuous}

◆ enabled

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
Vector<bool> ruckig::InputParameter< DOFs, CustomVector >::enabled

Is the DoF considered for calculation?

◆ intermediate_positions

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::vector<Vector<double> > ruckig::InputParameter< DOFs, CustomVector >::intermediate_positions

Intermediate waypoints (only in Ruckig Pro)

◆ interrupt_calculation_duration

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::optional<double> ruckig::InputParameter< DOFs, CustomVector >::interrupt_calculation_duration

Optional duration [µs] after which the trajectory calculation is (softly) interrupted (only in Ruckig Pro)

The total calculation consists of a first iterative phase and a second fixed phase. The interrupt signal is applied to the iterative phase only, and the real-time capable (constant) second phase is computed afterwards. Therefore, the total calculation duration might exceed this interrupt signal by a constant offset, which should be considered (subtracted) here.

◆ max_acceleration

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::max_acceleration

◆ max_jerk

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::max_jerk

◆ max_position

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::optional<Vector<double> > ruckig::InputParameter< DOFs, CustomVector >::max_position

◆ max_velocity

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::max_velocity

◆ min_acceleration

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::optional<Vector<double> > ruckig::InputParameter< DOFs, CustomVector >::min_acceleration

◆ min_position

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::optional<Vector<double> > ruckig::InputParameter< DOFs, CustomVector >::min_position

◆ min_velocity

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::optional<Vector<double> > ruckig::InputParameter< DOFs, CustomVector >::min_velocity

◆ minimum_duration

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::optional<double> ruckig::InputParameter< DOFs, CustomVector >::minimum_duration

Optional minimum trajectory duration.

◆ per_dof_control_interface

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::optional<Vector<ControlInterface> > ruckig::InputParameter< DOFs, CustomVector >::per_dof_control_interface

Per-DoF control_interface (overwrites global control_interface)

◆ per_dof_synchronization

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::optional<Vector<Synchronization> > ruckig::InputParameter< DOFs, CustomVector >::per_dof_synchronization

Per-DoF synchronization (overwrites global synchronization)

◆ per_section_max_acceleration

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::optional<std::vector<Vector<double> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_max_acceleration

◆ per_section_max_jerk

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::optional<std::vector<Vector<double> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_max_jerk

◆ per_section_max_position

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::optional<std::vector<Vector<double> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_max_position

◆ per_section_max_velocity

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::optional<std::vector<Vector<double> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_max_velocity

◆ per_section_min_acceleration

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::optional<std::vector<Vector<double> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_min_acceleration

◆ per_section_min_position

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::optional<std::vector<Vector<double> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_min_position

◆ per_section_min_velocity

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::optional<std::vector<Vector<double> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_min_velocity

◆ per_section_minimum_duration

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
std::optional<std::vector<double> > ruckig::InputParameter< DOFs, CustomVector >::per_section_minimum_duration

Optional minimum trajectory duration for each intermediate sections (only in Ruckig Pro)

◆ synchronization

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
Synchronization ruckig::InputParameter< DOFs, CustomVector >::synchronization {Synchronization::Time}

◆ target_acceleration

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::target_acceleration

◆ target_position

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::target_position

◆ target_velocity

template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector>
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::target_velocity

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