我们在让 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 连接到无人机可以正常工作。
任何关于我们可能做错了什么的见解将不胜感激,谢谢!