CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 205
Releases: pantor/ruckig
v0.15.3
Compare
π Fixes
- Fixes an unwanted dynamic allocation in the
Trajectory
class (#214).
π¬ Misc
- Switches to
nanobind
for the Python wrapper for improved performance and compilation times.
Assets 2
v0.14.0
Compare
β‘ Features
- Reduces the minimum required version of the optional Eigen dependency to 3.3.7 (from 3.4.0).
π¬ Misc
- Adds pre-built packages for Python 3.13.
Assets 2
v0.12.2
Compare
This release brings various new features and improvements, most notably support for infinite jerk and acceleration limits.
β‘ Features
- Support for both infinite and zero kinematic limits.
- Detailed error message on failed input validation.
- Expose the current jerk value in the output.
- Performance improvements for the velocity interface.
- Enable the Cloud API for intermediate waypoints by default.
π Fixes
- Reworked the Python wheel build pipeline, fixes macOS wheels for Python 3.11+ and brings support for a wider range of architectures and distributions.
π¬ Misc
- Added Python linting to the CI.
- Easily create Debian packages with CPack.
- Renamed the
PositionExtrema
class toBound
.
Assets 2
v0.9.2
Compare
This patch release improves the general performance of Ruckig.
β‘οΈ Features
- Improvement of the calculation performance by up to 10%.
- Added support for Python 3.11, including pre-built packages for PyPI.
π Fixes
- Fixed several minor issues with C++11 support via the patch.
- Fixed several MSVC Warnings in the OnlineCalculator class.
Assets 2
v0.8.4
Compare
This release includes two exciting new features: First, it extends phase synchronization for straight-line trajectories to the velocity control interface. Second, this release allows to use custom vector types (with support for Eigen types out of the box) for an easier interface to your code without any wrappers.
β‘ Features
- Extends phase synchronization to the velocity control mode.
- Introduces custom vector types that can be specified as a template template argument. More information can be found in the Readme section.
- Built-in support for nlohmann/json based serialization of the trajectory class.
- Adds a
pyproject.toml
file for easier setup of the Python module.
π Fixes
- Fixes trajectory calculations when the current acceleration is on its limit due to an issue with the braking trajectory.
- Removes
-Werror
as a default flag to let Ruckig build in case of compiler warnings.
π₯ Sponsors

Thanks to Fuzzy Logic Robotics for sponsoring this release!
Assets 2
v0.7.1
Compare
With this release, Ruckig allows using a variable control rate!
β‘ Features
- Makes
delta_time
non-constant. - Allows to reset
Ruckig
and therefore force a new trajectory computation (#132).
π Fixes
Assets 2
v0.6.5
Compare
π Fixes
- Fixes a numerical instability in velocity control, in particular when calculating trajectories to a zero target state.
- Fixes
pip install
for non-prebuild architectures. - Fixes an error when building the Online API flag (
BUILD_ONLINE_CLIENT
) with some C++17 compilers due to the nlohmann/json dependency.
Assets 2
v0.6.3
Compare
β‘ Features
- Improves the computational performance by around 10%.
- Adds continuous deployment of ROS packages via GitHub Actions.
Assets 2
v0.6.0
Compare
This release brings trajectories with intermediate waypoints to the Community Version! Calculation is done on remote servers via this API, so this is only applicable for offline trajectory generation. Furthermore, this release...
β‘ Features
- Adds a method for filtering intermediate waypoints based on a threshold distance for each DoF. In general, Ruckig prefers as few waypoints as possible, so we recommend to filter the input with a threshold as high as possible.
- Improves input validation. In particular, Ruckig is now able to guarantee the kinematic state to be below the constraints throughout the trajectory.
π Fixes
- Fixes trajectories with zero duration.
- Adds a stability improvement to Step 2 of the algorithm.
Assets 2
v0.5.0
Compare
This release introduces the pass_to_input
method of the OutputParameter
class: We recommend to change the following usage in your code from
while (ruckig.update(input, output) == Result::Working) {
// Make use of the new state here!
input.current_position = output.new_position;
input.current_velocity = output.new_velocity;
input.current_acceleration = output.new_acceleration;
}
to
while (ruckig.update(input, output) == Result::Working) {
// Make use of the new state here!
output.pass_to_input(input);
}
While the old style works fine for now, it is now depreciated to support additional features coming in future releases. Moreover, this release includes:
β‘ Features
- Introduces the option to set the synchronization and control interface for each degree of freedom separately.
- An overall performance improvement of around 15%.
- Reduced the memory footprint of the
Trajectory
class by an order of magnitude.
π Fixes
- Fixed a jump in the position output after a finished trajectory for disabled degrees of freedom.
π¬ Misc
- Added a
to_string
method for printing theOutputParameter
class (#77).