0

ソロドローンでドローンキットを使用して helloworld.py を実行しようとしています。

私の環境は

dronekit==2.7.0
pymavlink>=2.0.0

単純な helloworld の例を実行しようとすると、タイムアウトが発生しvehicle.connect()ます。

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 にダウングレードしようとしましたが、うまくいきませんでした。どんな助けでも大歓迎です。

4

2 に答える 2

0

私は同じ問題を抱えていました.pymavlinkをダウングレードした後、古いバージョンのdronkitもビルドします。私は 2.0.0 を使用しましたが、うまくいきました。ドローンキット バージョンのリンクは次のとおりです

于 2016-08-20T19:29:07.333 に答える
0

python2 を使用していることを確認してください。Dronekit は pymavlink を使用し、dronkit コードは python3 に変更されましたが、pymavlink は python3 で多くの問題を引き起こし、python2 では問題なく動作します。

vehicle.initialize メソッドの問題のようですが、wait_ready=False を設定してみてください。それが機能する場合、あなたのソロはドローンキットが期待するパラメータを送信していません:

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

Solo ファームウェアを更新し、最新の Dronekit と Pymavlink バージョンを git リポジトリから取得してみてください。

于 2017-06-22T20:44:14.307 に答える