Triggering the GoPro on board the 3DR Solo for Mapping missions

*** Note this Blog post was done a long time ago, this is no longer needed with the latest Solo updates. Current Solo firmware will trigger the GoPro during an auto mission correctly, and the cam trigger messages on the data flash logs can be used for geotagging the images via mission planner or directly in software like Pix4D ***

There have been a lot of questions about how to this in several forums, I posted a solution a while ago on the Facebook Solo Mod Club page, but with all the demand I think I should also post it here. 

First understand that this is a hack that modifies some files inside the Solo and that you may or may not need to do a factory reset before you upgrade to the next version of the firmware which seems it will contain something similar to this modification. So do this at your own risk and only if you know what you are doing. 

From the comments bellow, I think this explains it better:

"With the current Solo update system, user modified files will not be updated during a software update. To get the update, either a patched version of the new file will need to be manually installed (taken from a "clean" updated copter) or a "factory/settings reset" needs performed to get the copter back into a clean state before updating.

As with any software mods, it's always best to back-up the original file before modifying it (use something like "cp file.py file.py.date.back"). The backup can then be restored before a software update and then the updated file can be patched/modded again." -- Angus Peart

The Pixhawk firmware in Solo already has everything that is needed to trigger the GoPro for survey missions. It has the logic to trigger the GoPro based on distance or by using a explicit trigger waypoint. What is missing is for the companion computer inside Solo to interpret this messages and send a command to the GoPro to take a picture. This is what my mod does. Also it creates a log file for each flight where it stores the positions of any still pictures you take with the GoPro, not just during surveys, but anytime you trigger a still. 

Here are the steps:

1. Connect your computer to the Sololink WiFi network

2. Use an FTP Client to connect to Solo (root:TjSDBkAu@10.1.1.10)

3. Make a backup of /usr/bin/shotManager.py

4. Replace /usr/bin/shotManager.py with this file:

shotManager.py

5. Reboot you Solo

From now on whenever the Pixhawk sends a trigger command the Solo will trigger the GoPro and take a still. If the GoPro is in video mode it will switch it to still, take a pic and then put it back to video. Please note that everytime the GoPro takes a still you will loose video or see artifacts on the video. This is normal, and is related to how the GoPro works. If you fly too fast the GoPro may not respond to the trigger commands fast enough. Also if it has to switch between video and still it will take longer to take a picture and you may miss pics. So set the camera to still mode before starting the flight.

Once you have finished your flight you can use FTP to pull the georef log file from the solo. You should find them in /log/geoRefxx.log where xx is the number for the log and is incremented each flight. Have fun mapping with Solo.

PS. The picture above uses something similar but with the QX1 Edison Camera trigger on an earlier article I wrote. Since Solo is Pixhawk based you can use that too.

Views: 6638

Comment by Brett Edwards on December 11, 2015 at 10:59am

Is a gimbal/USB connection still needed to trigger the camera using this method? Or can it be done using just the included HDMI cable?

Comment by Dave Skala on December 15, 2015 at 3:33pm

My interest is in triggering a micasense camera via gps point. through tower app would be nice.

Comment by Pedram on February 2, 2016 at 11:21am

would you please tell me about your solo . i think it used SONY QX1 camera . how do you trigger it ?

Comment by Leon Dwyer on February 14, 2016 at 9:04pm

Eben Broadbent 

Did you find a solution. I'm having the same issues. 

Eben Broadbent 


Developer
Comment by Jaime Machuca on February 15, 2016 at 8:43am

Hi all, the post has been updated. The current Solo code already triggers the GoPro so this mod is not necessary anymore. You can use the data flash log's CAM messages to geotag the GoPro images using mission planner. Use this process:

http://copter.ardupilot.com/wiki/common-geotagging-images-with-miss...

As of the Solo 2.0 release, the dataflash logs are located on Solo at /log/dataflash . They are automatically copied from the pixhawk to the Solo iMX companion computer. Use sFTP to 10.1.1.10 to get the logs (user root, pw TjSDBkAu)

Comment by Pedram on February 15, 2016 at 8:56am

Hi Jaime

would you please explain about yellow SOLO. how it triggers sony QX1 ?

thank you

Comment by Paul Meier on February 15, 2016 at 9:02am

this is Jaime code: 

https://github.com/Dronecode/MAVProxy/blob/master/MAVProxy/modules/...

I am not so good at coding, would be happy if someone would do a tutorial

Thanks


Developer
Comment by Jaime Machuca on February 15, 2016 at 9:19am

I'm working on it (tutorial), its not 100% yet. So there is no point on releasing one yet (will create to many support questions). We are also working on companion computer images that will make things easier to implement.

Comment by Paul Meier on February 15, 2016 at 9:40am

that would be awesome, the sony qx10 in conjonction with sony play memories software for win has some excellent latency (140ms)

Comment by Leon Dwyer on February 15, 2016 at 9:27pm

There still is a need for this type of mode.
Or something like it.  The 3DR code only works in Auto mode.  I have some jobs coming up - mapping buildings. There are trees and all sorts of things in the way. 

I was planning on setting the cam-triger-distance and flying it in loiter. So looks like I might need to mode code anyway. 

Comment

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

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service