The speed calculator performed badly when given imbalanced
acceleration values as input, in particular this was the case when
the current and target velocities are close to each other. The
calculation could then reach a middle point for the velocities
without having the accelerations anywhere near equal. Now the
accelerations is first balanced up, such that the remaining
acceleration curve becomes symmetrical.
This bug did affect the waypoint_updater since the velocities are
continuously updated every 50 ms, using the velocity and acceleration
from previous waypoint as input to the speed-calculator.
The speed calculator performed badly when given imbalanced acceleration values as input, in particular this was the case when the current and target velocities are close to each other. The calculation could then reach a middle point for the velocities without having the accelerations anywhere near equal. Now the accelerations is first balanced up, such that the remaining acceleration curve becomes symmetrical.
This bug did affect the waypoint_updater since the velocities are continuously updated every 50 ms, using the velocity and acceleration from previous waypoint as input to the speed-calculator.