Bay Area Biped Robot Message Board › update & break
San Francisco, CA
Is this weekly a biweekly now? I hoped to join via hangout today. Anyway, here's short version of my update. I couldn't open documents with work split.
After someone asked about IMUs and linear algebra I purchased gy-80, arduino, raspberry pi and other cool stuff. I played with it quite a bit and wrote arduino driver for accelerometer and gyro, based on datasheets, that supports selftesting, power management and 1 point calibration.
I looked into filters and played with complimentary one to combine output from gyro and accelerometer. There are better algorithms (DCM, Kalman), but I just looked at them briefely.
I've learned a lot about electronics, i2c, spi and arduino itself in the process. Most importantly that:
- arduino doesn't seem like a good fit. My code already uses >10k memory and the device has only ~30k
- I couldn't get failure mode right - when I unplug a jumper at wrong time the arduino freezes rather than ignoring the device (which kinda makes sense when using i2c).
- It's better to write specialized code than a driver for sensors (for instance my driver doesn't use builtin FIFO and doesn't react to interrupts, which *is* a big deal when it comes to integrating values and it already takes 10k memory). Assuming things like power modes, frequency, additional features let's you build smaller code (sounds obvious, but remember that this was first time I worked with small system like this one and I was surprised how quickly I was eating memory).
- AREF pin should be used when reading measurements ;-) which I don't do.
- coding arduino feels bad once you pass 5k memory barrier (which happens quickly). It's so slow to build and testing it is also painful - raspberry pi is so much better experience.
I also looked at reconstructing 3d env from pointcloud, but don't have code yet.
The bad news (or good?) is that my other project suffered because I was playing with electronics and I must give it more attention. I plan to focus on it more, so I won't be able to participate in biped in near future ;-/