PID help


hello!
i'm having trouble conceptualizing how go implementing pid drone. there few ways i'm thinking implementing pipeline:
having 1 pid object each of 6 motors,
having 1 pid object each axis

how implement pids on per-motor basis:


how implement pids on per-axis basis:


i'm guessing second 1 best course of action, can put it's own loop, pid data available on-demand, oppose calculations on spot. object oriented, , runs in background.

the first 1 has it's appeals, too. eliminates of caluclations needed in order find acutal value. procedural, , straight forward , performes on spot.

what guys think?

why think trigonometry needed?  there 4 independent control loops, roll, pitch, yaw , thrust,
you output suitably weighted motors (thrust instance goes same sign all,
yaw sign depending on prop spin direction, etc).  linear, control loops linear...

the tricky bit if saturate 1 of motors, loops no longer independent and
you crash!

and want arrange values passed motor linear in thrust, ie may need
a look-up table linearized thrust actual pwm drive level.


Arduino Forum > Using Arduino > Programming Questions > PID help


arduino

Comments

Popular posts from this blog

Error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode - Raspberry Pi Forums

class MPU6050 has no member named begin

missing filename after '-o'