実現したいこと
- PX4/Firmwareで
make px4_sitl gazebo
というコマンドによりGazeboを使ったシミュレーションを行っているが、このシミュレーション速度を実時間よりも高速にしたい。(Gazeboの画面下に表示される「Real Time Factor」指定した速度(例えば、10)にする。)
使用環境
- OS: Ubuntu 18.04 LTS
- CPU: Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
- GPU: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti]
- Memory: 32GB
- Gazebo: version 9.13.0
- PX4/Firmware: 2020-04-20現在のmasterブランチをクローン(最新commit:3177b8d763aeb2b937850d45f38a77b0aeef0e34)
試したこと
- Dronecodeの記事を参考に環境変数
PX4_SIM_SPEED_FACTOR
を変えてシミュレーションを実施。
シミュレーションを行うコンピュータのスペック等の影響(そもそも高速に処理できるスペックがないために速度が上がらない等)も考慮し、PX4_SIM_SPEED_FACTORは、100、10、2など複数パターンで検証。
実際に行った操作
- ターミナルで、PX4/Firmwareをクローンしたディレクトリへ移動して、
export PX4_SIM_SPEED_FACTOR=100
実行。 make px4_sitl gazebo
実行。- 起動したGazebo画面上でReal Time Factorの値を2~3分観察。
- PX4_SIM_SPEED_FACTORの値を10および2に変更して上記繰り返し。
分かったこと
- PX4_SIM_SPEED_FACTOR=100とすると、Gazebo起動直後のReal Time Factorは16程度になり、高速にシミュレーションが実施されているようだが、Gazebo起動直後からReal Time Factorの値がどんどん小さくなり、数分後には1.4程度まで落ちてしまう。
- PX4_SIM_SPEED_FACTOR=10とすると、Real Time Factorは10程度でシミュレーションが始まるが、上記同様すぐに値が下がってきて数分後には1.4程度まで下がってしまう。
- PX4_SIM_SPEED_FACTOR=2とすると、Real Time Factorは2程度でシミュレーションが始まる。1分間程度は、Real Time Factorの値が2~1.9付近を保っていたがその後徐々に下がり始め、数分後には1.4程度まで下がってしまう。※そのまま30分程度放置したところ、0.71まで下がった。
疑問点
- Dronecodeの記事のとおり、PX4_SIM_SPEED_FACTORを設定するだけではダメで、実際には他にも設定が必要なのでしょうか。
追記
- PX4_SIM_SPEED_FACTORを1にして試したところ、この場合も数分で0.7付近まで下がった。
- PX4_SIM_SPEED_FACTORを特に設定せずに試したところ、この場合でも数分で0.7付近まで下がった。
以下、これまでの検証からの予想です。
- PX4_SIM_SPEED_FACTORというパラメータの問題というよりは別のところに問題があるのかもしれない(?)
- Gazeboの画面下にFPS:62.5と出力されているが、描画速度が速すぎて処理能力に影響しているかもしれない(?)
あなたの回答
tips
プレビュー