SlimeVRの6軸キャリブレーション解説【ぽてとら】

最近VRCHATにはまって、ついにフルトラに手を出そうと思って最初に買った「ぽてとら」
使い勝手は申し分ないのですが、どうやら「6軸キャリブレーション」とやらをやるとさらにドリフトが軽減されるのだとか。

しかし、どの記事を見ても6軸キャリブレーションのわかりやすい日本語の説明がなく苦労したので、後続のためにも一挙手一投足やり方を残しておこうと思った次第。

簡潔な説明から先に書くと

  • 6軸キャリブレーションとは一個の立方体のトラッカーに対して、6つの面それぞれをキャリブレーションするということ
  • シリアルコンソール画面を見ながら行う
  • トラッカーを裏向き水平にした状態で「リブート」ボタン押す→「Flip front to confirm start calibration」のログが出た瞬間に表向き水平にする
  • 「Put the device into 6 unique orientations (all sides), leave it still and do not hold/touch for 3 seconds each」のログが出たら6つの異なる向きでそれぞれ3秒間静止させる
  • 「Recorded, waiting for position 2(この数字は6まで増えてく)…」のログがでたらすぐに別の面(2面目)を向ける
  • [INFO ] [BMI270Sensor:0] Calibration data for gyro offset: found
    [INFO ] [BMI270Sensor:0] Calibration data for gyro sensitivity: found
    [INFO ] [BMI270Sensor:0] Calibration data for accel: found
    ログの上記3つがすべて「found」になっていれば成功
  • MasterとHostは直接PCに接続、SlaveはMasterを介した状態でMasterをPCに接続して行う

特に重要な点は上記。これだけで解決したらこの先は詳細に解説してるだけなので特に読む必要ないかも。

① キャリブレーションの流れと操作方法

シリアルコンソールを見ながら以下の4ステップ で進みます。

ステップ説明やること
1. 開始キャリブレーション開始の準備トラッカーを平らな場所に置く
2. ジャイロキャリブレーションジャイロセンサーのズレを補正動かさずに待つ(数秒間)
3. 加速度センサーキャリブレーション6面のキャリブレーション6つの異なる面で静止
4. 完了キャリブレーションデータが保存されるキャリブレーション終了を待つ

SlimeVRの6軸キャリブレーションは、トラッカー一個一個に対して合計6セット行いますが、Master(とHost)・Slaveでやり方が最初だけ少し異なります。なので異なる点を最初に書いておきます。

※前提として、セットアップウィザードやマウントキャリブレーションは完了した状態で6軸キャリブレーションをするようにしましょう。

Master(とHost)・・・直接PCに接続する

MasterとHostはやり方は同じなので、Masterを例に挙げて説明します。

①まずPCとMasterが接続されていない状態にする

②PCとMasterを接続する

③シリアルコンソールを開く

Masterを裏向き水平に置き、「リブート」ボタンをクリックする

ここまでがMasterもしくはHostのみの動作です

Slave・・・SlaveをMasterに接続したまま、MasterをPCに接続する

Slaveは直接PCに接続しないというのが大きな違いです。

①まずPCとMaster,Slaveがすべてお互いにつながれてない状態にする

②MasterとSlaveを接続する

③(MasterとSlaveがつながった状態で)MasterをPCに接続する

④シリアルコンソールを開く

⑤Masterはどうでもよく、Slaveを裏向き水平に置き、「リブート」ボタンをクリックする

以降は、MasterはPCにつながれていますが、無視してSlaveのみ動かしていく操作になると思ってください。


② 各ステップの詳細な説明

では、以降の操作を説明します。ここからはMaster, Host, Slaveそれぞれ同じ操作をします。

※どこかで失敗した(かも?と思った)らここに戻ってきて以下手順からやりなおしてください。

2-1. キャリブレーションの開始

裏向き状態のまま「リブート」ボタンをクリックするとログに以下のようなメッセージが出ます。

[INFO ] [BMI270Sensor:0] Flip front to confirm start calibration

🔹やること

  • トラッカーを表向きにひっくり返す
    • これでキャリブレーションが開始されます。
      ※わりと一瞬でこのログは流れていくので、出た瞬間にトラッカーをひっくり返してください
  • 平らな場所に置く(動かさない)

2-2. ジャイロキャリブレーション

表向きのまま置いておくと、以下のログが流れます。
※これも一瞬ですが、特に操作はないので最悪見逃しても大丈夫です

ログ:

[INFO ] [BMI270Sensor:0] PUT DOWN the device and wait for gyro CRT calibration (several seconds).
CRT running. DO NOT MOVE TRACKER!

この間は、ジャイロのズレ補正が行われる ので動かさないでください。

※Slaveを操作している際、一向にこのログが出ずにキャリブレーションを開始できないことがありますが原因はまちまちでわからないので、このログがでたら「①キャリブレーションの流れと操作方法」からやり直してください

🔹やること

そのまま置いて数秒間待つ(動かさない)


2-3. 加速度センサーのキャリブレーション


ログに以下のようなメッセージが表示されたら、加速度センサーのキャリブレーションが始まります。

[INFO ] [BMI270Sensor:0] Put the device into 6 unique orientations (all sides), leave it still and do not hold/touch for 3 seconds each

📌 このメッセージが出たら、トラッカーを6つの向きで置く準備をする!
各向きで3秒間静止させることが重要です。


6つの向き(順不同でOK)

加速度センサーのキャリブレーションでは、トラッカーを6つの異なる面に静止させる必要があります。

📌 ポイント

  • どの向きから始めてもOK(順番は自由)
    ※だけど流れで表向きからスタートすることになるかと
  • 各向きで3秒間静止させる
  • 動かしたり(できれば)手で支えたりしない
  • トラッカーは安定した平らな面(机の上など)に置く

✅ 6つの置き方

置き方説明
表向き(通常の置き方)USBポートを上にして、トラッカーを机に置く
裏向き(ひっくり返す)USBポートを下にして、裏向きに置く
左側を下にして立てるUSBポートが左側を向くようにして、側面を下にして立てる
右側を下にして立てるUSBポートが右側を向くようにして、反対の側面を下にする
前側(USBポート側)を下にして立てるUSBポートを下向きにして立てる
後ろ側(USBポートが上)を下にして立てるUSBポートが上を向くようにして立てる

USBポート側を下にする際、「いやUSBケーブル刺さってるから無理やん」ってなりますが、机のヘリとかでうまいこと立たせるしかないのかなと・・・
私は手で支えながらやりましたが、うまくいきました(多分)


2-4. キャリブレーションの進行(ログの確認)

1つ目の向き

ログ:

[INFO ] [BMI270Sensor:0] Waiting for position 1, you can leave the device as is...

📌 1つ目の向き(表向きなど)で、3秒間静止する。


2つ目の向き

ログ:

[INFO ] [BMI270Sensor:0] Recorded, waiting for position 2...

📌 このログが出たのを確認してから2つ目の向きに変更して、3秒間静止する。


3~6つ目の向き

ログ:

[INFO ] [BMI270Sensor:0] Recorded, waiting for position 3...
[INFO ] [BMI270Sensor:0] Recorded, waiting for position 4...
[INFO ] [BMI270Sensor:0] Recorded, waiting for position 5...
[INFO ] [BMI270Sensor:0] Recorded, waiting for position 6...

📌 このログが出るたびに、次の向きに変更し、3秒間静止する。


2-5. 加速度センサーのキャリブレーション完了

ログ:

[DEBUG] [BMI270Sensor:0] Calculating accelerometer calibration data...
[DEBUG] [BMI270Sensor:0] Finished calculating accelerometer calibration
[DEBUG] [BMI270Sensor:0] Saving the calibration data

📌 このメッセージが出たら、加速度センサーのキャリブレーションは成功! 🎉


③ 成功したか確認する

最後に、6軸キャリブレーションが成功したかをログで確認します。

成功している場合、次のようなログが出る

[INFO ] [BMI270Sensor:0] Calibration data for gyro offset: found
[INFO ] [BMI270Sensor:0] Calibration data for gyro sensitivity: found
[INFO ] [BMI270Sensor:0] Calibration data for accel: found

→ これが すべて「found」 になっていれば、キャリブレーション成功!

※失敗していたらどこかが「not found」になっています


④ 失敗した場合の対処法

失敗したらとにかくリブートからやり直してみましょう。
一応対処法は以下に載せておきます。

状況原因対処方法
「Recorded, waiting for position X」が進まない3秒間静止できていないしっかり静止させる
キャリブレーション完了後も「Calibration data for accel: found」が出ないデータが保存されていないもう一度6軸キャリブレーションをやり直す
「Calibration failed」エラーが出る置き方が正しくない6面すべてやり直す

以上、6軸キャリブレーションのやり方でした。これでもまだわかりにくいかもしれないので、気づいたことがあれば追記します!

コメント

タイトルとURLをコピーしました