Skip to content

Latest commit

 

History

History
33 lines (23 loc) · 1.27 KB

BNO055.md

File metadata and controls

33 lines (23 loc) · 1.27 KB

BNO055

BNO055は 9軸ジャイロセンサーです。地磁気センサーを使用することで、積算誤差による角度のズレをかなり正確に補正できます。

下にジャイロセンサのヨー角を取得する例を示します。ロボットにセンサーを水平に設置した場合、ヨー角がロボットの旋回角となります。

コンストラクタには、センサーと接続されている I2C 端子と対応する TwoWire オブジェクトを指定します。

#include <Udon.hpp>

static Udon::BNO055 gyro{ Wire };

void setup()
{
    gyro.begin();
}

void loop()
{
    gyro.update();

    const double yaw = gyro.getQuaternion().toYaw();  // gyro.getYaw(); も同義
}

オイラー角からヨー角を取得することもできますが、ヨー角のみを取得する場合、クオータニオンからヨー角を求める方がパフォーマンス的に良いです。(内部的にクオータニオンを用いており、オイラー角に変換する段階で不要なピッチ、ロール角まで求めてしまうため)

const double yaw = gyro.getEuler().yaw;