Registry / ai-ml / ruckig

ruckig

JSON →
library0.17.3pypypi✓ verified 86d ago

Ruckig is a real-time motion generation library for robots and machines, providing instantaneous trajectory generation for up to 7 degrees of freedom. Current version 0.17.3, requires Python >=3.9. Released under the MIT license, with active development on GitHub.

pip install ruckig
INSTALL
IMPORT
SIG · RUCKIG
R
ruckig
ai-mlpythonv0.17.3
Install
Import
Disk
Pass rate
0/ 10
Env Coverage0 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v? · pip install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
build_error
glibc
py 3.103.95 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Ruckig
from ruckig import Ruckig
import Ruckig
Common mistake: Ruckig is a class inside the module, not a top-level import.
InputParameter
from ruckig import InputParameter
OutputParameter
from ruckig import OutputParameter
Result
from ruckig import Result

Basic example of generating a 1-DOF trajectory from current state to target.

from ruckig import Ruckig, InputParameter, OutputParameter, Result # Create Ruckig instance (DOF=1) otg = Ruckig(1) # Set input parameters inp = InputParameter(1) inp.current_position = [0.0] inp.current_velocity = [0.0] inp.current_acceleration = [0.0] inp.target_position = [1.0] inp.target_velocity = [0.0] inp.target_acceleration = [0.0] inp.max_velocity = [1.0] inp.max_acceleration = [1.0] inp.max_jerk = [10.0] out = OutputParameter(1) result = otg.calculate(inp, out) if result == Result.Working: print('Trajectory generated: {} steps'.format(out.trajectory.duration)) elif result == Result.Finished: print('Already at target.') else: print('Invalid input.')
Debug
Known issues
breakingIn version 0.17.0, the method `calculate` now returns a `Result` enum instead of a boolean. Code checking for `True`/`False` will break.
fix
Check for `Result.Working` or `Result.Finished` (see docs). For a quick fix, use `bool(result == Result.Working)` if you need a boolean.
affects: >=0.17.0
deprecatedThe `Ruckig.set_max_*` methods are deprecated as of 0.17.0. Set limits directly via `InputParameter.max_velocity`, etc.
fix
Replace `otg.set_max_velocity(1.0)` with `inp.max_velocity = [1.0]`.
affects: >=0.17.0
gotchaAll position, velocity, acceleration, and limit fields must be lists of floats (even for 1 DOF). Passing a scalar will raise an error.
fix
Wrap scalars in a list: `inp.current_position = [0.0]`.
affects: all
gotchaThe first call to `calculate` often returns `Result.Working` even if the trajectory is trivial. You must call `calculate` repeatedly until it returns `Result.Finished`.
fix
Use a loop: while (result := otg.calculate(inp, out)) == Result.Working: pass, or use an iterator.
affects: all
breakingPython 3.8 support dropped in version 0.16.0.
fix
Upgrade to Python >=3.9.
affects: >=0.16.0
Errors
Common errors & fixes
ImportError: cannot import name 'Ruckig' from 'ruckig'
Trying to import Ruckig directly with `import Ruckig` instead of `from ruckig import Ruckig`.
fix
Use `from ruckig import Ruckig`.
TypeError: __init__() missing 1 required positional argument: 'dofs'
Creating a Ruckig instance without specifying the number of degrees of freedom.
fix
Pass DOF as an integer: `Ruckig(1)` for single-degree-of-freedom.
ValueError: The input parameter vector size does not match the DOFs.
Setting a field (e.g., `current_position`) with a list of wrong length or a scalar.
fix
Ensure all field lists have length equal to DOF. For 1 DOF, use `[value]`.
Upgrade
Version history
0.17.3latest on PyPI · released Mar 24, 2026
Audit
Dependencies
pybind11requiredHeader-only library for binding C++ to Python, included as a build dependency.
Agent activity
28 hits · last 30 days
node
20
OpenAI (training)
1
Resources
ruckig — pip install ruckig · libregistry