我正在尝试将mavproxy、任务规划器和dronekit 连接到我的六边形。我没有使用配套计算机,我的设置如下:我有一台运行 Windows for Mission Planner 的 PC,并且在同一台 PC 上运行虚拟机,运行 ubuntu 16.04 运行dronekit 和 mavproxy。
首先,我正在运行 mavproxy 并分叉出 2 个连接,1 个用于任务规划器,一个用于无人机套件,代码如下:
mavproxy.py --master=/dev/ttyUSB0(I'm telling mavproxy to use the serial which the telemetry dongle is connected to) --baudrate=57600 --out=127.0.0.1:14551(ip address on my virtual ubuntu) --out=10.0.0.7:14550 (IP for my windows machine)
我可以通过端口 14550 的 UDP 连接到任务规划器中的无人机。我可以通过 mavproxy 控制台发送命令,例如更改模式/手臂等。
我的问题是当我从dronekit 执行连接脚本以连接到无人机时出现超时错误。
编码
from dronekit import connect, VehicleMode, LocationGlobalRelative
import time
import argparse
parser = argparse.ArgumentParser(description = ‘commands’)
parser.add_argument(’–connect’)
args =parser.parse_args()
connection_string = args.connect
vehicle = connect(connection_string ,wait_ready=True)
当我打开一个新终端时,我运行命令来启动和连接无人机套件
python connect.py --connect 127.0.0.1:14551
一旦我运行它就会卡住,30秒后我得到以下输出:
dronekit.TimeoutError: wait_ready experienced a timeout after 30 seconds.
有时我会得到以下输出:
gcs failsafe cleared
然后它卡住了,30秒后:
dronekit.APIException: Timeout in initializing connection.
我搜索了大约 3 天的解决方案并尝试了几乎所有的方法,例如告诉dronekit 等待超过 30 秒,但我仍然得到同样的错误。我将dronekit 更新到最新版本,更新了pymavlink 和pyserial。还降级了他们以检查它是否可以解决这个问题,但没有任何效果。
我的主要问题是:发生此错误是因为dronekit 只能在配套计算机上运行吗?并且不是为连接投掷遥测无线电而构建的?如果没有,我做错了什么?
我真诚地迷失了,并祈祷有人可以帮助我。提前致谢。我真的会付钱给某人以获得解决方案。
再一次,对不起双重职位。