Template Class InputParameter
Defined in File input_parameter.hpp
Class Documentation
-
template<size_t DOFs, template<class, size_t> class CustomVector = StandardVector>
class InputParameter Input of the Ruckig algorithm.
Public Functions
-
template<size_t D = DOFs, typename std::enable_if<(D == 0), int>::type = 0>
inline InputParameter(size_t dofs)
-
template<bool throw_validation_error = true>
inline bool validate(bool check_current_state_within_limits = false, bool check_target_state_within_limits = true) const Validate the input for trajectory calculation.
-
inline bool operator!=(const InputParameter<DOFs, CustomVector> &rhs) const
-
inline std::string to_string() const
Public Members
-
size_t degrees_of_freedom
-
ControlInterface control_interface = {ControlInterface::Position}
-
Synchronization synchronization = {Synchronization::Time}
-
DurationDiscretization duration_discretization = {DurationDiscretization::Continuous}
-
Vector<double> current_position
Current state.
-
Vector<double> current_velocity
-
Vector<double> current_acceleration
-
Vector<double> target_position
Target state.
-
Vector<double> target_velocity
-
Vector<double> target_acceleration
-
Vector<double> max_velocity
Kinematic constraints.
-
Vector<double> max_acceleration
-
Vector<double> max_jerk
-
std::optional<Vector<double>> min_velocity
-
std::optional<Vector<double>> min_acceleration
-
std::optional<std::vector<Vector<double>>> per_section_max_velocity
Kinematic constraints for intermediate sections (between waypoints) (only in Ruckig Pro)
-
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>> 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
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.
-
template<size_t D = DOFs, typename std::enable_if<(D == 0), int>::type = 0>