If you answered yes to both of those questions, then this post is for you.
I've always had a special fondness for the Sony QX-1 and decided to rig up a contraption that would let me fly her with Solo. For both of you on DIYDrones who are not familiar with the QX-1, it is a light (180 g body), high resolution (20MP), endowed with a large sensor (APS-C, 15x larger than GoPro) body that receives Sony E-mount lenses (including zoom lenses), and can be controlled by an extensive WiFi API.
First, I had to learn how to control the camera via the WiFi API. Jaime Machuca, of Droidika, wrote a nice MAVLink wrapper for the QX-1 API, but I never quite could get it going on Solo. Instead, I deployed the pysony API, which I installed on a RasPi that I taped to Solo's belly. This RasPi connected to QX-1's WiFi upon boot, ingested the mjpeg QX-1 livestream, pipe it over HDMI to Solo App, and triggered the QX-1 to begin shooting. I could control all other QX-1 functions on the ground, but I didn't have an easy way to integrate those controls into Solo herself.
Next, I had to gimbal the camera. At 280g with the 20mm flat lens and a bit more with the 16-50mm Power Zoom, a brushless gimbal was probably out of the question and would have been much more difficult and expensive to build up. Because I was mostly interested in stills, I didn't particularly care about smooth video, but rather wanted a horizontal horizon and the ability to tilt the camera. I selected the RC Timer CM102, which had no problem stabilizing the camera reasonably well and holding the desired pitch.
These two pieces combined succeeded into turning Solo into a reasonable, but kludgy solution to capture truly professional aerial images for either general consumption or the generation of high quality maps or models. However, while this project is functional, it is incomplete. This feat of engineering contains no fewer than two PixHawks, six batteries, 20+ feet of cable, two companion computers, five ESCs, 10+ feet of strapping tape, and two transmitters.
I would love some additional feedback and support from the community to potentially turn this weekend project into something that any Solo owner could enjoy. I have a few full resolution images from both the QX-1 and GoPro along with a video of this thing in action (on my desk) on my blog, to help you answer these questions.
1) Is this something you would generally want?
2) Is a servo gimbal a problem? Servos will never succeed at delivering high quality video, but seem quite capable of stabilizing the camera for stills.
3) Would anyone be willing to help me integrate pysony and appropriate WiFi boot up scripts into the iMX6, eliminating the need to carry a second companion computer?
Is there any solution available, that can control and trigger a Sony camera via USB? Or maybe another camera (not DSLR) from a different vendor?
I would like to connect my Sony cameras to a Raspberry via USB, but afaik there is no USB API available from Sony. I don't like the Wifi solution much - because of possible RF interference with RC or Wifi telemetry links.
@Benoit: I haven't investigated any of these. I just saw a few random posts. Live view over WiFi is pretty good, but the issue I ran into was related to the RasPi connecting on boot. It was succeeded around 20% of the time for no reason I could determine. I'm sure some WiFi wizard can correct this problem, but I couldn't figure it out.
@Roberto : 1 : Witch lens do you use ? The QX1 allow less than 1s between two picture in manual focus. And less than 2 second with auto-focus. I use it with a Sony 20mm lens.
2 : The wifi is not a problem, the QX1 Wifi power is so low that is range is less than one meter on a UAV under power !!!
@Daniel : "There are some hacky workarounds for a wired solution" => If you are talking of the video output I am interested ! For triggering the Sony Multi cable work just fine.
Very interesting project. It solve the biggest drawback of the QX1 : his lack of video output.
Nice work Daniel.
I too have been experimenting with the QX1 and sony API. My setup is similar to Jamies where I am using an Intel Edison. The Edison receives the mavlink UART stream from Pixhawk or PWM input and triggers the photo. I've been experimenting uploading the photos directly to the Edison, geotagging and then saving to onboard SD card. I have yet to see how this 2.4GHz usage effects the RC 2.4. But I'm sure with correct shielding over the edison so it is not radiating directly to the RC receiver should help.
I am also experimenting with a larger companion (Odroid) to do the same tasks but then also provide other functionality, such as onboard processing and a digital video link back to GCS using Partick or Befinitiv methods. This link can then also be used for telemetry and other uses. This is useful for inspection work where you want to frame the shot for closeup stills etc.
I am interested to collaborate works.
I think the QX100 on a servo gimbal is a much more reasonable system to hang under a Solo.
Looks like the QX100, QX30 and QX10 are all discontinued. :(
@All: Very interesting follow up--I'm at the Commercial UAV Expo in Vegas right now and Lockheed has a nearly identical sensor flying on their $30k Indago quadcopter. They've gimbaled a QX-30 using a simple servo gimbal. It would be great to see this as a plug and play part on Solo.
@Rob: I don't have any particular insight into Sony's crystal ball, but based on their drone announcement and the fact that nearly every "commercial" drone here in Vegas at the Commercial UAV Expo is flying a QX-1 or QX-30, I think it is highly likely they will continue to push this division forward.
@Roberto: I set the camera to trigger every 3 seconds using their API and did not time the interval between shots. I was able to generate a number of nice maps and models, but I did not time the interval. I should do this. I did not notice a decrease in range from interference from the WiFi, but that's not to say that it will never be a problem.
@Michael: Good to know about iMX6. Tim Ryan, a developer over at 3DR, has started to do some of this work on board Solo. You should check it outhere, if you have not already.
@Cliff-E: Good to know about A5100. I may have to give that one a try.
@Hugues: Sorry I wasn't totally clear. Using the API I could control all of the camera settings from my computer or the RasPi, but in the air I just set the QX-1 on an interval. I have no yet done the work to integrate those API calls into the Solo companion computer. I will measure lag when I get home and follow up here.
Nice contraption! What is the trigger lag you get to take a picture? How much delay between two pictures?
I tried and dropped an experiment based on a Sony qx10, unusable for its lag and huge delay between pictures.
QX-1 is an awesome camera.... but
switched to a A5100, same API, 321g(250g body+70g pancake) and XAVC-S format (yay!). And it fits/balances on my RC Timer gimbal perfectly.... May want to look into that.
QX-1 has been hard to get in the US (we got an ebay Jp version). Not sure where Sony's gong with this, though Olympus came out with a similar format over the summer... I still like the Black magic format factor best.
Great project! That's exactly what I want to implement in my project.
I am not sure about integrating pysony to iMX6, photos are large and takes a lot of power/throughput to save and transmit and it able to cause solo management. I use raspberry pi onboard for advanced devices management.