首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JRC JJ1000 + dronekit >> ERROR:dronekit.mavlink:Exception in MAVLink输入循环

JRC JJ1000 + dronekit >> ERROR:dronekit.mavlink:Exception in MAVLink输入循环
EN

Stack Overflow用户
提问于 2019-07-06 09:59:57
回答 1查看 381关注 0票数 0

我正在尝试使用dronekit + JJ1000连接JRC python无人机。执行connect命令时:

代码语言:javascript
复制
dronekit.connect('com3', baud=115200, heartbeat_timeout=30)

我收到以下错误:

代码语言:javascript
复制
ERROR:dronekit.mavlink:Exception in MAVLink input loop
Traceback (most recent call last):
  File "C:\Python37\lib\site-packages\dronekit\mavlink.py", line 211, in mavlink_thread_in
    fn(self)
  File "C:\Python37\lib\site-packages\dronekit\__init__.py", line 1371, in listener
    self._heartbeat_error)
dronekit.APIException: No heartbeat in 5 seconds, aborting.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python37\lib\site-packages\dronekit\__init__.py", line 3166, in connect
    vehicle.initialize(rate=rate, heartbeat_timeout=heartbeat_timeout)
  File "C:\Python37\lib\site-packages\dronekit\__init__.py", line 2275, in initialize
    raise APIException('Timeout in initializing connection.')
dronekit.APIException: Timeout in initializing connection.

我无所不用其极,但没有任何进展。我也尝试了Python2.7和3.7,结果是一样的。

EN

回答 1

Stack Overflow用户

发布于 2020-10-30 03:43:09

我一直收到相同的错误。我正在使用docker容器中的一些自定义代码来运行dronekit和ArduPilot的模拟。错误是间歇性的。到目前为止,让错误停止的唯一方法似乎是:

关闭所有docker containers.

  • Open窗口任务管理器并等待
  • 降低内存使用率(5-10M)。
  • 重试。

也许这些问题是以某种方式相关的。在我看来,该连接可能正在被前一个实例使用,并且没有正确关闭。因为等待vmmem释放资源似乎可以修复它。如果有人找到更好的解决方案,我会更喜欢!

我们使用这样的python代码来连接:

代码语言:javascript
复制
from dronekit import connect
 ...
# try to connect 5 times
while connected == False and fails < 5:
    try:
        vehicle = connect(connection_string, wait_ready=True)
    except:
        fails += 1 
        time.sleep(3)
        print("Failed to connect to local mavlink sleeping for 3 seconds")
    else: 
        connected = True

其中,connection_string的格式为:

代码语言:javascript
复制
"tcp:host:port"

此外,文档还指出:“如果波特率设置不正确,连接可能会失败,并出现超时错误。最好显式设置波特率。”你确定你的波特率是正确的吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56910696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档