Ruckig 0.15.1
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) | |
template<size_t D = DOFs, typename std::enable_if<(D >=1), int >::type = 0> | |
InputParameter (const MemoryRequirement &memory_requirement) | |
template<size_t D = DOFs, typename std::enable_if<(D==0), int >::type = 0> | |
InputParameter (size_t dofs, const MemoryRequirement &memory_requirement) | |
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 |
Get a string representation of the parameters. | |
Public Attributes | |
size_t | degrees_of_freedom |
Degrees of freedom. | |
ControlInterface | control_interface |
The default position interface controls the full kinematic state. | |
Synchronization | synchronization |
Synchronization behavior of multiple DoFs. | |
DurationDiscretization | duration_discretization |
Whether the duration should be a discrete multiple of the control cycle (off by default) | |
TargetLimitViolation | target_limit_violation |
Behavior when the target state exceeds the limits (return error by default) (only in Pro Version) | |
CustomVector< double, DOFs > | current_position |
Current (start) state. | |
CustomVector< double, DOFs > | current_velocity |
CustomVector< double, DOFs > | current_acceleration |
CustomVector< double, DOFs > | target_position |
Target (goal) state. | |
CustomVector< double, DOFs > | target_velocity |
CustomVector< double, DOFs > | target_acceleration |
CustomVector< double, DOFs > | max_velocity |
Velocity limit. | |
CustomVector< double, DOFs > | max_acceleration |
Acceleration limit. | |
CustomVector< double, DOFs > | max_jerk |
Jerk limit. | |
std::optional< CustomVector< double, DOFs > > | min_velocity |
Minimum velocity limit. If none is given, the negative maximum velocity limit is used. | |
std::optional< CustomVector< double, DOFs > > | min_acceleration |
Minimum acceleration limit. If none is given, the negative maximum acceleration limit is used. | |
std::vector< CustomVector< double, DOFs > > | intermediate_positions |
Intermediate waypoints (only in Ruckig Pro) | |
std::optional< std::vector< CustomVector< double, DOFs > > > | per_section_max_velocity |
Kinematic constraints for intermediate sections (between waypoints) (only in Ruckig Pro) | |
std::optional< std::vector< CustomVector< double, DOFs > > > | per_section_max_acceleration |
std::optional< std::vector< CustomVector< double, DOFs > > > | per_section_max_jerk |
std::optional< std::vector< CustomVector< double, DOFs > > > | per_section_min_velocity |
std::optional< std::vector< CustomVector< double, DOFs > > > | per_section_min_acceleration |
std::optional< std::vector< CustomVector< double, DOFs > > > | per_section_max_position |
std::optional< std::vector< CustomVector< double, DOFs > > > | per_section_min_position |
std::optional< CustomVector< double, DOFs > > | max_position |
Maximum positional limit (only in Ruckig Pro) | |
std::optional< CustomVector< double, DOFs > > | min_position |
Minimum positional limit (only in Ruckig Pro) | |
CustomVector< bool, DOFs > | enabled |
Is the DoF considered for calculation? (true by default) | |
std::optional< CustomVector< ControlInterface, DOFs > > | per_dof_control_interface |
Per-DoF control_interface (overwrites global control_interface) | |
std::optional< CustomVector< Synchronization, DOFs > > | 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 |
|
inline |
Scale with the position and time of the input (only in Ruckig Pro)
|
inline |
Get a string representation of the parameters.
|
inline |
Validate the input for trajectory calculation.
ControlInterface ruckig::InputParameter< DOFs, CustomVector >::control_interface |
The default position interface controls the full kinematic state.
CustomVector<double, DOFs> ruckig::InputParameter< DOFs, CustomVector >::current_acceleration |
CustomVector<double, DOFs> ruckig::InputParameter< DOFs, CustomVector >::current_position |
Current (start) state.
CustomVector<double, DOFs> ruckig::InputParameter< DOFs, CustomVector >::current_velocity |
size_t ruckig::InputParameter< DOFs, CustomVector >::degrees_of_freedom |
Degrees of freedom.
DurationDiscretization ruckig::InputParameter< DOFs, CustomVector >::duration_discretization |
Whether the duration should be a discrete multiple of the control cycle (off by default)
CustomVector<bool, DOFs> ruckig::InputParameter< DOFs, CustomVector >::enabled |
Is the DoF considered for calculation? (true by default)
std::vector< CustomVector<double, DOFs> > 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.
CustomVector<double, DOFs> ruckig::InputParameter< DOFs, CustomVector >::max_acceleration |
Acceleration limit.
CustomVector<double, DOFs> ruckig::InputParameter< DOFs, CustomVector >::max_jerk |
Jerk limit.
std::optional< CustomVector<double, DOFs> > ruckig::InputParameter< DOFs, CustomVector >::max_position |
Maximum positional limit (only in Ruckig Pro)
CustomVector<double, DOFs> ruckig::InputParameter< DOFs, CustomVector >::max_velocity |
Velocity limit.
std::optional< CustomVector<double, DOFs> > ruckig::InputParameter< DOFs, CustomVector >::min_acceleration |
Minimum acceleration limit. If none is given, the negative maximum acceleration limit is used.
std::optional< CustomVector<double, DOFs> > ruckig::InputParameter< DOFs, CustomVector >::min_position |
Minimum positional limit (only in Ruckig Pro)
std::optional< CustomVector<double, DOFs> > ruckig::InputParameter< DOFs, CustomVector >::min_velocity |
Minimum velocity limit. If none is given, the negative maximum velocity limit is used.
std::optional<double> ruckig::InputParameter< DOFs, CustomVector >::minimum_duration |
Optional minimum trajectory duration.
std::optional< CustomVector<ControlInterface, DOFs> > ruckig::InputParameter< DOFs, CustomVector >::per_dof_control_interface |
Per-DoF control_interface (overwrites global control_interface)
std::optional< CustomVector<Synchronization, DOFs> > ruckig::InputParameter< DOFs, CustomVector >::per_dof_synchronization |
Per-DoF synchronization (overwrites global synchronization)
std::optional< std::vector< CustomVector<double, DOFs> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_max_acceleration |
std::optional< std::vector< CustomVector<double, DOFs> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_max_jerk |
std::optional< std::vector< CustomVector<double, DOFs> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_max_position |
std::optional< std::vector< CustomVector<double, DOFs> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_max_velocity |
Kinematic constraints for intermediate sections (between waypoints) (only in Ruckig Pro)
std::optional< std::vector< CustomVector<double, DOFs> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_min_acceleration |
std::optional< std::vector< CustomVector<double, DOFs> > > ruckig::InputParameter< DOFs, CustomVector >::per_section_min_position |
std::optional< std::vector< CustomVector<double, DOFs> > > 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 behavior of multiple DoFs.
CustomVector<double, DOFs> ruckig::InputParameter< DOFs, CustomVector >::target_acceleration |
TargetLimitViolation ruckig::InputParameter< DOFs, CustomVector >::target_limit_violation |
Behavior when the target state exceeds the limits (return error by default) (only in Pro Version)
CustomVector<double, DOFs> ruckig::InputParameter< DOFs, CustomVector >::target_position |
Target (goal) state.
CustomVector<double, DOFs> ruckig::InputParameter< DOFs, CustomVector >::target_velocity |