【问题标题】:Dronekit python vehicle connection timeoutDronekit python 车辆连接超时
【发布时间】:2018-02-22 21:37:54
【问题描述】:

我们在让 Dronekit 与我们的直升机一起工作时遇到了一些麻烦。到目前为止,我们已经使用 SITL 测试了所有东西,一切正常,但是这种成功并没有很好地转移到真实的东西上。

我们的设置是:运行 Mavproxy 的 Windows GCS(通过 COM9 主控,Dronekit 脚本和 Mission Planner 的 UDP 输出)和一个基本的 Dronekit 脚本(起飞和着陆)。请查看图表以获得更清晰的说明。

我们在运行 MAVProxy 时使用以下命令: mavproxy.exe --master=com9,57600 --out=udp:127.0.0.1:14550 --out=udp:127.0.0.1:14551 --console

我们遇到的问题是连接到车辆 (http://python.dronekit.io/guide/connecting_vehicle.html),我们能够连接到无人机并获取一些电路板信息。但是,我们在 30 秒内没有收到心跳消息,导致超时。

>>> APM:Copter V3.5.2 (4322ffda)
>>> PX4: 1d6bf64c NuttX: 1a99ba58
>>> Frame: QUAD
>>> PX4v3 0020002E 30365110 35323931

Traceback (most recent call last):
  File "C:/Users/simon/PycharmProjects/uas_lol/test_mission.py", line 32, in <module>
    vehicle = connect(connection_string, wait_ready=True, baud=57600, heartbeat_timeout=120)
  File "C:\Python27\lib\site-packages\dronekit\__init__.py", line 2849, in connect
    vehicle.wait_ready(True)
  File "C:\Python27\lib\site-packages\dronekit\__init__.py", line 2199, in wait_ready
    timeout)
dronekit.APIException: wait_ready experienced a timeout after 30 seconds.

Process finished with exit code 1

我们可以通过设置 wait_ready=False 来绕过超时。使用它,我们可以连接到车辆并武装无人机。在起飞时,它只在某些时候起作用。我们发现重置 MAVProxy 时它更有可能工作(起飞)。

我想确认通过 Mission Planner 使用 udp 127.0.0.1:14550 连接到无人机可以正常工作。

任何关于我们可能做错了什么的见解将不胜感激,谢谢!

【问题讨论】:

    标签: python dronekit-python dronekit mavlink


    【解决方案1】:

    原来问题是因为我们以 57600 的波特率通过串行遥测连接,所以下载参数需要大约 2 分钟,而 Dronekit 会在 30 秒后超时。

    根据文档,您可以使用 heartbeat_timeout=180 (http://python.dronekit.io/automodule.html#dronekit.connect) 设置超时。然而这并没有真正解决问题,因为它在 30 秒后仍然超时。

    看起来 30 秒可能被编码到库中,在下面的行中将 30 更改为 180 解决了我的问题。 https://github.com/dronekit/dronekit-python/blob/754ce6223dd26179045eaa394d5df0a5f787ebb2/dronekit/init.py#L2216

    【讨论】:

    • 使用wait_ready函数访问超时参数。你可以这样做:vehicle = connect(connection_string, wait_ready=False); vehicle.wait_ready(True, timeout=300).
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多