for autonomous robots it would be extremely precious to have a way for ramp up/down for smooth acceleration/deceleration, e.g.
- when starting to drive without spinning and slipping wheels,
- or to stop smoothly in front of an obstacle without jerking and without locking or blocking wheels,
- and especially when the ground is slippery
- or for a robot arm which is transporting brittle or delicate things from 1 point to another (e.g., a glass filled with a liquid to avoid spilling).
So for that purpose one would need a limit to ramp-up = acceleration (increase rate of rotation speed, e.g. maybe 200 degrees/s² max)
and a limit to ramp-down = deceleration (decrease rate of rotation speed, e.g., max. 400 degrees/s²),
even for different motors to be controlled asynchroneously (e.g., for a 5-6 DOF robot arm).
What would be the best way to do this?
Is there a function already implemented on the BrickPi3 HATs locally like for the PID control?