Friday, January 10, 2020

Building Quadcopter Software from Scratch – Theory

Microelectronic (either some Ordains compatible board, Teensy, or any us that will suit your needs) TX system (more on the cheap side, you could use Turning xx or Turning car with a achiever that supports PUMP output) – more on that later Step 2. Sensors Its time for you to learn what accelerometer and gyroscope actually do. (yes really) accelerometer – measures g-force, its great to determinate pitch and roll angles, however accelerometers are acceptable to vibrations and shock Graph displaying accelerometer angle (shaking in hand) gyroscope – gyroscope measures acceleration rate (which is perfect for quadruplets), gyroscopes aren't affected by vibrations however gyroscopes tend to drift over time (more on this later) Graph displaying gyroscope angle drifting over timeFrom the block diagram on top, you could probably have guessed that getting reliable data from those 2 sensors won't be so easy, but worry not. Step 3. : Kinematics Part where all the sensor  "magic† happen, I will only cover complementary filter here (as it is the one that I am using and its the most simple one to implement in code / also rather simple to explain). Right now we have raw gyroscope data and raw accelerometer data on our hand, but neither one of these sensor outputs give us â€Å"accurate enough† estimate to be used in our stabilization algorithm.What we will do, is combine cell and gyro outputs via complementary filter. Output from our kinematics will feature a strongly suppressed noise from accelerometer and also gyro step 4. : First PIED First PIED controller, from the diagram on top you can see that our first PIED controller will take output from our pilot as â€Å"setting† and kinematics (containing current estimation of yaw, pitch and roll angles) as input. Output from our first PIED controller will contain = angle desired by pilot +- current kinematics angle, this acts like an â€Å"accelerate† for second PIED.In this case â€Å"accelerate† meaner, that value from our first PIED controller will determinate how â€Å"fast† do we want to correct for the current stabilization error. Step 5. : second PIED Second PIED controller takes the â€Å"accelerate† from first PIED as â€Å"setting† and current gyroscope output (gyro Rate) as input. Resulting output from second PIED controller is the decimal value representing force that has to be applied to each of the axis to correct for the stabilization error. In our case this force is generated by spinning propellers, which size we can control by adjusting speed of the rotating props.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.