i've been working on the next evolutionary step of trashbot, a biped robot made from mostly material that i have floating around like bike parts, a typewriter, old PCBs etc. in this version i've added an "inverted" gimbal that is controlled by an MPU6050 and the whole system works as an autonomous spine, counter-balancing the movement of the lower part of the body.
(why aren't the videos embedded when i embed them here in the editor? see here: https://www.youtube.com/watch?v=oIX9gqIgpVE and here https://www.youtube.com/watch?v=Nu_97zBNF0A)
if anybody has more tips on PIDs especially in connection with servos: i'd love to learn more. i'm using jeff rowbergs lib to get decent values from the gyro and then wrote a little PID to control the servos. i'm not sure, i understand jeff's interrupt mechanism in the example code, the interrupt is just setting a boolean to true so that the loop can act if new data is there. why is he not reacting in the interrupt routine? (see his code here: https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050/Examples/MPU6050_DMP6 )
any help and ideas appreciated!
see the full blog entry on my homepage: http://assadollahi.de/trashbot-3-a-gimbal-like-autonomous-2dof-spine/
https://www.youtube.com/watch?v=Nu_97zBNF0A