Ruckig 0.11.0
Motion Generation for Robots and Machines
|
Input of the Ruckig algorithm. 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<size_t D = DOFs, typename std::enable_if<(D >=1), int >::type = 0> | |
InputParameter (size_t max_number_of_waypoints) | |
template<size_t D = DOFs, typename std::enable_if<(D==0), int >::type = 0> | |
InputParameter (size_t dofs, size_t max_number_of_waypoints) | |
InputParameter & | operator= (const InputParameter &other) |
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 |
void | scale (double position_scale, double time_scale) |
Scale with the position and time of the input (only in Ruckig Pro) | |
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 |
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::vector< Vector< double > > | intermediate_positions |
Intermediate waypoints (only in Ruckig Pro) | |
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 > > | max_position |
Positional constraints (only in Ruckig Pro) | |
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) | |
Input of the Ruckig algorithm.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Scale with the position and time of the input (only in Ruckig Pro)
|
inline |
|
inline |
Validate the input for trajectory calculation.
ControlInterface ruckig::InputParameter< DOFs, CustomVector >::control_interface = ControlInterface::Position |
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::current_acceleration |
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::current_position |
Current state.
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::current_velocity |
size_t ruckig::InputParameter< DOFs, CustomVector >::degrees_of_freedom |
DurationDiscretization ruckig::InputParameter< DOFs, CustomVector >::duration_discretization = DurationDiscretization::Continuous |
Vector<bool> ruckig::InputParameter< DOFs, CustomVector >::enabled |
Is the DoF considered for calculation?
std::vector< Vector<double> > ruckig::InputParameter< DOFs, CustomVector >::intermediate_positions |
Intermediate waypoints (only in Ruckig Pro)
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.
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::max_acceleration |
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::max_jerk |
std::optional< Vector<double> > ruckig::InputParameter< DOFs, CustomVector >::max_position |
Positional constraints (only in Ruckig Pro)
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::max_velocity |
Kinematic constraints.
std::optional< Vector<double> > ruckig::InputParameter< DOFs, CustomVector >::min_acceleration |
std::optional< Vector<double> > ruckig::InputParameter< DOFs, CustomVector >::min_position |
std::optional< Vector<double> > ruckig::InputParameter< DOFs, CustomVector >::min_velocity |
std::optional<double> ruckig::InputParameter< DOFs, CustomVector >::minimum_duration |
Optional minimum trajectory duration.
std::optional< Vector<ControlInterface> > ruckig::InputParameter< DOFs, CustomVector >::per_dof_control_interface |
Per-DoF control_interface (overwrites global control_interface)
std::optional< Vector<Synchronization> > ruckig::InputParameter< DOFs, CustomVector >::per_dof_synchronization |
Per-DoF synchronization (overwrites global synchronization)
std::optional< std::vector< Vector<double> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_max_acceleration |
std::optional< std::vector< Vector<double> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_max_jerk |
std::optional< std::vector< Vector<double> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_max_position |
std::optional< std::vector< Vector<double> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_max_velocity |
Kinematic constraints for intermediate sections (between waypoints) (only in Ruckig Pro)
std::optional< std::vector< Vector<double> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_min_acceleration |
std::optional< std::vector< Vector<double> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_min_position |
std::optional< std::vector< Vector<double> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_min_velocity |
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 ruckig::InputParameter< DOFs, CustomVector >::synchronization = Synchronization::Time |
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::target_acceleration |
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::target_position |
Target state.
Vector<double> ruckig::InputParameter< DOFs, CustomVector >::target_velocity |