2016-07-09 22 views
0

私は自分のソロ・ドローンでdronekitを使ってhelloworld.pyを実行しようとしています。私は、単純なHelloWorldの例にvehicle.connect() timesoutを実行しようとするとDronekit python vehicle connect timeout

私の環境では

dronekit==2.7.0 
pymavlink>=2.0.0 

です。

ERROR LOADING MAVNATIVE - falling back to python implementation 
Connecting to udpin:0.0.0.0:14550... 
>>> Link timeout, no heartbeat in last 5 seconds 
>>> No heartbeat in 30 seconds, aborting. 
Traceback (most recent call last): 
    File "/log/solo-script/helloworld.py", line 9, in <module> 
    vehicle = connect("0.0.0.0:14550", wait_ready=True, baud=57600, heartbeat_timeout=30) 
    File "/log/solo-script/env/lib/python2.7/site-packages/dronekit/__init__.py", line 2787, in connect 
    vehicle.initialize(rate=rate, heartbeat_timeout=heartbeat_timeout) 
    File "/log/solo-script/env/lib/python2.7/site-packages/dronekit/__init__.py", line 2060, in initialize 
    raise APIException('Timeout in initializing connection.') 
dronekit.APIException: Timeout in initializing connection. 

私はpymavlinkを1.1.73にダウングレードしようとしましたが、うまくいきませんでした。どんな助けでも大歓迎です。

答えて

0

私は同じ問題を抱えていました.pymavlinkをダウングレードした後も、古いバージョンのdronekitをビルドします。私は2.0.0を使用していました。ここにはドローンキットのバージョンのリンクがあります:https://github.com/dronekit/dronekit-python/releases

0

python2を使用していることを確認してください。 Dronekitはpymavlinkを使い、dronekitのコードはpython3に変更されましたが、pymavlinkはpython3で多くの問題を与えてくれました。

それはvehicle.initialize方法で問題のように見えますがwait_ready = Falseを設定しようと、それは、あなたのソロを動作する場合、それはdronekitパラメータを送信していないが期待している:

# Default parameters when calling wait_ready() or wait_ready(True). 
self._default_ready_attrs = ['parameters', 'gps_0', 'armed', 'mode', 'attitude'] 

は、あなたのソロのファームウェアをアップデートしてみてくださいgitリポジトリから最新のdronekitとpymavlinkのバージョンを取得しています。

関連する問題