CommandSequence下载时间太长

时间:2016-05-10 14:01:17

标签: dronekit-python dronekit

对于DKPy-SITL和我们的APM2板,wait_ready方法导致我们的程序引发API异常,因为命令列表(航路点)下载时间太长。在过去(使用droneapi)这对我来说不是问题。正在下载一些航点,但每个航点大约需要10秒,这让我相信一些奇怪的事情正在发生。

有没有办法加快下载过程?我在下面发布了相关代码。

self.vehicle = connect(connection_string, baud=baud_rate,
            status_printer=dronekit_printer, wait_ready=True)

以及后来的另一个异步方法

def commands(self):  
    commands = self.vehicle.commands
    commands.download()
    commands.wait_ready()
    return commands

command.wait_ready()发生错误。在i7 4790k处理器上放置命令比在那里停留超过30秒更快,特别是因为我在过去用droneapi从较慢的计算机上运行相同的代码。如果需要,我也可以在dronekit github上提出一个问题。

1 个答案:

答案 0 :(得分:1)

我有同样的问题。第一次下载调用总是顺利(0命令)。在您第二次尝试下载命令后上传了一些命令失败('超时'例外)。 我为解决这个问题所做的是第一次在没有下载的情况下调用清除。 像这样:

            cmds = vehicle.commands
            if not cmds.count > 0:
                # Download
                cmds.download()
                # Wait until download is finished
                cmds.wait_ready()
            cmds.clear()
            # Add / Modify the commands here and then upload them