This kit was created as a means to improve the georeferencing of images captured using balloon mapping. This kit is based around the open-source Arduino mircocontroller. Utilizing a GPS receiver, barometric sensor, three-axis accelerometer and data logger, this module allows for the synchronization of data with images captured from a Canon camera running the CHDK. By utilizing the USB remote function of the CHDK software the camera can be triggered in sync with the logging of the sensor data.
Along with the georeferencing capabilities, this kit captures the position of the camera in relation to the ground plane. This is done by capturing the x/y rotation of the camera with the accelerometer.
Sample log data: lat,long,Date(yyyy-mm-dd),Time(hh:mm:ss:cc),alt(m),course,speed(knots),speed(mph),speed(mps),speed(kmph),pressure(Pa),baroAlt(m),xAxis(deg),yAxis(deg) 40.76892,-73.94951,2011-1-21,21:43:15:0,39.50,227.29,0.00,0.00,0.00,0.00,100297.75,85.86,-57,-80
Arduino code available here
Here is a quick test of image rectification using the accelerometer data.
We are considering using this method to write this information into the EXIF for each image.
Comments from mailing list:
Great idea for balloon and kite mappers, having a single small device to hang there would come extremely useful. When I needed to log GPS data for a flight recently I needed two bulky devices: the camera, and the GPS, and they weren't synchronized. The CHDK synchronization is a very promising way to do that. And with the arduino pins accessible the device can probably be easily extended with further sensors is necessary. (It feels still slightly redundant that we can't have the camera on the same board, wouldn't that be great? But technically image processing is a whole another step higher than arduino, and CCD sensors are difficult to get hang of)
Looking forward to see the telemetry kit in use!
My only doubt is about the reliability of accelerometer measurements on a flying object. Attitude estimation is going to be difficult due to the amount of movement and non-gravity acceleration. One solution to this would be to include a 3-axis gyro in addition to the accelerometer. Sensor sets composed of a gyro and an accelerometer can give quite reliable results by compensating for each other's error characteristics. The compensation involves some maths, but it can be executed on an Arduino board and there are several successful projects using this methods. MultiWii is one example, where a $20 set of popular Nintendo Wii controllers can be used as an arduino-compatible tiny sensor board. It's similar to the sparkfun ADXL board but contains gyroscopes and MultiWii provides an arduino library for calculating attitude using kalman filters. -- balrog