2016-05-10 17 views
0

DKPy-SITLとAPM2ボードの両方で、wait_readyメソッドは、コマンドリスト(ウェイポイント)がダウンロードに時間がかかり、API例外を発生させています。過去(droneapiで)これは私のための問題ではなかった。いくつかのウェイポイントがダウンロードされていますが、処理にはそれぞれ約10秒かかります。これは奇妙なことが起こっていると信じさせます。CommandSequenceがダウンロードに時間がかかりすぎる

ダウンロードプロセスをスピードアップする方法はありますか?私は以下の関連コードを掲示しました。

self.vehicle = connect(connection_string, baud=baud_rate, 
      status_printer=dronekit_printer, wait_ready=True) 

以降別の非同期メソッドで

def commands(self): 
    commands = self.vehicle.commands 
    commands.download() 
    commands.wait_ready() 
    return commands 

エラー)(commands.wait_readyに起こります。 i7 4790kプロセッサで30秒以上そこに座っているよりも、特に私が過去にdroneapiを使用しているより遅いコンピュータから同じコードを実行しているため、コマンドをダウンロードする方が速い方法が必要です。必要があれば、私はdronekit githubにも問題を提起することができます。

答えて

1

私は同じ問題がありました。最初のダウンロードコールは常にうまくいっています(0コマンド)。 2回目にダウンロードしようとするといくつかのコマンドをアップロードしたら、それは失敗します( 'タイムアウト'例外)。 これを解決するために何をしたのかは、初めてダウンロードしなくても明らかになっています。 何かのように:

  cmds = vehicle.commands 
      if not cmds.count > 0: 
       # Download 
       cmds.download() 
       # Wait until download is finished 
       cmds.wait_ready() 
      cmds.clear() 
      # Add/Modify the commands here and then upload them 
+0

3DRは、それが必要なフルタイムのプログラマーを与えるよりも、道端で倒れました。結果として、私たちはそれから離れて、Dronekitによって導入された不必要なオーバーヘッドがなくても動作するようにする独自のMavproxyモジュールを作りました。 – Indeed

+0

私は同意します。あなたの問題を解決したら答えを解決策としてマークしてください。ありがとう – epinal

+0

問題は、最初のダウンロードは通常はゼロコマンドではないため、解決策でもありません。私は開発者の注目を集めることを望んでこれを投稿しましたが、3DRはフルタイムの給与計算をもはや持っていないので、それを見たかどうかは分かりません。 – Indeed

関連する問題