pantor/ruckig
Motion Generation for Robots and Machines. Real-time. Jerk-constrained. Time-optimal.
What it solves
Ruckig is a real-time trajectory generation library that allows robots and machines to react instantaneously to sensor input. It solves the problem of moving a system from an initial state to a target waypoint (including position, velocity, and acceleration) while strictly adhering to velocity, acceleration, and jerk constraints to ensure smooth, time-optimal motion.
How it works
It calculates trajectories on-the-fly. For state-to-state motions, it provides a time-optimal solution. When intermediate waypoints are provided, it jointly calculates the path and its time parametrization. The library is written in C++20 and provides a Python module for development. It operates by taking an InputParameter (current state, target state, and kinematic limits) and updating the state at each discrete time step via an update function within a control loop.
Who it’s for
It is designed for robotics engineers and developers of industrial machines who need high-performance, motion planning and smooth trajectory generation for hardware control.
Highlights
- Time-Optimal Motion: Guarantees time-optimal solutions for state-to-state motions.
- Jerk-Limited: Ensures smooth movement by limiting jerk, preventing mechanical stress.
- Real-Time Capable: Optimized for control cycles as fast as 500 microseconds (2000 Hz).
- Multi-DOF Support: Handles multiple degrees of freedom with various synchronization behaviors (phase, time, or none).
- Extensive Integration: Used by major projects like MoveIt 2 and CoppeliaSim.
Related
- Project
- Project
- Project
- Project
- Project