pantor/ruckig

Strange behaviour on target conditions

abernasconi90 opened this issue · 1 comments

Hello,

I am integrating Ruckig and trying to performe many trajectories and I found a strange behaviour with these parameters:

input.current_position = {100};
input.current_velocity = {-150};
input.current_acceleration = {1520};

input.target_position = {700};
input.target_velocity = {150};
input.target_acceleration = {350};

input.max_velocity = {300};
input.max_acceleration = {2000};
input.min_acceleration = {-2000};
input.max_jerk = {70000};

input.duration_discretization = ruckig::DurationDiscretization::Discrete;
input.control_interface = ruckig::ControlInterface::Position;

I am using a control cycle of 0.001 second specified in the object constructor:
ruckig::Ruckig<1> generator {0.001}; // control cycle

I am using a discrete duration in order to complete the trajectory within a period multiple of control cycle.
The strange behaviour occurs at the end of computation. The last two samples are:

Position: 700.000000
Velocity: 150.000000
Acceleration: 350.000000
Jerk: 70000.000000

Here Ruckig reports ruckig::Result::Working as return value of generator.update(input, output) method.

Final Position: 700.150175
Final Velocity: 150.350000
Final Acceleration: 350.000000
Final Jerk: 0.000000

Here Ruckig reports ruckig::Result::Finished as return value of generator.update(input, output) method.

I tried this code on Linux Ubuntu as OS.
Am I doing something wrong?

Thanks

Hello,
any update for this ticket?
Thanks