Over this week I began working deciphering the chip that we are planning to use for our inertial measurement unit, the MPU-6050, and I reached an unfortunate conclusion: it won't work for us. Not because the chip doesn't do what it's supposed to. It seems like it will do a very good job of filtering, and it will even rotate the acceleration into a real world orientation frame. The downside is that it's incredibly complicated to interface to, and all the filtering information hasn't been released by the manufacturer yet. It's been over a year since they first introduced this chip, and they still haven't released the relevant information. So, we are going to bite the bullet and try a new system: the CHR-UM6-LT orientation sensor sold by Pololu. This sensor is quite expensive ($150 OEM version), but it has some nice features: quaternion and Euler angle output, a serial interface, and 1000 Hz update rate. In addition, the extended Kalman filter code that does the onboard processing is open source, so we can make modifications if needed.
Last Friday Luke and I visited some students of Dr. Kastner down at UCSD. First off, we visited the fixed wing lab and met Tim Wheeler and Lewis Anderson on the AUVSI team. They are doing some very nice work with their airplane, and it was nice talking with them and learning about how supportive UCSD is of their work. Later, we visited the Do-It-All grad student, Tom Wypych. Luke and I were mostly interested in Tom's work on the multicopters (as part of the UCSD NGS program), but Tom has experience all over the board and gave us lots of useful tips and pointers.
Thanks to Dr. Brisk for getting us in contact with Dr. Kastner, and thanks to Dr. Kastner for being so gracious to share with us his labs. And thanks to the Tom, Tim, and Lewis for sharing their work with us. It is much appreciated.
Over the last week I have worked on the meta organization of the project, I have worked on the MPU software, and we went down to UCSD which, all told, is about 30 hours or so. It's been a bit slow getting up and running, but now we have the routine down and we expect to be able to pick up the speed. In the next week or so I expect to get most of the peripheral code up and running, and added to specific branches of the repository before I merge it back into the main branch.