Update Stabilizer (PID loop) authored by Colton Glick's avatar Colton Glick
# Setpoint Structure
Setpoint modes:
- Absolute mode (modeAbs)
- Velocity mode (modeVelocity)
- Disabled (modeDisable)
The setpoints have different modes that change how the PID loops interprets the data.
### Absolute position control
If `setpoint.mode.xyz` is set to `modeAbs` the controller will use values given by `setpoint.position.xyz`.
### Velocity control
If `setpoint.mode.xyz` is set to `modeVelocity` the controller will use values given by `setpoint.velocity.xyz`
In both above cases the `setpoint.mode.` `roll` `pitch` and `yaw` are set to `modeDisable` and attitude is calculated from the position or velocity controller.
### Attitude only control
If however only attitude should be controlled (like when manually flying the Crazyflie through the ground station) **all position modes are set to `modeDisable`**
------
# References
- https://www.bitcraze.io/documentation/repository/crazyflie-firmware/master/functional-areas/sensor-to-control/
- https://www.bitcraze.io/documentation/repository/crazyflie-firmware/2020.06/functional-areas/commanders_setpoints/#setpoint-structure
- https://git.ece.iastate.edu/danc/MicroCART/-/blob/master/crazyflie_software/crazyflie-firmware-2021.06/src/modules/interface/stabilizer_types.h#L177
\ No newline at end of file