Ruckig 0.10.0
Motion Generation for Robots and Machines
|
Classes | |
class | Block |
Which times are possible for synchronization? More... | |
class | BrakeProfile |
Calculates (pre- or post-) profile to get current or final state below the limits. More... | |
class | Calculator |
Calculation interface. More... | |
class | InputParameter |
Input type of Ruckig. More... | |
class | OutputParameter |
Output type of Ruckig. More... | |
struct | PositionExtrema |
Information about the position extrema. More... | |
class | PositionSecondOrderStep1 |
Mathematical equations for Step 1 in second-order position interface: Extremal profiles. More... | |
class | PositionSecondOrderStep2 |
Mathematical equations for Step 2 in second-order position interface: Time synchronization. More... | |
class | PositionThirdOrderStep1 |
Mathematical equations for Step 1 in third-order position interface: Extremal profiles. More... | |
class | PositionThirdOrderStep2 |
Mathematical equations for Step 2 in third-order position interface: Time synchronization. More... | |
class | Profile |
The state profile for position, velocity, acceleration and jerk for a single DoF. More... | |
class | Ruckig |
Main class for the Ruckig algorithm. More... | |
struct | RuckigError |
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 |
Interface for the generated trajectory. More... | |
class | VelocitySecondOrderStep1 |
Mathematical equations for Step 1 in second-order velocity interface: Extremal profiles. More... | |
class | VelocitySecondOrderStep2 |
Mathematical equations for Step 2 in second-order velocity interface: Time synchronization. More... | |
class | VelocityThirdOrderStep1 |
Mathematical equations for Step 1 in third-order velocity interface: Extremal profiles. More... | |
class | VelocityThirdOrderStep2 |
Mathematical equations for Step 2 in third-order velocity interface: Time synchronization. More... | |
class | WaypointsCalculator |
Calculation class for a trajectory along waypoints. | |
Typedefs | |
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 } |
enum class | Synchronization { Time , TimeIfNecessary , Phase , None } |
enum class | DurationDiscretization { Continuous , Discrete } |
enum | Result { Working = 0 , Finished = 1 , Error = -1 , ErrorInvalidInput = -100 , ErrorTrajectoryDuration = -101 , ErrorPositionalLimits = -102 , ErrorZeroLimits = -104 , ErrorExecutionTimeCalculation = -110 , ErrorSynchronizationCalculation = -111 } |
Result type of Ruckig's update function. More... | |
Functions | |
template<typename T > | |
T | pow2 (T v) |
template<class Vector > | |
std::string | join (const Vector &array, size_t size) |
Vector data type based on the Eigen matrix type. Eigen needs to be included seperately. | |
std::tuple< double, double, double > | integrate (double t, double p0, double v0, double a0, double j) |
Integrate with constant jerk for duration t. Returns new position, new velocity, and new acceleration. | |
double | v_at_t (double v0, double a0, double j, double t) |
double | v_at_a_zero (double v0, double a0, double j) |
Variables | |
static constexpr size_t | DynamicDOFs {0} |
Constant for indicating a dynamic (run-time settable) number of DoFs. | |
using ruckig::RuckigThrow = typedef Ruckig<DOFs, CustomVector, true> |
using ruckig::StandardSizeVector = typedef typename std::conditional<DOFs >= 1, std::array<T, SIZE>, std::vector<T> >::type |
using ruckig::StandardVector = typedef 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. |
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 |
|
inline |
Integrate with constant jerk for duration t. Returns new position, new velocity, and new acceleration.
|
inline |
Vector data type based on the Eigen matrix type. Eigen needs to be included seperately.
|
inline |
|
inline |
|
inline |
|
staticconstexpr |
Constant for indicating a dynamic (run-time settable) number of DoFs.