Crate rsruckig

Crate rsruckig 

Source
Expand description

The core implementation of the Ruckig trajectory generation algorithm

This module contains all the components needed for real-time trajectory generation:

§Main Components

The main components you’ll interact with are:

§Memory Management

The library supports both stack and heap allocation for degree-of-freedom (DoF) data:

  • Use template parameter for stack allocation (e.g., Ruckig::<3, ThrowErrorHandler>)
  • Use runtime parameter for heap allocation (e.g., Ruckig::<0, ThrowErrorHandler>::new(Some(3), ...))

§Error Handling

Error handling is done through the error::RuckigErrorHandler trait with two implementations:

You can implement your own error handler by implementing the error::RuckigErrorHandler trait.

§Control Interfaces

The library supports three control interfaces:

  • Position control: Control the full kinematic state (default)
  • Velocity control: Control the velocity (useful for visual servoing)
  • Acceleration control: Control the acceleration directly

Modules§

block
Which times are possible for synchronization?
brake
Emergency brake profile calculation for trajectory interruption
calculator_target
Calculation of a state-to-state trajectory.
error
Error types and handling for the Ruckig algorithm
input_parameter
Input parameters for trajectory generation, including constraints and settings
output_parameter
Output parameters containing the generated trajectory and current state
position_first_step1
Mathematical equations for Step 1 in first-order position interface: Extremal profiles
position_first_step2
Mathematical equations for Step 2 in first-order position interface: Time synchronization
position_second_step1
Mathematical equations for Step 1 in second-order position interface: Extremal profiles
position_second_step2
Mathematical equations for Step 2 in second-order position interface: Time synchronization
position_third_step1
Mathematical equations for Step 1 in third-order position interface: Extremal profiles
position_third_step2
Mathematical equations for Step 2 in third-order position interface: Time synchronization
prelude
Re-exports of the most commonly used types
profile
Motion profiles for trajectory generation with kinematic constraints
result
Result types for trajectory calculation operations
roots
Root-finding utilities for trajectory calculations
ruckig
Main implementation for the Ruckig algorithm.
trajectory
Trajectory representation and evaluation
util
Utility functions and data structures for the Ruckig algorithm
velocity_second_step1
Mathematical equations for Step 1 in second-order velocity interface: Extremal profiles
velocity_second_step2
Mathematical equations for Step 2 in second-order velocity interface: Time synchronization
velocity_third_step1
Mathematical equations for Step 1 in third-order velocity interface: Extremal profiles
velocity_third_step2
Mathematical equations for Step 2 in third-order velocity interface: Time synchronization

Macros§

count_exprs
Helper macro for counting elements in a sequence. This is used internally by the daov_stack and daov_heap macros.
daov_heap
Creates a heap-allocated DataArrayOrVec instance with dynamic Vec storage.
daov_stack
Creates a stack-allocated DataArrayOrVec instance with fixed-size array storage.