gpt4 book ai didi

c++ - DJI OSDK 通过串口向 DJI Matrice 100 发送命令时的命令延迟

转载 作者:太空宇宙 更新时间:2023-11-04 12:29:43 28 4
gpt4 key购买 nike

我正在尝试使用 OSDK 控制 Matrice 100。我在 M100 上有一个 RPi3,它应该使用 roll/pitch/z-vel/yawrate 命令控制位置,同时使用 GPS、相机和激光雷达进行定位。

我的问题是,当我从 RPi3 上的 OSDK 发送命令时,从命令通过串行线发送到 M100 有响应,我有 60-80 毫秒的延迟。我通过记录来自 M100 的 100Hz 的滚动/俯仰/偏航角来检查响应时间。从记录的数据中我可以看到,从我发送命令到角度发生显着变化(我尝试以 10 度为步长)之间存在延迟。

高达 80 毫秒的延迟对于对无人机进行适当的闭环控制来说已经过大了。

来自 https://developer.dji.com/onboard-sdk/documentation/introduction/onboard-sdk-introduction.html我收集到在带有 OSDK 的 M100 上应该可以在 200Hz 下进行低电平控制,如果有 80 毫秒的延迟,这就没有意义了。

我的代码基于 DJI OSDK 的示例代码,将闭环控制更改为我自己的 Controller 。把设置和发送命令的方式是一样的。

感谢您提供有助于解决此问题或阐明问题所在的任何意见。

最佳答案

好的,首先,如果您在 vicon 房间内飞行并使用 RPI 作为基于 vicon 的 wifi 反馈 Controller ,那么 80 毫秒并不是那么糟糕。 80 毫秒是可以接受的。在PID回路中,只要给一个较高的预测增益即可。

其次,对于基于视觉/视觉线性/激光雷达/激光雷达的导航,我不会使用 RPI,因为 RPI 无法实时处理这些数据。例如。要处理 VINSMONO,您至少需要 TX2 级 CPU 才能以 10 hz 的频率处理它,并具有 100 个特征点,并且没有闭环。我们谈论的是 100 毫秒的处理延迟。尽管如此,它仍然可以通过正确数量的 PID 进行控制。这个方法可以从https://www.youtube.com/watch?v=1AbfRENy3OQ&t=4s看到

第三,如果你用它来进行轨迹控制。伙计,你离你的领域太远了。轨迹控制需要100hz的反馈,A星、D星算法等流行方法需要处理速度可控。这不是 RPI 的设计目的。

关于c++ - DJI OSDK 通过串口向 DJI Matrice 100 发送命令时的命令延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59136709/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com