M300 RTK的航点规划相关(OC)

本文介绍了在iOS中使用DJI MSDK进行M300 RTK航点规划的特殊之处,强调了使用[DJISDKManager missionControl].waypointV2MissionOperator接口的重要性。在实际操作中,要注意loadMission、uploadMissionWithCompletion和startMissionWithCompletion的顺序执行,并在startMissionWithCompletion前加入适当的延时。此外,文章提供了V2版本航点动作的示例,包括调整航向和实现悬停动作的方法,以及监听处理的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DJI M300 RTK在IOS的MSDK中,不能使用通用的接口来进行航点规划飞行,需要用专门用于M300 RTK的接口,即:

[DJISDKManager missionControl].waypointV2MissionOperator

这里特别要提示的是,与大疆给的例子不同,我们时间使用时大多数情况下,loadMission、uploadMissionWithCompletion、startMissionWithCompletion 这三部分,是放在一起按顺序执行,而不是想DEMO那样分开执行。因此,特别需要注意的是,在执行startMissionWithCompletion前,一定要有一个时间间隔,不是uploadMissionWithCompletion就可以执行,因为其中的状态可能还没改正过来,如果没有延时,很可能会提示sdk错误!而且最好在主线程执行!

实例代码:

[self.missionOperator uploadMissionWithCompletion:^(NSError * _Nullable error) {
   
            if (error) {
   
                return errorBlock(error.description);
            }
            else {
   

                
                return dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
   
                        [weakSelf startWaypointMissionWithSuccess:successBlock error:errorBlock];

                });
            }
        }];
  1. action部分
    V2 版本的航点规划与通用版本的,最大区别就是航点跟动作分开了,动作(action)更加丰富了,更加丰富就以为着加大了编程的难度,就大疆IOS-MSDK的DEMO也没有相关例子,大多只有网上的枝枝叶叶。这里提供一个例子(调整航向):
#pragma mark create a reach trigger
+ (DJIWaypointV2Trigger*)reachTriger:(NSInteger)startIndex withCount:(NSInteger)count{
   
    DJIWaypointV2Trigger *trigger = [[DJIWaypointV2Trigger alloc]init];
    trigger.actionTriggerType = DJIWaypointV2ActionTriggerTypeReachPoint;
    DJIWaypointV2ReachPointTriggerParam *param = [[DJIWaypointV2ReachPointTriggerParam alloc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值