cnlohr wrote:None of that. Sadly, none of those algorithms interest me.
This is the most interesting part, though
If you change your mind or in case someone else is interested, here is a useful link:
https://github.com/kriswiner/MPU-6050/wiki/Affordable-9-DoF-Sensor-Fusion
Some more links from Geek Mom:
http://www.geekmomprojects.com/gyroscopes-and-accelerometers-on-a-chip/
http://www.geekmomprojects.com/mpu-6050-redux-dmp-data-fusion-vs-complementary-filter/#more-876
And a definitely more theoretic one:
http://www.olliw.eu/2013/imu-data-fusing/
cnlohr wrote:I was able to get some brief, shakey flight a couple feet up tonight using nothing other than integrating the gyro.
That's about how far you will get without fusing data from all the sensors...
cnlohr wrote:On the current rev of the board I have in my copter right now, though I am getting a lot of bogus data on some of the readings from the LSM9DS1 .
Fusion would also smooth that out too... Have you tested the MPU-9250 or the latest BNO055? This last one is particularly interesting as it features a built-in 9-axis fusion algorithm @100Hz implemented into a Cortex M0+. I also recommend changing the outdated BMP085 for a more accurate BMP280 pressure sensor.
cnlohr wrote:*EDIT* I have had to modify my board here and there, like I found out I /really do/ need pull up resistors on my I2C and can't rely on the pullups on the AVR + ESP to save me in a high noise environment.
You DO! Internal pull-ups are OK for normal conditions, but with all these motors in near vicinity, you need stronger ones. You may need separate power/digital power supply with chokes, too.
cnlohr wrote:Additionally, I had to short the reset line on the AVR to 5V. Somehow it was getting triggered. I've driven motors before, but sheeeeeesh this is insanely noisy!
Never a good idea to leave a reset line floating when you may have noise. Don't forget that you are switching at least 4A on a small area board!
cnlohr wrote:I think I am going to separate myself from any kind of sensor fusion and close loop stuff if I can so I can work on things that are actually cool like making a webgl interface using websockets!
I have a sketch running on an Arduino 2009 reading Fusion data out of an MPU-6050, converting them to yaw/pitch/roll on the fly @60Hz and spitting these on a 9600 bps UART, with another sketch in processing language (~Java) on my Linux host to display a nice 3D GeeBee aircraft using OpenGL:
Turning this into WebGL should not be too difficult, the problem is more to read an UART from the browser I know, I could use a proxy, but this is not elegant! Another better solution would be to implement this on the ESP8266 and spit angles on a socket...
cnlohr wrote:Or, getting even more confusing and running JSLinux inside the browser with the ports mapped back to the ESP .
Except for the fun, I don't see how interesting this can be.
cnlohr wrote:Sadly, I won't be able to put hardly any time at all toward this over the next two weeks.
I understand that you may have some other things to do (like exams, maybe), but given the already good work you already did, I strongly urge you to continue on this!