首页 > 解决方案 > 有没有办法从 Windows SDK 上的红外传感器获取无人机的高度?

问题描述

我正在使用Windows SDK和 Mavic 2 Pro。我想从位于底部的红外传感器获取无人机的高度。我已经看到通过getUltrasonicHeightInMeters()方法可以在Android SDK上实现这一点。但是,我在它的 Window 对应物上找不到类似的方法。

更新

我一直在玩无人机并从包括 Baro 在内的多个传感器获取信息。看起来,来自 Baro 的高度非常准确。我在室内测试了起飞、降落和改变高度,它是恒定的。

标签: windowsdji-sdk

解决方案


在 Windows SDK 中,它被称为高度

https://developer.dji.com/api-reference/windows-api/Components/FlightControllerHandler.html?search=altitude&i=4&#flightcontrollerhandler_getaltitudeasync_inline

method GetAltitudeAsync
async Task<ResultValue<DoubleMsg?>> GetAltitudeAsync()
Declaration:    DJI.WindowsSDK.Components
Description:
Gets the flight controller's relative altitude of the aircraft relative to take off location, measured by the barometer, in meters.

Return:
async Task<ResultValue<DoubleMsg?>> A Task<ResultValue<DoubleMsg?>> object.

编辑

IR 端口未向外部 SDK 开放,并且 DJI 没有开放计划将其与下行流视觉数据合并。

为平坦的地形四处走动的一种方法是使用带有 GPS 高度的 brao fuse 使用扩展卡尔曼滤波器。

如果你想在复杂的地形中避开障碍物,你总是可以使用一些高级的方法,比如 SVO https://github.com/uzh-rpg/rpg_svo。它只使用视频流并输出您需要的深度。ETH小组的这项工作非常值得信赖,可以在低海拔到高海拔的户外环境中毫无问题地执行。

https://www.youtube.com/watch?v=hR8uq1RTUfA

您可以使用普通的相机流,如 DJI Wsdk 输出。3D 点以相对比例映射。通过与 GPS 或 baro 一起使用,您可以获得接近真实比例的近似值。

在此处输入图像描述


推荐阅读