首页 > 解决方案 > DRONEKIT - 警告:dronekit:链接超时,最近 5 秒内没有心跳

问题描述

我开始使用 Dronekit、Dronekit-STIL 和 Mavlink 来模拟我的 python 脚本。几天使用它没有问题后,我开始收到错误:警告:dronekit:链接超时,最后 5 秒内没有心跳。

我曾尝试重新安装所有东西,但没有任何效果。

我已经在 Linux Ubutun 18 上安装了 PIP 包。我在 Ubutun 20 上尝试了相同的包,但我收到了同样的错误。

我已经安装了这个包:pymavlink>=2.3.3 MAVProxy-1.8.39dronekit-2.9.2dronekit-sitl-3.3.0 Python 2.7.17

按照我的步骤接收错误:

1-dronekit-sitl 直升机 --home=-25.56731,-42.61554,0,180

os: linux, apm: copter, release: 稳定的 SITL 已经下载并解压。准备开机。执行:/home/cesar/.dronekit/sitl/copter-3.3/apm --home=-23.56731,-46.61554,0,180 --model=quad -I 0 以 -23.56731,-46.61554,0,180 速度 1.0 启动四边形模型为 0 绑定端口 5760 启动草图 'ArduCopter' TCP 端口 5760 上的串行端口 0 开始 SITL 输入 等待连接....为 2 绑定端口 5762 TCP 端口 5762 上的串行端口 2 为 3 绑定端口 5763 TCP 端口上的串行端口 3 5763

2 - mavproxy.py --master tcp:127.0.0.1:5760 --out udp:127.0.0.1:14551 --out udp:10.0.2.15:14550

Connect tcp:127.0.0.1:5760 source_system=255 Log Directory: Telemetry log: mav.tlog MAV> Waiting for heartbeat from tcp:127.0.0.1:5760 online system 1 STABILIZE> Mode STABILIZE AP: Calibrating barometer AP: Initialising APM.. . AP:气压计校准完成 AP:GROUND START Init Gyro** INS G_off:0.00、0.00、0.00 A_off:0.00、0.00、0.00 A_scale:1.00、1.00、1.00

3 - 蟒蛇你好.py

启动模拟器 (SITL) 启动直升机模拟器 (SITL) SITL 已下载并提取。准备开机。连接到车辆:tcp:127.0.0.1:5760 WARNING:dronekit:Link timeout, 最近 5 秒内没有心跳

30多岁后

错误:dronekit.mavlink:MAVLink 输入循环回溯中的异常(最近一次调用最后一次):文件“/usr/local/lib/python2.7/dist-packages/dronekit/mavlink.py”,第 211 行,在 mavlink_thread_in fn( self) 文件“/usr/local/lib/python2.7/dist-packages/dronekit/init.py”,第 1371 行,在侦听器中 self._heartbeat_error) APIException:30 秒内没有心跳,正在中止。回溯(最后一次调用):文件“hello.py”,第 11 行,在 vehicle = connect(connection_string, wait_ready=True) 文件“/usr/local/lib/python2.7/dist-packages/dronekit/init. py”,第 3166 行,在连接 vehicle.initialize(rate=rate, heartbeat_timeout=heartbeat_timeout) 文件“/usr/local/lib/python2.7/dist-packages/dronekit/init.py”,第 2275 行,在初始化 raise APIException('初始化连接超时。')dronekit.APIException:

标签: linuxdronekit-pythondronekit

解决方案


不知道内容很难说hello.py

尝试udp:127.0.0.1:14551hello.py脚本中连接,而不是tcp:127.0.0.1:5760.

此外,您似乎正在从您的脚本启动另一个 SITL 实例,但同样,如果不查看代码就很难知道。


推荐阅读