我需要能够从DJI Mavic 2中访问传感器信息。我试图特别确定前向和后向传感器的距离(鼻子和尾巴传感器)。我一直在遵循API,并获得了Flight Controller和Flight Assistant并将我的课程分配为代表。然后,我实现了飞行助手委托方法didUpdateState:DJIVisionDetectionState方法。然后,我尝试获取扇区,但是它返回nil,并且IsBeingUsed函数也设置为false。
我已尝试获取特定的传感器位置,例如鼻子和尾巴,但这没有成功。我已经在DJI IOS API上进行了搜索,但实际上没有任何关于如何获取传感器数据的讨论,我所做的就是可以从他们的文档中收集的信息
func setDelagates(){
let flightController = self.getFlightController()
let flightAssistant = self.getFlightAssistant()
if flightController != nil && flightAssistant != nil{
flightController.delagate = self
flightAssistant.delagate = self
}
}
func flightAssistant(_ assistant: DJIFlightAssistant, didUpdate state: DJIVisionDetectionState) {
if DJIVisionDetectionState().position == DJIVisionSensorPosition.nose{
if DJIVisionDetectionState().isSensorBeingUsed{
let sectors: [DJIObstacleDetectionSector]! = DJIVisionDetectionState().detectionSectors
for sec in sectors{
let myArray.append(sec.obstacleDistanceInMeters)
}
}
}
}
预期结果是鼻子传感器距离的浮点数。但是我发现没有使用DJI传感器,因此距离为0.0
我在Windows SDK中有相同的问题。我得到的距离为0,传感器未使用。