避障系统使用教程
避障系统使用教程
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")
}
})
- 地形避障
地形避障是指无人机在执行航线任务过程中,根据地形高程数据调整飞行高度,避免因地形差异导致撞机的风险
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")
}
})