gauteh / sfy

🌊 A lightweight wave buoy for near-shore deployments.
MIT License
39 stars 6 forks source link

Kalman + quaternion processing #108

Open jerabaul29 opened 1 year ago

jerabaul29 commented 1 year ago

The workflow is:

The typical output, the orientation quaternion, is a rotation on the unit sphere S3 defined as a quaternion, and is non dimensional. See for some quaternion introduction: https://jerabaul29.github.io/jekyll/update/2021/01/17/Integrating-Quaternions.html and https://jerabaul29.github.io/assets/quaternions/quaternions.pdf .

The tricky thing is what to feed to the Kalman filter (unit convention, orientation / sign orientation), and what rotation is outputed (quaternion that describes the rotation from the chip frame of reference to the Earth frame of reference, or the inverse of it? in practice, this is easy to convert back and forth, as for unit quaternions, q-1 = q*)