M5Stackで姿勢に応じた3D表示をする
M5Stack grayにはIMUとLCDディスプレイが付いている。
簡単にARライクなアプリを作ってみる。
作ったもの
視点 - M5Stack - 対象が直線上にあり、M5Stackのディスプレイの法線と視線が平行なとき、ARライクな動作をする
プログラム
- quaternionFilters.cpp / .h
- 外乱に弱い地磁気センサを使いたくないので、加速度と角速度だけからAHRSを更新する関数MadgwickQuaternionUpdateIMU()を追加
- 物体の回転操作にQuaternionは使いづらい(使えるが分かりづらい)ので、Quaternion -> Rotation Matrixの変換を追加
- RotationMatrixを取得する関数getR()を追加
- M5Stackのデフォルトのライブラリの/src/utility/quaternionFilters.cppの代わりに使う
- 3Dwire-AHRSanim.ino
以上。