I've been playing with ArduPlane for quite a while and have finally got to the point where I can make it do something useful. I've been inspired by others on this site to use it for aerial photography to make 3D maps and the like.
I have an ST Models Discovery as the airframe (awesome platform for Arduplane by the way) and have made my own camera mount out of plywood for the bottom. It has one servo for roll stabilisation using CHAN 8 on the autopilot to keep the camera pointing down. It's basic but works pretty well (see pics)
Last weekend I flew over a small island on the river near my house. I managed to get 155 photos in around 10 mins and produce quite a reasonable 3d surface using hypr3d. I gotta say that these guys rock with great personal service and it's all free! They did struggle a bit with that many photos, but you can see the result below
I'm not in the same league as some of the other makers of aerial maps on this site, and have no idea of the accuracy of this map, but was pretty happy with the early results and would like to work on this more to get better results.
my setup is
Airframe - ST Models Discovery Trainer with stock motor and 30A ESC
Arduplane 2.24 with Magnetometer, airspeed kit and xbee - a few lines of code added to output roll stabilisation
Home made camera mount with roll stabiliser
Canon IXUS 50 camera 5MP (this is a very light P&S camera) running CHDK
Spektrum DX 7 2.4GHz tx/rx
2200 mAh 3s motor battery + 1000 mAh 2s battery to power all other electronics via a UBEC (the stock BEC is too small)
I used Mark Willis's aerial coverage spreadsheet to calculate the waypoints before launch and it seemed to produce a good result.You can see the waypoint in the following screenshot
Cheers
James
Comments
Jo - most still images taken from videos will suffer from compression artifacts and can also be quite blurry when taken from a moving plane as the shutter speeds are slower than a still camera.
You don't notice when it is played as a video, but looking at individual frames you will see these issues. As pointed out by Cliff, they will be much lower resolution than an image from a still camera (even a cheap one). I have tried using frame grabbing software and a video file, but the results were not that good.
@Luiz - sorry for the slow response, I will try to get you my params, I have been very busy at work over the last few weeks. My params are similar to the stock setup. I think I changed the X-track gain to around 180 and also changed the roll P to 0.8, but it's been a while so will need to confirm those numbers.
I'm not a gopro user, but most video imagery I am familiar with does not have the resolution or quality that still frames acquire, so you might have a significant penalty in resolution. Even HD at 1920x1080 is only 2 megapixels. Also, you may have difficulty georegistering video converted to frames, as you will lose any timing information that you would have with a framing camera in order to match up to a gpx file.
Dear Jame and everybody,
Rather than using still camera, can we use video camera such as Gopro to shoot continuous video and convert it to image later by video-to-image converter software? Then we can choose overlapped image for [Hypr3D]
Please advise thank you
looks great James, listen I am using the Apprentice for my project and was wondering what would be a good configuration file for my airframe, your plane looks very much like mine is there anyway you can send me your configuration file so I can try? Thanks
@Arturo - by psmv2 you mean photosynth? I did try using that service. It was by far the fastest way to do it, but the point cloud I got back was very noisy. Even in the smooth grassed areas in the middle, the points jumped around a lot. The hypr3D point cloud was much better in that respect. It was around the same number of points, also.
Hi James,
thank You for the description.
I also had problems with using channel 5 and 6 for the camera trigger servo. Channel 7 works.
Maybe it has to do with the flap functionality on 5 and 6?
Frank
Nice work man, i have a question, can you obtain the same results with bundler and psmv2? because i have the software installed in a costum pc and i only probe it with small dataset and i dont have access to large dataset like you.
You have some experiance with bundle and psmv2?
@Frank - when the Camera branch is merged into the trunk I assume Camera Stabilisation will work out of the box. Until then, it is pretty easy to get it to work for a single axis like I did. Just add the following line of code to the end of fast_loop() function of ArduPilotMega.pde
Tom, I may be wrong when comparing the method used in Hypr3D for image matching with the DEM generating methods I'm used to (I'm probably outdated :) )... Correlation/score is a quality measure in means of the correlation per pixel in the resulting DEM/point cloud.
From PCI Geomatics:
Q: What is the score channel?
A) The Score channel is an auxiliary channel that is created for storing a scaled correlation score for each pixel in the DEM. This gives you a good start when you look at DEM editing in order to identify areas of possible errors where the overall correlation scores were not successful. Don't forget: if there are holes in the DEM where the correlation failed, they are often filled or interpolated in the DEM extraction process. Just because the pixels have values does not mean that they were successfully correlated on the ground. Use the score channel to get the true impression of where the data was extracted successfully.
Tormod,
What do you mean by "score/correlation" channels? I'm not familiar with those terms in the context of 3D modeling.
-Tom (Hypr3D.com)