Signal Definitions

In the interest of clarity and standardization, in following we define some of the most important signal names as to be used in the project. We refer to the generic system circuit shown in Figure 1:

Figure 1: Signal Diagram

The four most important signals originating from joystick or keyboard are called:

  • lift (engine RPM, keyboard: a/z, joystick: throttle)
  • roll (roll, keyboard: left/right arrows, joystick: handle left/right (x))
  • pitch (pitch, keyboard: up/down arrows, joystick: handle forward/backward (y))
  • yaw (yaw, keyboard: q/w, joystick: twist handle)

The actuator (servo) signals to be sent to the drone electronics are called

  • ae1 (rotor 1 RPM)
  • ae2 (rotor 2 RPM)
  • ae3 (rotor 3 RPM)
  • ae4 (rotor 4 RPM)

The sensor signals received from the drone electronics are called

  • sp (p angular rate gyro sensor output)
  • sq (q angular rate gyro sensor output)
  • sr (r angular rate gyro sensor output)
  • sax (ax x-axis accelerometer sensor output)
  • say (ay y-axis accelerometer sensor output)
  • saz (az z-axis accelerometer sensor output)

Note that the sensor signals sax, sp etc. do not equal the actual drone angle and angular velocity θ,p etc. as defined earlier. Just like other drone state variables such as x, y, z, u, v, w, etc., they cannot be directly measured (unfortunately), which is why the sensors are there in the first place. Rather, the sensor signals are an (approximate!) indication of the real drone state, and proper determination (recovery) of this state are an important part of the embedded system. For simulation purposes [4], where the true drone state variables are obviously available (i.e., simulated), the drone state variables are called

  • x, y, z
  • phi, theta, psi (φ, θ, ψ)
  • X, Y, Z
  • L, M, N
  • u, v, w
  • p, q, r

which implies that these names must be used when referring to these signals in the Rust code.