dkapur17 / DJIControlClient

Python Wrapper over API calls to DJI Control Server
11 stars 4 forks source link

DJI Control Client

A Python Wrapper over the API Calls to the DJIControlServer.

Classes

  1. DJIControlClient: Main class with all control methods on it.
  2. VelocityProfile: Enum for velocity profile with options CONSTANT, TRAPEZOIDAL and S_CURVE.
  3. ControlMode: Enum for control mode with options POSITION and VELOCITY.

Return Types

Following are the possible (non-primitive) return types from each method. Which of these is returned by the method can be found in the API reference:

  1. CommandCompleted: A dictionary of the shape: {completed: bool, errorDescription: Union[str|None]}. Generally returned by methods that cause the drone to change state or perform an action. If completed is True, the action was completed successfully. In this case, errorDescription would be None. If completed is False, the action wasn't successfully executed, and the reason shows up as a string in errorDescription.

  2. VelocityCommand: A dictionary of the shape {velX: float, velY: float, velZ: float, yawRate: float}. The X, Y and Z velocities are in $m/s$ and the Yaw rate is in $deg/s$.

  3. IMUState: A dictionary of the shape {velX: float, velY: float, velZ: float, roll: float, pitch: float, yaw: float}. The X, Y and Z velocities are in $m/s$ and roll, pitch and yaw are in degrees.

DJIControlClient: