首页
教程
无人机教程
手持教程
后期教程
作品
航拍无人机
DJI Mavic
DJI Avata
DJI Mini
DJI FPV
DJI Air
Phantom
Inspire
其他
手持摄影
创意摄影
DJI Mic
Osmo Action
Osmo Mobile
Osmo Pocket
Ronin
商用产品
行业应用
教育应用
农业应用
咨询
官方公告
售后服务
查禁飞区
其他
活动
官方活动
大疆校园
同城约飞
每日签到
其他
发帖
登录
注册
qiuhai
已累计飞行 0 米
发布于
2015-7-2
浏览
5.0k
相关分类
SDK
Mobile-SDK
0
0
5
0
5 条评论
最新
最早
快来评论吧
水无痕
6
已累计飞行 14382 米
找到方式了, 可以用
DJIGroundStationExecutionPushInfo
中的wayPointIndex
这个callback会在飞机到达航点时返回当前航点的索引。
2015-7-11
水无痕
5
已累计飞行 14382 米
恩…… 我觉得downloadGSTask来判断是否结束是最保险的做法………你做一下比较发现index和totalCount相同的时候即全都飞完了。 其他一些比较tricky的方式我想过,比如说设定 mTask 的DJIGroundStationFinishAction为none(飞完之后啥都不做), 之后用timerTask去fetch MCU callback中飞机的速度,如果速度在长时间内(假设5s)都保持在阈值(假设0.1m/s)以下,即认为航点飞行结束了。 不过我只是设想了一下没有具体尝试过,所以并不能保证可靠性和准确率
2015-7-3
qiuhai
4
已累计飞行 0 米
解决判断航点结束,你看这样行不行? 每次只上传一个点,等哪一个点执行完毕后,再上传下一个点,你看可以吗?不过问题来了,怎样判断一个点执行完毕啊?
2015-7-3
qiuhai
3
已累计飞行 0 米
你的回答太给力!!!!!正是我所需要的,,,,非常感谢!!!:handshake:handshake:handshake
2015-7-3
水无痕
2
已累计飞行 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
飞行学员
认证设备
暂无关联认证的设备
最新帖子
更多
连续上传航点的问题
SDK一键降落
P3P航点上传问题