Relationship between Bebop drone sdk and bebop firmware


Product: [Bebop/Bebop2]
Product version: [X.X.X]
SDK version: [X.X.X]
Use of libARController: [YES/NO] (Only for ARSDK)
SDK platform: [/Python]
Reproductible with the official app: [YES/NO/Not tried]
First this is not the error question.
I am graduate school student in civil engineering department.
I am using the Bebop with Ultrasonic beacon for navigation.
I correct the Bebop’s pitch and roll value using the PD control which wrote myself. The error is calculated beacon value and give the pitch and roll value properly.
I discuss with my professor and he said that UAV use the PID already, and he can not understand that why we need to use PID and again.
I also confuse it.(I feel that I am so stupid)
I try to read the bebop’s firmware to understand this.
However it is really a large source code. opensource/tree/7eeefd4227e602126fa2a408e8a33bf4fd070dde
Please help me.
Thank you.
Best Regard