DJI Mobile SDK Documentation

      class Lidar

      class Lidar extends BaseComponent implements IPointCloudLiveDataReader
      Package:dji.sdk.lidar
      Inherits From:BaseComponent implements IPointCloudLiveDataReader
      Description:

      This class represents the lidar of the aircraft which contanis the related functions of livox. Current only supported by Zenmuse L1. Note: Zenmuse L1 can only be set at Gimbal position 0 where it is at the left side of the aircraft.
      The Zenmuse L1 integrates a Livox Lidar module, a high-accuracy IMU, and a camera with a 1-inch CMOS on a 3-axis stabilized gimbal. When used with Matrice 300 RTK and DJI Terra, the L1 forms a complete solution that gives you real-time 3D data throughout the day, efficiently capturing the details of complex structures and delivering highly accurate reconstructed models.
      This object is available from the Aircraft or HandHeld object which is a subclass of BaseProduct.

      Class Members:

      State Updates

      method addPointCloudStatusListener
      void addPointCloudStatusListener(DJIPointCloudStatusListener listener)
      Package:dji.sdk.lidar
      Description:

      Adds the listener for the point cloud status change events.

      Input Parameters:
      DJIPointCloudStatusListener listenerPoint cloud status change listener.
      method removePointCloudStatusListener
      void removePointCloudStatusListener(DJIPointCloudStatusListener listener)
      Package:dji.sdk.lidar
      Description:

      Remove the listener for the point cloud status change events.

      Input Parameters:
      DJIPointCloudStatusListener listenerPoint cloud status change listener.
      method addPointCloudLiveViewDataListener
      void addPointCloudLiveViewDataListener(DJIPointCloudLiveDataListener listener)
      Package:dji.sdk.lidar
      Description:

      Adds the listener to receive point cloud data.

      Input Parameters:
      DJIPointCloudLiveDataListener listenerPoint cloud data listener.
      method removePointCloudLiveViewDataListener
      void removePointCloudLiveViewDataListener(DJIPointCloudLiveDataListener listener)
      Package:dji.sdk.lidar
      Description:

      Remove the listener to receive point cloud data.

      Input Parameters:
      DJIPointCloudLiveDataListener listenerPoint cloud data update listener.
      method removeAllPointCloudStatusListener
      void removeAllPointCloudStatusListener()
      Package:dji.sdk.lidar
      Description:

      Remove all point cloud status listeners.


      Information

      Display Name
      method
      method getDisPlayName
      String getDisPlayName()
      Package:dji.sdk.lidar
      Description:

      Return string that represents name of the Lidar.

      Return:
      StringAn instance of display name String.


      Point Cloud Operation

      Record Point Cloud
      method
      method pointCloudRecord
      void pointCloudRecord(DJILidarPointCloudRecord commandAction, CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.lidar
      Description:

      Point cloud record related operations.

      Input Parameters:
      DJILidarPointCloudRecord commandActionAn enum value of the DJILidarPointCloudRecord
      CommonCallbacks.CompletionCallback callbackThe execution callback with the returned value(s).
      Point Cloud Live View
      method
      method startReadPointCloudLiveViewData
      void startReadPointCloudLiveViewData(CommonCallbacks.CompletionCallback<DJIError> callbacks)
      Package:dji.sdk.lidar
      Description:

      Start to receive the point cloud live view data. Using onReceiveLiveViewData to receive the data.

      Input Parameters:
      SOURCE_DIFFERENT callbackThe execution callback with the returned value(s).
      method stopReadPointCloudLiveViewData
      void stopReadPointCloudLiveViewData(CommonCallbacks.CompletionCallback<DJIError> callbacks)
      Package:dji.sdk.lidar
      Description:

      Stop to receive the point cloud live view data.

      Input Parameters:
      SOURCE_DIFFERENT callbackThe execution callback with the returned value(s).


      Point Cloud Setting

      Point Cloud Scan Mode
      method
      method setPointCloudScanMode
      void setPointCloudScanMode(@NonNull SettingsDefinitions.DJILidarPointCloudScanMode scanMode, @Nullable CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.lidar
      Description:

      Set point cloud scan mode.

      Input Parameters:
      @NonNull SettingsDefinitions.DJILidarPointCloudScanMode scanModeAn enum value of the DJILidarPointCloudScanMode
      @Nullable CommonCallbacks.CompletionCallback callbackThe execution callback with the returned value(s).
      method getPointCloudScanMode
      void getPointCloudScanMode(@NonNull CommonCallbacks.CompletionCallbackWith<SettingsDefinitions.DJILidarPointCloudScanMode> callback)
      Package:dji.sdk.lidar
      Description:

      Get point cloud scan mode.

      Input Parameters:
      @NonNull CommonCallbacks.CompletionCallbackWith<SettingsDefinitions.DJILidarPointCloudScanMode> callbackThe execution callback with the returned value(s).
      Point Cloud Return Mode
      method
      method setPointCloudReturnMode
      void setPointCloudReturnMode(@NonNull SettingsDefinitions.DJILidarPointCloudReturnMode returnMode, @Nullable CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.lidar
      Description:

      Set point cloud scan mode.

      Input Parameters:
      SOURCE_DIFFERENT scanModeAn enum value of the DJILidarPointCloudReturnMode
      @Nullable CommonCallbacks.CompletionCallback callbackThe execution callback with the returned value(s).
      method getPointCloudReturnMode
      void getPointCloudReturnMode(@NonNull CommonCallbacks.CompletionCallbackWith<SettingsDefinitions.DJILidarPointCloudReturnMode> callback)
      Package:dji.sdk.lidar
      Description:

      Get point cloud scan mode.

      Input Parameters:
      @NonNull CommonCallbacks.CompletionCallbackWith<SettingsDefinitions.DJILidarPointCloudReturnMode> callbackThe execution callback with the returned value(s).
      Point Cloud High Sensitivity Mode
      method
      method setPointCloudHighSensitivityMode
      void setPointCloudHighSensitivityMode(@NonNull boolean enabled, @Nullable CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.lidar
      Description:

      Enables/Disables high sensitivity mode. In severe weather conditions such as rain and fog, high sensitivity mode reduces the probability of false detection of atmospheric particles.

      Input Parameters:
      @NonNull boolean enabledYES to enable the high sensitivity mode.
      @Nullable CommonCallbacks.CompletionCallback callbackThe execution callback with the returned value(s).
      method getPointCloudHighSensitivityMode
      void getPointCloudHighSensitivityMode(@NonNull CommonCallbacks.CompletionCallbackWith<Boolean> callback)
      Package:dji.sdk.lidar
      Description:

      YES if high sensitivity mode is enabled.

      Input Parameters:
      @NonNull CommonCallbacks.CompletionCallbackWith<Boolean> callbackThe execution callback with the returned value(s).
      Lidar Capabilities
      method
      method getCapabilities
      Capabilities getCapabilities()
      Package:dji.sdk.lidar
      Description:

      Lidar capabilities. You can you this interface to get the sampling rate range.

      Return:
      CapabilitiesAn object of Capabilities.
      Point Cloud Sampling Rate
      method
      method setPointCloudSamplingRate
      void setPointCloudSamplingRate(DJILidarPointCloudSamplingRate lidarDataSampleRate, @Nullable CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.lidar
      Description:

      Set point cloud sampling rate. The sampling rate represents the number of effective acquisitions of the lidar per second, which can be intuitively understood as the number of point clouds generated in one second. The sampling rate range depend on the DJILidarPointCloudReturnMode. You can use onLidarSamplingRateRangeChange to get the current support range when you change the point cloud return mode.

      Input Parameters:
      DJILidarPointCloudSamplingRate lidarDataSampleRateAn enum value of the DJILidarPointCloudSamplingRate
      @Nullable CommonCallbacks.CompletionCallback callbackThe execution callback with the returned value(s).
      method getPointCloudSamplingRate
      void getPointCloudSamplingRate(@NonNull CommonCallbacks.CompletionCallbackWith<DJILidarPointCloudSamplingRate> callback)
      Package:dji.sdk.lidar
      Description:

      Get point cloud sampling rate.

      Input Parameters:
      @NonNull CommonCallbacks.CompletionCallbackWith<DJILidarPointCloudSamplingRate> callbackThe execution callback with the returned value(s).
      Point Cloud Visible Light Pixel
      method
      method setPointCloudVisibleLightPixel
      void setPointCloudVisibleLightPixel(DJILidarPointCloudVisibleLightPixelMode visibleLightPixelParam, @Nullable CommonCallbacks.CompletionCallback callback)
      Package:dji.sdk.lidar
      Description:

      Set superimposed visible light pixels for coloring the model

      Input Parameters:
      DJILidarPointCloudVisibleLightPixelMode visibleLightPixelParamAn enum value of the DJILidar_PointCloudVisibleLightPixelMode`
      @Nullable CommonCallbacks.CompletionCallback callbackThe execution callback with the returned value(s).
      method getPointCloudVisibleLightPixelWithCompletion
      void getPointCloudVisibleLightPixelWithCompletion(@NonNull CommonCallbacks.CompletionCallbackWith<DJILidarPointCloudVisibleLightPixelMode> callback)
      Package:dji.sdk.lidar
      Description:

      Get point cloud visible light pixel.

      Input Parameters:
      @NonNull CommonCallbacks.CompletionCallbackWith<DJILidarPointCloudVisibleLightPixelMode> callbackThe execution callback with the returned value(s).


      General
      class
      enum DJILidarIMUPreheatStatus
      enum DJILidarIMUPreheatStatus
      Package:dji.common.perception
      Description:

      Point cloud IMU preheat status define for lidar. When the preheating is complete, the status will change to complete.

      Enum Members:
      PREHEATINGIMU is Preheating.
      PREHEAT_COMPLETEDIMU preheat is Complete.
      Class Members:
      enum RecordingStatus
      @EXClassNullAway
      enum RecordingStatus
      Package:dji.common.perception
      Description:

      Point cloud record status define for point cloud.

      Enum Members:
      STARTINGPoint cloud record is starting.
      STARTEDPoint cloud is recording.
      PAUSEPoint cloud record is paused.
      RESUMEPoint cloud record is resumed.
      STOPPEDPoint cloud record is stoped.
      Class Members:
      enum DJILidarPointCloudRecord
      @EXClassNullAway
      enum DJILidarPointCloudRecord
      Package:dji.common.perception
      Description:

      Point cloud record opration type define for point cloud. When you start point cloud recording on successfully, RecordingStatus will change to STARTED. You can use onReceiveLiveViewData to receive piont cloud live view data.

      Enum Members:
      START_POINT_CLOUD_RECORDINGStart point cloud recording.
      STOP_POINT_CLOUD_RECORDINGStop point cloud recording.
      PAUSE_POINT_CLOUD_RECORDINGPause point cloud recording.
      RESUME_POINT_CLOUD_RECORDINGResume point cloud recording.
      Class Members:
      enum DJILidarPointCloudScanMode
      enum DJILidarPointCloudScanMode
      Package:dji.common.camera
      Description:

      Enums represent the point cloud scan mode of lidar. Supports two scanning modes: traditional non-repetitive scan mode and repetitive line scan mode. Users can choose the appropriate scanning point cloud pattern according to their needs. The repetitive scan mode is a flat FOV(70.4 degree * 4.5 degree), and its scanning method is more similar to the traditional scanning lidar, which can obtain a more uniform and higher-precision scanning effect; The non-repetitive scan mode is a unique scanning method of livox, providing a complete near-circular FOV(70.4 degree *77.2 degree), which has better scanning static scanning effect and facade effect, and higher efficiency;

      Enum Members:
      NON_REPETITIVERepetitive scan mode.
      REPETITIVENon-repetitive scan mode.
      Class Members:
      enum DJILidarPointCloudReturnMode
      enum DJILidarPointCloudReturnMode
      Package:dji.common.camera
      Description:

      Enums represent the point cloud return mode of lidar. We support 3 echoes, In single echo operation, the point cloud data rate is 24000 points/sec, In double-echo and triple-echo operations, the point cloud data rate is 480,000 points/sec.

      Enum Members:
      SINGLE_RETURN_FIRSTSingle return first (default).
      SINGLE_RETURN_STRONGESTSingle return strongest.
      DUAL_RETURNDouble return.
      TRIPLE_RETURNTriple return.
      Class Members:
      enum DJILidarPointCloudSamplingRate
      @EXClassNullAway
      enum DJILidarPointCloudSamplingRate
      Package:dji.common.perception
      Description:

      Enums represent the point cloud sampling rate of lidar.

      Enum Members:
      RATE_240K_HZSampling rate: 240KHZ
      RATE_180K_HZSampling rate: 180KHZ
      RATE_160K_HZSampling rate: 160KHZ
      RATE_120K_HZSampling rate: 120KHZ
      RATE_80K_HZSampling rate: 80KHZ
      RATE_60K_HZSampling rate: 60KHZ
      Class Members:
      enum DJILidarPointCloudVisibleLightPixelMode
      @EXClassNullAway
      enum DJILidarPointCloudVisibleLightPixelMode
      Package:dji.common.perception
      Description:

      Enums represent the point visible light pixel mode of lidar.

      Enum Members:
      VISIBLE_LIGHT_PIXEL_OFFTurn off superimposed visible light pixels.
      VISIBLE_LIGHT_PIXEL_ON_TIMED_SHOT_ONTurn on superimposed visible light pixels. In this mode camera will take a photo every 3 seconds. It is recommended to use when flying aircraft manually.
      VISIBLE_LIGHT_PIXEL_ON_TIMED_SHOT_OFFTurn on superimposed visible light pixels. In this mode camera will not take photo automatically. It is recommended to use in Waypoint Mission and set the photo interval to 3 seconds.
      Class Members: