我开始使用Dronekit、Dronekit-STIL和Mavlink来模拟我的python脚本。在几天没有问题地使用它之后,我开始收到错误:警告:dronekit:链接超时,最近5秒内没有心跳。
我试着重新安装所有的东西,但是都不起作用。
我已经在Linux Ubutun 18上安装了PIP包,我在Ubutun 20上尝试了相同的包,但我收到了相同的错误。
我已经安装了这个包: Python 1.8.39dronekit-2.9.2 dronekit-sitl-3.3.0Python2.7.17
按照我的步骤接收错误:
1- dronekit-sitl直升机--主页=-25.56731,-42.61554,0,180
操作系统: linux,apm: copter,发布:稳定的SITL已经下载并解压。准备好启动了。执行: /home/cesar/.dronekit/ SITL /copter-3.3/apm --home=-23.56731,-46.61554,0,180 -I = quad 0启动型号为-23.56731,-46.61554,0,180以1.0速度为0绑定端口5760开始草图'ArduCopter‘串行端口0在TCP端口5760上启动站点输入等待连接...TCP端口5762上2个串行端口2的绑定端口5762 TCP端口5763上3个串行端口3的绑定端口5763
2-- mavproxy.py --主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日志目录:遥测日志: mav.tlog MAV>等待来自tcp的心跳:127.0.0.1:5760联机system 1 STABILIZE>模式稳定AP:校准气压计AP:初始化APM...AP:气压计校准完成AP:地面启动初始陀螺** 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- python hello.py
启动模拟器( SITL )启动直升机模拟器(SITL) SITL已经下载并解压。准备好启动了。正在连接到车辆: tcp:127.0.0.1:5760警告:dronekit:链路超时,最近5秒内没有心跳
30秒后
侦听器输入循环回溯中的文件(最近一次调用):文件"/usr/local/lib/python2.7/dist-packages/dronekit/mavlink.py",行211,侦听器fn(自身)文件"/usr/local/lib/python2.7/dist-packages/dronekit/init.py",行1371,侦听器self._heartbeat_error中) APIException: 30秒内无心跳,正在中止。回溯(最近一次调用):文件“"/usr/local/lib/python2.7/dist-packages/dronekit/init.py",”,第11行,在vehicle = connect(connection_string,wait_ready=True)文件中,第3166行,在connect vehicle.initialize(rate=rate,heartbeat_timeout=heartbeat_timeout)文件中,第2275行,在initialize raise APIException(‘初始化连接中超时’)dronekit.APIException:初始化连接时超时。
发布于 2021-08-27 13:29:51
如果不知道hello.py的内容,很难说。
尝试通过hello.py脚本中的udp:127.0.0.1:14551而不是tcp:127.0.0.1:5760进行连接。
此外,看起来您正在从脚本启动另一个SITL实例,但同样,如果没有看到代码,很难知道。
https://stackoverflow.com/questions/68213754
复制相似问题