MSDK如何获取实时飞行数据?

Completed

Comments

13 comments

  • DJI Developer Support
    您是在什么情况下获取到图片上的数据呢?如果是GPS信号不好的环境,例如室内,经纬度读取不到数值就会范围NaN
    0
    Comment actions Permalink
  • 李陈鑫

    在室外也无法获取

    0
    Comment actions Permalink
  • DJI Developer Support
    能不能详细描述一下遇见问题的场景以及你所使用的MSDK版本和无人机类型。
    0
    Comment actions Permalink
  • 李陈鑫

    MSDK4 无人机是御2

    0
    Comment actions Permalink
  • DJI Developer Support
    我在室内使用模拟器通过FlightController.setStateCallback可以正常获取到经纬度信息,你是在什么情况下遇到这个问题呢?或者我该怎么复现你的问题。
    0
    Comment actions Permalink
  • 李陈鑫

    在室外飞行,目前可以获取到其他飞行数据。没有使用setStateCallback,使用的是getAircraftLocation()方法。

    0
    Comment actions Permalink
  • DJI Developer Support
    setStateCallback方法获取到的也是FlightControllerState,然后通过getAircraftLocation去获取飞机的位置信息。 官方APP和sample可以读取到位置信息吗? sample进入到waypointMission就可以查看到经纬度信息。sample:https://github.com/dji-sdk/Mobile-SDK-Android/blob/master/Sample%20Code/app/src/main/java/com/dji/sdk/sample/demo/missionoperator/WaypointMissionOperatorView.java
    0
    Comment actions Permalink
  • 李陈鑫

    我直接用aircraft.getFlightController().getState()获取FlightControllerState,然后获取经纬度,这样也是可以的吗?

    0
    Comment actions Permalink
  • William Wong

    不要这样做。首先你用aircraft.getFlightController().setStateCallback注册对FlightControllerState的监听回调,该监听会以50Hz的频率获取FlightControllerState。通过getAircraftLocation获取经纬度,如果还是NaN,则说明虽然你处在室外,但是GPS信号还是太弱无法定位,你可以获取getGPSSignalLevel看看GPS信号强度是多少。

    0
    Comment actions Permalink
  • 李陈鑫

    周期性获取也可以使用该方法吗

    0
    Comment actions Permalink
  • 李陈鑫

    我是在一个线程中周期性获取实时飞行数据

    0
    Comment actions Permalink
  • William Wong

    那你就需要使用key,FlightControllerKey.AIRCRAFT_LOCATION_LATITUDE,FlightControllerKey.ALTITUDE和AIRCRAFT_LOCATION_LONGITUDE。使用方法你得自己研究一下。

    Link:https://developer.dji.com/api-reference/android-api/Components/KeyManager/DJIFlightControllerKey.html

    0
    Comment actions Permalink
  • 范义伟

    您好  我是M350RTK,利用MSDK控制无人机,我该怎样获取飞机的俯仰横滚偏航角度的数据,油门速度的数据呢。

    0
    Comment actions Permalink

Please sign in to leave a comment.