The hand rotation in the demo is based on the gyro sensors and the problem is quite commonly known as "gyroscopic drift in IMU sensors", seen in most 6DoF sensors to some extent. This is caused by accumulation of noise and errors in the sensor values/estimation: the drift becomes noticeably significant due to the accumulation over a long period and errors from very rapid movements.

Furthermore IMU sensors not only drift through time of use, but it needs re-calibration if the controller travels from one location to the other. 


So how do existing devices or use cases work around this "problem"?

Generally there are 2 solutions or workaround to gyroscopic drift:

  1. 9 DoF sensors integrate additional sensors like magnetometer to add another point of reference for "drift correction".
  2. Intuitive re-calibration of the devices, which can be hidden very well depending on use cases
    • A good example being the game Zelda: Breath of Wild for Nintendo Switch where gyro-aim is only enabled for short periods at a given time. The game also provides customisation options for sensitivity of the gyro-aim to make it more or less sensitive to match the user's play style and prevent unwanted fast movements.
    • This method of implementation is common for other games such as Horizon Zero Dawn which also supports gyro-aim. 




しばらくすると、または非常に速い動きをした後、デモでの手が勝手に回転し始めるのはなぜですか?


デモでの手の回転はジャイロ センサーに基づいており、この問題は「IMUセンサーのジャイロ ドリフト 」(gyroscopic drift in IMU sensors)としてよく知られており、ほとんどの6DoFセンサーである程度見られます。これは、ノイズの蓄積とセンサー値/推定の誤差によって引き起こされます:長期間にわたる蓄積と非常に急速な動きによる誤差により、ドリフトは著しく大きくなります。


さらに、IMUセンサーは使用時間によってドリフトするだけでなく、コントローラーがある場所から別の場所に移動する場合には再校正が必要になります。


では、既存のデバイスやユースケースはこの「問題」をどのように回避しているのでしょうか?


一般に、ジャイロスコープのドリフトには 2 つの解決策または回避策があります:


  1. 9DoF センサーは、磁力計などの追加センサーを統合して、「ドリフト補正」のための別の基準点を追加します。 
  2. デバイスの直観的な再調整。ユースケースに応じて非常にうまく隠すことができます。
    • 例として、Nintendo Switch用ゲーム「Zelda: Breath of Wild 」では、ジャイロエイムが一定時間の短時間のみ有効になります。このゲームでは、ジャイロエイムの感度をカスタマイズするオプションも提供されており、ユーザーのプレイスタイルに合わせて感度を調整したり、不要な素早い動きを防止したりできます
    • この方法は、ジャイロエイムもサポートする「 Horizon Zero Dawn」などの他のゲームでも一般的です。