Skip to main content

避障系统使用教程

避障系统使用教程

1. 概述

Autel固定翼无人机提供了雷达避障和地形避障两种安全机制。

2. 雷达避障

雷达避障,主要是通过雷达检测飞机的飞行范围内是否有障碍物,发现障碍物后会提示并作出相应操作的安全保护机制。

2.1 开启或关闭雷达避障功能

示例代码如下:

val key = KeyTools.createKey(DFFlightPropertyKey.KeyRadarOCAEnable)
val keyManager = DeviceManager.getDeviceManager().getFirstDroneDevice()?.getKeyManager()
//value 0-关闭 1-开启
keyManager.setValue(key, value, object: CommonCallbacks.CompletionCallback {
override fun onSuccess() {
SDKLog.i(TAG, "setObstacleAvoidanceSwitch onSuccess")
}

override fun onFailure(code: IAutelCode, s: String?) {
SDKLog.i(TAG, "setObstacleAvoidanceSwitch onFailure code: $code s: $s")
}
})

2.2 获取当前雷达避障状态

示例代码如下:

val key = KeyTools.createKey(DFFlightPropertyKey.KeyRadarOCAEnable)
val keyManager = DeviceManager.getDeviceManager().getFirstDroneDevice()?.getKeyManager()
keyManager.getValue(key, object: CommonCallbacks.CompletionCallbackWithParam<Int> {
override fun onSuccess(t Int?) {
//t 0-关闭 1-开启
SDKLog.d(TAG, "getObstacleAvoidanceSwitch onSuccess: $t");
}

override fun onFailure(code: IAutelCode, s: String?) {
SDKLog.d(TAG, "getObstacleAvoidanceSwitch onFailure code: $code s: $s")
}
})
  1. 地形避障

地形避障是指无人机在执行航线任务过程中,根据地形高程数据调整飞行高度,避免因地形差异导致撞机的风险

3.1 开启或关闭地形避障功能

航线任务开始前,可以根据需要决定是否开启地形避障功能

示例代码如下:

val key = KeyTools.createKey(DFFlightPropertyKey.KeyFmsTFEnable)
val keyManager = DeviceManager.getDeviceManager().getFirstDroneDevice()?.getKeyManager()
//value 0-关闭 1-开启
keyManager.setValue(key, value, object: CommonCallbacks.CompletionCallback {
override fun onSuccess() {
SDKLog.i(TAG, "set KeyFmsTFEnable onSuccess")
}

override fun onFailure(code: IAutelCode, s: String?) {
SDKLog.i(TAG, "set KeyFmsTFEnable onFailure code: $code s: $s")
}
})

3.2 获取当前地形避障状态

示例代码如下:

val key = KeyTools.createKey(DFFlightPropertyKey.KeyFmsTFEnable)
val keyManager = DeviceManager.getDeviceManager().getFirstDroneDevice()?.getKeyManager()
keyManager.getValue(key, object: CommonCallbacks.CompletionCallbackWithParam<Int> {
override fun onSuccess(t Int?) {
//t 0-关闭 1-开启
SDKLog.i(TAG, "get KeyFmsTFEnable onSuccess $t")
}

override fun onFailure(code: IAutelCode, s: String?) {
SDKLog.d(TAG, "get KeyFmsTFEnable onFailure code: $code s: $s")
}
})