我在执行startTakeOff()方法时遇到了一个问题,这个方法的回调是在无人机(0.5米)无人机到达他认为的高度(1.2米)之前返回的()--这个部分记录在案(startTakeoff()) --这有点奇怪。返回回调后,我将操作加载到时间线(获得一个成功的回调),然后启动startTimeline()方法,我还注册了一个监听器,该侦听器将打印所有时间线的事件状态,我看到的是时间线启动后,GoToAction (在时间线中的第一个)被启动,但是无人驾驶飞机什么都不做,不会移动,也不会做任何事情。
如果我清理时间线,重新加载操作,然后再次启动startTimeline() (w/o调用stopTimeline()),它就会像预期的那样工作。
我的问题是-有什么“干净”的方法来推迟起飞的召回吗?还是让时间线运行w/o重新加载它?我所说的“清洁”是指我可以设置一个自定义超时来加载和启动时间线,但这不是最佳实践。
发布于 2019-07-09 09:09:39
不,OSDK启动回调,因为它离开地面,您的唯一选择是观察并等待它达到1.2米。
发布于 2019-07-11 06:20:59
OSDK只为您提供一些示例。它不能百分之百地肯定工作。你应该想办法解决你的问题。
在你的情况下,他们提出的拖延是没有任何保证的。你需要准确的反馈才能让它变黑
您可以使用像SVO这样的系统来实现这一点。svo
SVO给你反馈你当前的无人机状态。所以不用延迟
start take off
while uav not at 1.2 meter -> (take off running) do nothing
while uav airbone -> do the thing you want此外,你可以放置超时,以防超载和无人驾驶飞机无法成功起飞。

我以前见过很多人在使用android手机时使用SVO / PTAM / Vinsmono。所以我觉得你也可以这么做。
https://stackoverflow.com/questions/56948796
复制相似问题