Execution and Control

Ruckig

Ruckig generates time-optimal trajectories under velocity, acceleration, and jerk limits for smooth robot motion commands.

Tool Introduction

Core parameters, trigger timing, and visual before/after demo references.

Short Explanation

Use Ruckig to retime robot joint or Cartesian commands into smooth jerk-limited trajectories before execution.

InputCurrent state, target state, velocity/acceleration/jerk limits
OutputTime-parameterized trajectory samples
Trigger TimingTriggered on demand after the required input files and configuration are prepared.
RuntimeC++ / Python package
BeforeCurrent state, target state, velocity/acceleration/jerk limits

Prepare the scene, image, video, sensor stream, prompt, or configuration expected by the original project.

AfterTime-parameterized trajectory samples

Read the produced visualization, prediction, map, trajectory, mask, grasp pose, or other documented artifact.

Parameters And Output

Readable controls and the meaning of each returned artifact.

Parameter Explanation

current_statetext

Current positions, velocities, and accelerations.

target_statetext

Desired target positions, velocities, and accelerations.

limitstext

Velocity, acceleration, and jerk limits for each degree of freedom.

Output Explanation

trajectory

Smooth trajectory samples or online control states.

duration

Total trajectory duration under the configured limits.

How To Use

Official resources, deployment steps, academic context, citation, and source-reported benchmark numbers.

Deployment Notes

  1. Install the C++ library or Python package.
  2. Set per-axis limits according to the robot controller and safety constraints.
  3. Call Ruckig online in the servo loop or offline for trajectory retiming.

Relative Path Example

from ruckig import Ruckig, InputParameter, OutputParameter
otg = Ruckig(6, 0.001)
# Fill current state, target state, and limits, then call update in the control loop.

Expected Result Shape

{
  "tool": "ruckig",
  "status": "ok",
  "results": [
    {
      "label": "Jerk-limited trajectory generation",
      "score": 0.87,
      "output": "Time-parameterized trajectory samples"
    }
  ],
  "timing": {
    "runtime": "The paper targets real-time control cycles and notes typical robot control cycle times of 0.5 ms to 5 ms.",
    "device": "documented in source benchmark when available"
  },
  "artifacts": {
    "visualization": "tools/ruckig/runs/visualization.png",
    "raw_predictions": "tools/ruckig/runs/predictions.json"
  }
}
Paper figure

Academic Info

Paper identity and contribution summary.

TitleJerk-limited Real-time Trajectory Generation with Arbitrary Target States
AuthorsAdd authors
VenueRSS 2021
ContributionComputes online, jerk-limited motion profiles that can be used directly in robot controllers.

Citation

@misc{ruckig2021,
  title={Jerk-limited Real-time Trajectory Generation with Arbitrary Target States},
  author={Author},
  year={2021},
  note={RSS 2021},
  url={https://arxiv.org/abs/2105.04830}
}

Benchmark

Only compact, source-reported numbers are shown here.

DatasetMetricValueRuntimeSource
7-DoF online trajectory generationMean / worst calculation time19.8+/-0.2 us / 123+/-13 usIntel i7-8700K, single threadOfficial RSS 2021 paper, Table III
7-DoF online trajectory generationReflexxes Type IV mean / worst calculation time38.4+/-0.4 us / 155+/-35 usIntel i7-8700K, single threadOfficial RSS 2021 paper, Table III
7-DoF online trajectory generationopt_control mean / worst calculation time727+/-7 us / 3203+/-504 usIntel i7-8700K, single threadOfficial RSS 2021 paper, Table III

Artifacts

Official RSS 2021 paper, Table III, benchmark figure, C++ library, Python package, and online trajectory examples.

Demo Images

Visual references from the original tool. Click any image to inspect the original size.