移動距離に関する制御のコード

ファイル内の大まかな説明

移動距離に関する制御のコードは「TelloController1122.cs」内に存在し、大まかに2つの段階に分かれる。
1つが移動する距離を求める段階であり、もう1つが求めた距離に対して重みを付けて実際の移動する距離を求める段階である。
段階を2つに分ける理由として、理想の移動距離を求めて移動指示を出した場合、実際のTelloの挙動によりVR視点で酔ってしまった点やARマーカーをカメラの画角外に外してしまうという問題が発生した点があげれられる。そのため、重みを付けて実際の移動距離にバイアスをかけることによって製品として扱いやすいような挙動をさせることができた。
しかし、重みづけの箇所については不十分であるため、さらに細かく調整する必要がある。

段階Ⅰ「(理想の)移動する距離を求める段階」

「TelloController1122.cs」内の219~227行目が該当する。
220~222行でARマーカーとの距離と角度を推定した値を取得、その後、225~227行で他のファイルで計算された(理想の)移動距離を取得している。

段階Ⅱ「実際の移動距離を求める段階」

「TelloController1122.cs」内の183~213行目が該当する。
段階Ⅰで取得した移動距離の値をもとに、重みづけを行って実際の挙動を安定させることを目的としている。
重みづけの種類は前方向、横方向、旋回の3つの種類に分かれている。3つの中で共通していることは動く値が小さいときはさらに動きを小さくし、大きく動くときはその値に近しいように動くように重みを設定した。