大疆msdk获取避障信息(M300RTK)

本文主要是方便以后再次使用查看,不会详细描述每个参数的来源,至于环境大家自己根据官方配置就好。

private FlightController mFlightController;

mFlightController = ((Aircraft) DJISDKManager.getInstance().getProduct()).getFlightController();

下面就是获取避障距离的方法,其实可以获取水平角度360的障碍物距离,和上下距离

/**
* 避障距离
*/
String distanceStr = "";
private void iniAssistant() {
    if (mFlightController != null) {
            //避障距离
            mFlightController.getFlightAssistant().setVisualPerceptionInformationCallback(new CommonCallbacks.CompletionCallbackWith<PerceptionInformation>() {
                @Override
                public void onSuccess(PerceptionInformation perceptionInformation) {
                    int[] distances = perceptionInformation.getDistances();
                    int downwardObstacleDistance = perceptionInformation.getDownwardObstacleDistance();
                    int upwardObstacleDistance = perceptionInformation.getUpwardObstacleDistance();
              
                    distanceStr+= "长度"+distances.length+",距离:";
                    distanceStr+=(distances[0] + ",");//前
                    distanceStr+=(distances[90] + ",");//右
                    distanceStr+=(distances[180] + ",");//后
                    distanceStr+=(distances[270] + ",");//左
                    distanceStr+=("下"+downwardObstacleDistance + ",");
                    distanceStr+=("上"+upwardObstacleDistance);
                    runOnUiThread(() -> gcsTxt.setText(distanceStr));
                    distanceStr="";
                }

                @Override
                public void onFailure(DJIError djiError) {

                }
            });
        }
    }

功能虽简单,寻找实现并不易,自己一点点寻找API真无人机测试才有的,有需要的可以收藏,转发希望留个链接,有机会会出一套大疆msdk使用教程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值