Ruckig 0.15.3
Motion Generation for Robots and Machines
|
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) | |
Main interface for the Ruckig algorithm.
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
Calculate a new trajectory for the given input.
|
inline |
Calculate a new trajectory for the given input and check for interruption.
|
inline |
Filter intermediate positions based on a threshold distance for each DoF.
This method removes intermediate positions from the input so that the linear interpolation between the waypoints does not exceed the threshold distance to the given positions. The threshold distance is given per degree of freedom.
|
inline |
Reset the instance (e.g. to force a new calculation in the next update)
|
inline |
Get the next output state (with step delta_time) along the calculated trajectory for the given input.
|
inline |
Move along the given trajectory with step delta_time, starting from the current output.time.
|
inline |
Validate the input as well as the Ruckig instance for trajectory calculation.
Calculator<DOFs, CustomVector> ruckig::Ruckig< DOFs, CustomVector, throw_error >::calculator |
Calculator for new trajectories.
const size_t ruckig::Ruckig< DOFs, CustomVector, throw_error >::degrees_of_freedom |
Degrees of freedom.
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
.
const size_t ruckig::Ruckig< DOFs, CustomVector, throw_error >::max_number_of_waypoints |
Max number of intermediate waypoints.
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.