Тайм-аут подключения транспортного средства Dronekit python

Я пытаюсь запустить helloworld.py с помощью Dronekit на своем одиночном дроне.

Моя среда

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, но это не сработало. Буду признателен за любую оказанную помощь.


person Jerome Anthony    schedule 09.07.2016    source источник


Ответы (2)


У меня была та же проблема. После понижения версии pymavlink также создайте более старую версию dronekit. Я использовал версию 2.0.0, и она работала. Вот ссылка на версии Dronekit: https://github.com/dronekit/dronekit-python/releases

person Eldar    schedule 20.08.2016

Убедитесь, что вы используете python2. Дронекит использует pymavlink, а код дрона был изменен на python3, но pymavlink доставил мне много проблем в python3, и он отлично работает в python2.

Это похоже на проблему в методе 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']

Попробуйте обновить прошивку соло и получить последние версии dronekit и pymavlink из их репозитория git.

person epinal    schedule 22.06.2017