Camera Trigger and Geo Tag Images - Part 1

The ArduPlane Manual had a good instruction on this subject. I would like to share my own setting base on Sony RX 100 IV and using the Seagull Map2 UAV camera trigger in my Skywalker 1720 UAV power by HK Pilot32 soon to be deploy in Tanzania for ultra high resolution chimpanzee nest survey after the successful Pilot mission using X5 flying wing and Canon S100 GPS camera.

The Seagull map2 act as an interface between the camera and auto pilot. It also has a build in intervalometer features where user can select 1,2,,3,4,5,10,15 and 20 seconds time interval. Another really useful feature is the ability to turn on and off the camera. This can be done via auto pilot or a special assign channel from the radio control, or both. We want the camera in OFF status during take off and landing to avoid lens damage.

We can select any two unused channel to connect with Seagull map2. In my case I use channel 7 ( RC 7 ) for trigger and channel 6 ( RC 6 ) for camera on / off. The detail setting is as below :

Mission Planner > Initial setup > Camera Gimbal
set Shuttle to " RC 7 "
Servo Limit
Min " 1000 "
Max " 2000 "
Pushed " 1700 "
Not Pushed " 1500 "
Duration " 10 "

To configure channel 6, go to Config/Tuning > Full Parameter list

RC6_DZ " 0 "
RC6_MAX " 2000 "
RC6_MIN " 1000 "
RC6_REV " 1 "

In order to add camera on / off control from radio controller, in my case, Futaba T8J, we can assign Channel 6 to Switch A. Please note that Seagull Map2 will turn camera on / off alternately when it receive " high " signal ( pwm 1800 - 2000 ) In practice, when you move switch A from top position to bottom position, the camera will turn on, to turn it off, you need to move switch A to top position follow by bottom position.

To take full advantage of the Seagull map2 and Mission Planner build in function, the mission planning logic is : we want the camera in OFF status at the beginning. After take off, about one minutes or so from the first way point, we want to switch on the camera. Once it reach first way point, it'll start capture images base on distance and continue to do so until it reach the last way point. From there, we want the camera to stop taking images and shut down.

You can plan your mission as normal using Auto WP > Survey ( Grid ). After the mission is build ( accept ), you need to ADD a way point in front of the first way point, Preferably at least 200 meter from the mission first way point. Right after the newly added first way point, add another two way point.

Set way point No 2 to " DO_SET_SERVO "
Ser No " 6 "
PWM " 1900 "
This will turn the camera on
Set way point No 3 to " DO_SET SERVO "
Ser No " 6 "
PWM " 1500 "
This will return to neutral
Now way point No 4 is the first mission way point follow by " DO_SET_CAM_TRIGG_DIST " which is automatically generated by Mission Planner.
To turn off the camera, add two way point AFTER the last " DO_SET_CAM_TRIGG_DIST " command
Set second last way point to " DO_SET_SERVO "
Ser No " 6 "
PWM " 1900 "
This will turn the camera off
Set last way point to " DO_SET SERVO "
Ser No " 6 "
PWM " 1500 "
This will return to neutral.

I attach the tlog of test mission. You can extract WP file and also parameter file if interest. Use at your own risk : )


A sample image taken by Sony RX100 IV at 100 meter

Views: 3998

Comment by Euan Ramsay on April 7, 2016 at 6:19am

Where does the Geotagging part come in? I can't see how you are attaching GPS coordinates to the images.

Comment by János Mészáros on April 7, 2016 at 6:24am

@Euan: I think Keeyen will share geotagging workflow in part 2 or later.

Comment by Stephen Zidek on April 7, 2016 at 6:25am

He probably uses Mission Planner's geotagging utility, which can use the CAM messages.  When using CAM_TRIGG_DIST, ardupilot records a CAM message with coordinates each time it triggers the camera.  Mission Planner can then tag the photos with those coordinates.

Comment by Pascal P. on April 7, 2016 at 7:25am

I read somewhere last Ardupilot will give the possibility to record the time of the effective trig action of the camera (from connection to flash hot shoe) and not only the cam command that can be one second different. Will you talk about this in part 2 ? With the coming of cheap RTK this function is very nice for mapping.

Comment by Stephen Zidek on April 7, 2016 at 7:31am

@Pascal read this page, you can determine a shutter delay time between the CAM message and the picture.

Comment by Pascal P. on April 7, 2016 at 7:42am

Stephen, yes I saw this, but I am not sure it is a constant lag, depending on camera setting, and we are really looking for 2-3 centimetres there, at 8m/s , so 1/400 sec or so accuracy on time.

Comment by Hugues on April 7, 2016 at 1:53pm

thx for posting this.

Comment by lianpinkoh on April 7, 2016 at 2:31pm

@Euan, if you are using pix4d to stitch, you can just upload the images and the 'dataflash' log from the pixhawk SD card to pix4d without having to geotag. This way pix4d makes use of all available attitude information (pitch, roll, yaw) in addition to the 3D coordinates. If you are not using pix4d, then wait for keeyen's part 2.

Comment by Daniel Perez on April 8, 2016 at 6:25am
Hello. Is anyone having problems to activate the stabilize axis on gimbal (optional hardware) on arduplane?


Comment by keeyen pang on April 8, 2016 at 6:30am
@ Lianpin, thanks for the info regarding Pix4D. If it use all IMU and GPS data, it should potentially generate better orthomosaic and DEM.
@ Pascal, I'm sorry but I have no information about the hot shoe trigger record. I agree with you that with the low cost RTK GPS module, accurate time stamp is important. As the camera will send a pulse to the hot shoe every shutter trigger, it should not be too difficult for the flight controller to capture the message. May be our great developers here already had something in the pipe line.


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service