DroneKit -Python の入門手順に従って、VM で DroneKit をセットアップしています。自分で物事を簡単にするために、Vagrant を使用して SITL をセットアップすることから始めました。ただし、サンプル スクリプトから SITL を実行して対話する方法がわかりません。
私がしたこと:
- SITL vagrant スクリプトを実行し、SITL が機能するようにしました (Windows で実行されている Mission Planner への接続をテストしました)。
「 Linux でのセットアップ」で説明したように、次のようにしてテストしました。
パラメータ ロード ../Tools/autotest/copter_params.parm
パラメータ セット ARMING_CHECK 0
注 - MAVProxy プロンプトに「STABILIZE>」プロンプトが表示されません。これらは(どうやら)正常に実行されました
- 次に、Ctrl+D を押して SITL シミュレーションを終了
vagrant ssh
し、仮想マシンへのプロンプトを開きました。 ここで説明されているように依存関係をインストールしました(pip仕様を修正した後):
sudo apt-get install python-pip python-numpy python-opencv python-serial python-pyparsing python-wxgtk2.8
次にMAVProxy
sudo pip install MAVProxy
次に、dronapi(注、「sudo」を使用してインストールする必要がありました)
sudo pip install droneapi
次に、コマンド プロンプト (vagrant@vagrant-ubuntu-trusty-32:/vagrant/ArduCopter$) から git clone を取得し、デモに移動しました。
git clone http://github.com/diydrones/droneapi-python.git
cd droneapi-python/example/small_demo
「mavproxy.py」(USB で通信する Linux VM の正しいタイプ) を使用して MavProxy を開始しました。以下を得ました:
Auto-detected serial ports are:
/dev/ttyS31
/dev/ttyS30
...
/dev/ttyS1
/dev/ttyS0
Logging to mav.tlog
libdc1394 error: Failed to initialize libdc1394
最後に、上記のエラーにもかかわらず、モジュールをロードして使用しようとしました。
MAV> module load droneapi.module.api
MAV> DroneAPI loaded
Loaded module droneapi.module.api
api start small_demo.py
MAV> Exception in APIThread-0:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/droneapi/module/api.py", line 322, in run
self.fn()
File "/usr/local/lib/python2.7/dist-packages/droneapi/module/api.py", line 593, in <lambda>
APIThread(self, lambda: execfile(args[1], g), args[1])
...
ドキュメントに記載されている「MANUAL>」ではなく、「MAV>」プロンプトに注意してください。
問題は、「なぜこれが失敗したのか、それを機能させるには何が必要なのか」です。問題は、SITLが実際に実行されていないことだと思います。
ありがとう!