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

Main interface for the Ruckig algorithm. More...

#include <ruckig.hpp>

Public Member Functions

template<size_t D = DOFs, typename std::enable_if<(D >=1), int >::type = 0>
 Ruckig ()
 
template<size_t D = DOFs, typename std::enable_if<(D >=1), int >::type = 0>
 Ruckig (double delta_time)
 
template<size_t D = DOFs, typename std::enable_if<(D >=1), int >::type = 0>
 Ruckig (double delta_time, size_t max_number_of_waypoints)
 
template<size_t D = DOFs, typename std::enable_if<(D >=1), int >::type = 0>
 Ruckig (double delta_time, const MemoryRequirement &memory_requirement)
 
template<size_t D = DOFs, typename std::enable_if<(D==0), int >::type = 0>
 Ruckig (size_t dofs)
 
template<size_t D = DOFs, typename std::enable_if<(D==0), int >::type = 0>
 Ruckig (size_t dofs, double delta_time)
 
template<size_t D = DOFs, typename std::enable_if<(D==0), int >::type = 0>
 Ruckig (size_t dofs, double delta_time, size_t max_number_of_waypoints)
 
template<size_t D = DOFs, typename std::enable_if<(D==0), int >::type = 0>
 Ruckig (size_t dofs, double delta_time, const MemoryRequirement &memory_requirement)
 
void reset ()
 Reset the instance (e.g. to force a new calculation in the next update)
 
std::vector< CustomVector< double, DOFs > > filter_intermediate_positions (const InputParameter< DOFs, CustomVector > &input, const CustomVector< double, DOFs > &threshold_distance) const
 Filter intermediate positions based on a threshold distance for each DoF.
 
template<bool throw_validation_error = true>
bool validate_input (const InputParameter< DOFs, CustomVector > &input, bool check_current_state_within_limits=false, bool check_target_state_within_limits=true) const
 Validate the input as well as the Ruckig instance for trajectory calculation.
 
Result calculate (const InputParameter< DOFs, CustomVector > &input, Trajectory< DOFs, CustomVector > &trajectory)
 Calculate a new trajectory for the given input.
 
Result calculate (const InputParameter< DOFs, CustomVector > &input, Trajectory< DOFs, CustomVector > &trajectory, bool &was_interrupted)
 Calculate a new trajectory for the given input and check for interruption.
 
Result update (const InputParameter< DOFs, CustomVector > &input, OutputParameter< DOFs, CustomVector > &output)
 Get the next output state (with step delta_time) along the calculated trajectory for the given input.
 
Result update (const Trajectory< DOFs, CustomVector > &trajectory, OutputParameter< DOFs, CustomVector > &output)
 Move along the given trajectory with step delta_time, starting from the current output.time.
 

Public Attributes

Calculator< DOFs, CustomVector > calculator
 Calculator for new trajectories.
 
const size_t max_number_of_waypoints
 Max number of intermediate waypoints.
 
const size_t degrees_of_freedom
 Degrees of freedom.
 
double delta_time
 Time step between updates (control cycle time)
 
double speed
 Time step along the trajectory relative to the cycle time (only in Ruckig Pro)
 

Detailed Description

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
class ruckig::Ruckig< DOFs, CustomVector, throw_error >

Main interface for the Ruckig algorithm.

Constructor & Destructor Documentation

◆ Ruckig() [1/8]

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
template<size_t D = DOFs, typename std::enable_if<(D >=1), int >::type = 0>
ruckig::Ruckig< DOFs, CustomVector, throw_error >::Ruckig ( )
inlineexplicit

◆ Ruckig() [2/8]

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
template<size_t D = DOFs, typename std::enable_if<(D >=1), int >::type = 0>
ruckig::Ruckig< DOFs, CustomVector, throw_error >::Ruckig ( double  delta_time)
inlineexplicit

◆ Ruckig() [3/8]

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
template<size_t D = DOFs, typename std::enable_if<(D >=1), int >::type = 0>
ruckig::Ruckig< DOFs, CustomVector, throw_error >::Ruckig ( double  delta_time,
size_t  max_number_of_waypoints 
)
inlineexplicit

◆ Ruckig() [4/8]

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
template<size_t D = DOFs, typename std::enable_if<(D >=1), int >::type = 0>
ruckig::Ruckig< DOFs, CustomVector, throw_error >::Ruckig ( double  delta_time,
const MemoryRequirement memory_requirement 
)
inlineexplicit

◆ Ruckig() [5/8]

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
template<size_t D = DOFs, typename std::enable_if<(D==0), int >::type = 0>
ruckig::Ruckig< DOFs, CustomVector, throw_error >::Ruckig ( size_t  dofs)
inlineexplicit

◆ Ruckig() [6/8]

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
template<size_t D = DOFs, typename std::enable_if<(D==0), int >::type = 0>
ruckig::Ruckig< DOFs, CustomVector, throw_error >::Ruckig ( size_t  dofs,
double  delta_time 
)
inlineexplicit

◆ Ruckig() [7/8]

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
template<size_t D = DOFs, typename std::enable_if<(D==0), int >::type = 0>
ruckig::Ruckig< DOFs, CustomVector, throw_error >::Ruckig ( size_t  dofs,
double  delta_time,
size_t  max_number_of_waypoints 
)
inlineexplicit

◆ Ruckig() [8/8]

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
template<size_t D = DOFs, typename std::enable_if<(D==0), int >::type = 0>
ruckig::Ruckig< DOFs, CustomVector, throw_error >::Ruckig ( size_t  dofs,
double  delta_time,
const MemoryRequirement memory_requirement 
)
inlineexplicit

Member Function Documentation

◆ calculate() [1/2]

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
Result ruckig::Ruckig< DOFs, CustomVector, throw_error >::calculate ( const InputParameter< DOFs, CustomVector > &  input,
Trajectory< DOFs, CustomVector > &  trajectory 
)
inline

Calculate a new trajectory for the given input.

◆ calculate() [2/2]

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
Result ruckig::Ruckig< DOFs, CustomVector, throw_error >::calculate ( const InputParameter< DOFs, CustomVector > &  input,
Trajectory< DOFs, CustomVector > &  trajectory,
bool &  was_interrupted 
)
inline

Calculate a new trajectory for the given input and check for interruption.

◆ filter_intermediate_positions()

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
std::vector< CustomVector< double, DOFs > > ruckig::Ruckig< DOFs, CustomVector, throw_error >::filter_intermediate_positions ( const InputParameter< DOFs, CustomVector > &  input,
const CustomVector< double, DOFs > &  threshold_distance 
) const
inline

Filter intermediate positions based on a threshold distance for each DoF.

◆ reset()

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
void ruckig::Ruckig< DOFs, CustomVector, throw_error >::reset ( )
inline

Reset the instance (e.g. to force a new calculation in the next update)

◆ update() [1/2]

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
Result ruckig::Ruckig< DOFs, CustomVector, throw_error >::update ( const InputParameter< DOFs, CustomVector > &  input,
OutputParameter< DOFs, CustomVector > &  output 
)
inline

Get the next output state (with step delta_time) along the calculated trajectory for the given input.

◆ update() [2/2]

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
Result ruckig::Ruckig< DOFs, CustomVector, throw_error >::update ( const Trajectory< DOFs, CustomVector > &  trajectory,
OutputParameter< DOFs, CustomVector > &  output 
)
inline

Move along the given trajectory with step delta_time, starting from the current output.time.

◆ validate_input()

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
template<bool throw_validation_error = true>
bool ruckig::Ruckig< DOFs, CustomVector, throw_error >::validate_input ( const InputParameter< DOFs, CustomVector > &  input,
bool  check_current_state_within_limits = false,
bool  check_target_state_within_limits = true 
) const
inline

Validate the input as well as the Ruckig instance for trajectory calculation.

Member Data Documentation

◆ calculator

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
Calculator<DOFs, CustomVector> ruckig::Ruckig< DOFs, CustomVector, throw_error >::calculator

Calculator for new trajectories.

◆ degrees_of_freedom

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
const size_t ruckig::Ruckig< DOFs, CustomVector, throw_error >::degrees_of_freedom

Degrees of freedom.

◆ delta_time

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
double ruckig::Ruckig< DOFs, CustomVector, throw_error >::delta_time

Time step between updates (control cycle time)

This parameter can be changed freely between calling update.

◆ max_number_of_waypoints

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
const size_t ruckig::Ruckig< DOFs, CustomVector, throw_error >::max_number_of_waypoints

Max number of intermediate waypoints.

◆ speed

template<size_t DOFs = 0, template< class, size_t > class CustomVector = StandardVector, bool throw_error = false>
double ruckig::Ruckig< DOFs, CustomVector, throw_error >::speed

Time step along the trajectory relative to the cycle time (only in Ruckig Pro)

This allows e.g. to slow down or pause the robot along a calculated trajectory. Usually in [0.0, 1.0], 1.0 by default.


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