patrykcieslak / stonefish

Stonefish - an advanced C++ simulation library designed for (but not limited to) marine robotics.
https://stonefish.readthedocs.io/
GNU General Public License v3.0
122 stars 32 forks source link

Ensure short path angular velocity on trajectory interpolation #40

Closed Rogerpi closed 1 year ago

Rogerpi commented 1 year ago

The rotation path between two quaternions may turn either the "short way" (less than 180°) or the "long way" (more than 180°). Long paths can be prevented by negating one end if the dot product, cos Ω, is negative, thus ensuring that −90° ≤ Ω ≤ 90°. See https://en.wikipedia.org/wiki/Slerp