Hello Flight Riot!
CHDK: Canon Hack Development Kit
CHDK is useful for UAV mapping because it allows options for control of canon point and shoot cameras that you would not otherwise have. I use the Canon S100 and Canon SX260 primarily for mapping though I have used SX230 and others in the past. Canons with CHDK as a mapping camera configuration offer a great way to capture remotely sensed imagery from your UAV, fixed wing or multi-rotor.
There are essentially two general camera trigger approaches.
1) triggering by location or distance traveled. With APM or PixHawk there are options to trigger a camera based on distance (CAM_TRIGG_DIST) or at specific WPs by using “Internals” in the Mission Planner Survey Tool. Each requires a physical USB trigger (http://flightriot.com/pixhawk-and-apm-mapping-camera-configuration/) to allow the autopilot to tell the camera when to fire the shutter.
2) another usefull approach is a time based intervalometer in whereby a chdk script is used to tell the camera to take pictures every 2 seconds or whatever time interval makes sense for the mission. In the Mission Planner Survey Tool you can input the typical speed of your aircraft and then look at the estimated time between photos and use that number as your mission interval.
Below are 4 different methods you can use for mapping depending on your needs. Enjoy!
Trigger without a Script (CAM_TRIGG_DIST/WP): The initial Flight Riot script used the CAM_TRIGG_DIST method, was very simple and fast but did not work consistently on different cameras and different firmware versions. I recently discovered that you can use CHDK without any script in conjunction with CAM_TRIGG_DIST and achieve the same results. After installing CHDK, simply enable remote, set switch type to “one push”, and set control mode to “quick ” or “normal”.
No need to load any script. When you want to trigger the camera via usb remote trigger, simply power camera on, press the shutter button to deploy the lens, and you’re all done. Don’t turn chdk on by pressing playback button. Leave CHDK off!
Another piece to this that can sometimes be important, particularly on certain fixed wing UAVs is having the camera shutdown prior to landing so that the lens retracts and is not damaged.
Ok so I’m going to share 3 scripts today, 2 of which I created and one that was created by I think quite a few people in the Kite Aerial Photography community and is really quite sophisticated.
New FR Super Simple Script (CAM_TRIGG_DIST/WP): an updated version of the the original FR super simple script for anyone that the trigger method above does not work. It simply allows the autopilot to trigger the camera using CAM_TRIGG_DIST or WP. You can also set it up to trigger using a Tx switch if you want to manually control when pictures are taken:
RTM Script with shutdown (CAM_TRIGG_DIST/WP):The second script is my latest and it functions similarly to the super simple script but it shuts the camera down 30 seconds (adjustable in chdk menu) after the last mapping mission WP. It also uses CAM_TRIGG_DIST to get jsut the right amount of images per mission:
KAP Script with shutdown (Time based intervalometer):The final one was developed primarilty by the Kite Aerial Photography (KAP) community, is appropriately refered to as the KAP script and is quite robust. It is detailed and can be downloaded here:
I will also start a forum on CHDK so we can collectively figure out the best ways of conducting UAV mapping with Canon cameras.