Ruckig 0.15.0
Motion Generation for Robots and Machines
|
Classes | |
class | Block |
Which times are possible for synchronization? | |
struct | Bound |
Information about the extrema values. More... | |
struct | BrakeProfile |
Calculates (pre- or post-) profile to get current or final state below the limits. More... | |
class | Calculator |
Interface for the main calculator and its hyperparameters. More... | |
class | InputParameter |
Input of the Ruckig algorithm. More... | |
struct | MemoryRequirement |
Helper class to define the memory requirement when using intermediate waypoints (only in Ruckig Pro) More... | |
class | OutputParameter |
Output of the Ruckig algorithm. More... | |
class | Profile |
A single-dof kinematic profile with position, velocity, acceleration and jerk. More... | |
class | Ruckig |
Main interface for the Ruckig algorithm. More... | |
struct | RuckigError |
The base class for all exceptions. More... | |
class | TargetCalculator |
Calculation class for a state-to-state trajectory. | |
class | TargetState |
The kinematic target state for Trackig. More... | |
class | Trackig |
The main interface for the Trackig algorithm. More... | |
class | Trajectory |
The trajectory generated by the Ruckig algorithm. More... | |
class | WaypointsCalculator |
Typedefs | |
typedef Profile::ReachedLimits | ReachedLimits |
typedef Profile::Direction | Direction |
typedef Profile::ControlSigns | ControlSigns |
template<size_t DOFs, template< class, size_t > class CustomVector = StandardVector> | |
using | RuckigThrow = Ruckig<DOFs, CustomVector, true> |
template<class T , size_t DOFs> | |
using | StandardVector = typename std::conditional< DOFs >= 1, std::array<T, DOFs>, std::vector<T> >::type |
Vector data type based on the C++ standard library. | |
template<class T , size_t DOFs, size_t SIZE> | |
using | StandardSizeVector = typename std::conditional< DOFs >= 1, std::array<T, SIZE>, std::vector<T> >::type |
Enumerations | |
enum class | ControlInterface { Position , Velocity } |
The control interface of the robotic system, either for position or velocity control. More... | |
enum class | Synchronization { Time , TimeIfNecessary , Phase , None } |
Synchronization strategy for multiple degrees of freedom (axes) More... | |
enum class | DurationDiscretization { Continuous , Discrete } |
Restrict allowed durations of the resulting trajectory. More... | |
enum class | TargetLimitViolation { ReturnError , Confine } |
Behaviour if the target state is outside the specified limits. More... | |
enum | Result { Working = 0 , Finished = 1 , Paused = 2 , Error = -1 , ErrorInvalidInput = -100 , ErrorTrajectoryDuration = -101 , ErrorPositionalLimits = -102 , ErrorZeroLimits = -104 , ErrorExecutionTimeCalculation = -110 , ErrorSynchronizationCalculation = -111 } |
Result type of Ruckig's update function. More... | |
enum class | TrackigMode { Optimized , Fast } |
Functions | |
template<class Vector > | |
std::string | join (const Vector &array, bool high_precision=false) |
Join a vector for easy printing (e.g. to std::cout) | |
typedef Profile::Direction ruckig::Direction |
using ruckig::RuckigThrow = Ruckig<DOFs, CustomVector, true> |
using ruckig::StandardSizeVector = typename std::conditional< DOFs >= 1, std::array<T, SIZE>, std::vector<T> >::type |
using ruckig::StandardVector = typename std::conditional< DOFs >= 1, std::array<T, DOFs>, std::vector<T> >::type |
Vector data type based on the C++ standard library.
|
strong |
|
strong |
enum ruckig::Result |
Result type of Ruckig's update function.
Enumerator | |
---|---|
Working | The trajectory is calculated normally. |
Finished | The trajectory has reached its final position. |
Paused | The speed parameter is zero currently. |
Error | Unclassified error. |
ErrorInvalidInput | Error in the input parameter. |
ErrorTrajectoryDuration | The trajectory duration exceeds its numerical limits. |
ErrorPositionalLimits | The trajectory exceeds the given positional limits (only in Ruckig Pro) |
ErrorZeroLimits | The trajectory is not valid due to a conflict with zero limits. |
ErrorExecutionTimeCalculation | Error during the extremel time calculation (Step 1) |
ErrorSynchronizationCalculation | Error during the synchronization calculation (Step 2) |
|
strong |
Synchronization strategy for multiple degrees of freedom (axes)
|
strong |
|
strong |
Different modes of the Trackig algorithm
The Trackig algorithm has two different modes: One optimized for higher quality but slower computation time, and one for faster computation time but lower tracking quality. The fast mode is around 100x faster on average, and with 1000x faster worst calculation time. However, the fast mode currently does not support positional limits or synchronization.
Enumerator | |
---|---|
Optimized | Optimized for tracking quality (Default) |
Fast | Faster calculation time. |
|
inline |
Join a vector for easy printing (e.g. to std::cout)