Template Class Ruckig

Class Documentation

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

Main interface for the Ruckig algorithm.

Public Types

template<class T>
using Vector = CustomVector<T, DOFs>

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

Public Functions

template<size_t D = DOFs, typename std::enable_if<(D >= 1), int>::type = 0>
inline explicit Ruckig()
template<size_t D = DOFs, typename std::enable_if<(D >= 1), int>::type = 0>
inline explicit Ruckig(double delta_time)
template<size_t D = DOFs, typename std::enable_if<(D == 0), int>::type = 0>
inline explicit Ruckig(size_t dofs)
template<size_t D = DOFs, typename std::enable_if<(D == 0), int>::type = 0>
inline explicit Ruckig(size_t dofs, double delta_time)
inline void reset()

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

inline std::vector<Vector<double>> filter_intermediate_positions(const InputParameter<DOFs, CustomVector> &input, const Vector<double> &threshold_distance) const
template<bool throw_validation_error = true>
inline 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.

inline Result calculate(const InputParameter<DOFs, CustomVector> &input, Trajectory<DOFs, CustomVector> &trajectory)

Calculate a new trajectory for the given input.

inline 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.

inline 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.

Public Members

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 = {0.0}

Time step between updates (cycle time) in [s].