Flight controller firmware for quadcopter powered by Nvidia Jetson Nano, BNO055 IMU, and PCA9685 PWM Controller.
- PID Algorithm -> Pitch and Roll
- PI Algorithm -> Yaw
| Location | PCA9685 Channel | Location | PCA9685 Channel | |
|---|---|---|---|---|
| Front Left | 0 | Front Right | 1 | |
| Back Left | 2 | Back Right | 3 |
- Execute
makein root of this repo. - Navigate to output and execute
./Hermies
- Gains
- The user can controll all 3 main PID controller gains during flight (PITCH, ROLL, YAW)
- However, PITCH and ROLL use the same gain values.
| Key | Description |
|---|---|
| UP-ARROW | ++ speed of all motors by 1 point. |
| DOWN-ARROW | -- speed of all motors by 1 point. |
| Key | Description | * | Key | Description |
|---|---|---|---|---|
| q | ++ 'P' gain by 1.0 point. | * | a | -- 'P' gain by 1.0 point. |
| w | ++ 'I' gain by 0.1 point. | * | s | -- 'I' gain by 0.1 point. |
| e | ++ 'D' gain by 5.0 point. | * | d | -- 'D' gain by 5.0 point. |
| Key | Description | * | Key | Description |
|---|---|---|---|---|
| z | ++ 'P' gain by 1.0 point. | * | c | -- 'P' gain by 1.0 point. |
| x | ++ 'I' gain by 0.1 point. | * | v | -- 'I' gain by 0.1 point. |
- Create motor controller class based on bit-banging GPIO. Should make changing motor speed way faster!
- Add new bit-banged motor controller code into main flight controller.
- Assess new speed of overall control law. I want a single cycle to take < 4ms