大疆社区
大疆社区
qiuhai
已累计飞行 0 米
发布于2015-7-2
浏览5.0k
相关分类
SDK
Mobile-SDK
0
0
5
0

5 条评论

最新
最早
大疆社区
快来评论吧
大疆社区

已累计飞行 14382 米

找到方式了, 可以用 DJIGroundStationExecutionPushInfo​中的wayPointIndex 这个callback会在飞机到达航点时返回当前航点的索引。

2015-7-11

大疆社区

已累计飞行 14382 米

恩…… 我觉得downloadGSTask来判断是否结束是最保险的做法………你做一下比较发现index和totalCount相同的时候即全都飞完了。 其他一些比较tricky的方式我想过,比如说设定 mTask 的DJIGroundStationFinishAction为none(飞完之后啥都不做), 之后用timerTask去fetch MCU callback中飞机的速度,如果速度在长时间内(假设5s)都保持在阈值(假设0.1m/s)以下,即认为航点飞行结束了。 不过我只是设想了一下没有具体尝试过,所以并不能保证可靠性和准确率

2015-7-3

大疆社区

已累计飞行 0 米

解决判断航点结束,你看这样行不行? 每次只上传一个点,等哪一个点执行完毕后,再上传下一个点,你看可以吗?不过问题来了,怎样判断一个点执行完毕啊?

2015-7-3

大疆社区

已累计飞行 0 米

你的回答太给力!!!!!正是我所需要的,,,,非常感谢!!!:handshake:handshake:handshake

2015-7-3

大疆社区

已累计飞行 14382 米

1. 用downloadGSTask,不过 2.0的API目前无法调用,2.1Beta可以,有需求去发邮件给sdk@dji要beta test权限。具体实现方式如下:(摘抄邮件) 该函数会返回当前所有航点的信息,而非剩余航点的信息(此处与文档记载相左,回帖者注)。您最后一个需求是想打印当前剩余航点的信息,您可以通过downloadGroundStation功能获取当前所有waypoint的信息,然后在飞机每经过一个新的航点的时候都推送过来一个pushinfo,会获取当前waypoint的index信息。这样知道所有waypoint的信息,和当前的waypoint的index,您就可以实现对剩余waypoint的数量的实时监控。 上传新航点需要先pause,上传,再resume。新的航点信息会【覆盖】之前的信息,没飞完的不会保留。 2. waypoint.speed / waypoint.maxReachTime / DJIGroundStationTask.horizontalSpeed 三者无论是谁都无法设置速度,目前的SDK中速度是写死的(虽然文档上并没有说):(继续摘抄与sdk的邮件) 我们这边已经核实目前我们的waypoint属性的speed值是一个固定的写死的值。在上传航点的过程中,对速度进行赋值并不生效。 3. waypoint中的heading 指的是到达这个航点时候的头朝向,东北地坐标系,0指向正北,+-180指向正南。 两个waypoints飞行途中的头朝向需要设置 DJIGroundStationTask.movingMode:(继续摘抄邮件) typedef NS_ENUM(NSUInteger, DJIGSHeadingMode){ /** * Aircraft's heading toward to the next waypoint */ GSHeadingTowardNextWaypoint, (这个就是AUTO 状态,代表飞行器的heading是向下一个航点的方向转动) /** * Aircraft's heading using the initial direction */ GSHeadingUsingInitialDirection,(这个是INIT,根据heading的值根据飞机起飞时所对应的角度进行设定,并且一直保持这个值) /** * Aircraft's heading control by the remote controller */ GSHeadingControlByRemoteController,(这个是Remote_Control, 可以通过遥控器在飞机飞行航点的时候对机头也就是yaw轴方向进行控制) /** * Aircraft's heading using the waypoint's heading value */ GSHeadingUsingWaypointHeading (这个是On the Basis of WayPoint,根据waypoint中heading设置的属性进行设置) }; 按你的需求,应该设置mTask.movingMode = GSHeadingUsingWaypointHeading;

2015-7-2

暂无更多评论

关于作者

已累计飞行 0 米

大疆社区

qiuhai

飞行学员

认证设备

暂无关联认证的设备