Making a 3D model of something with pictures isn't something new to most of us, but there have been a lot of people getting into drones recently and I wanted to show something useful you can do with your drone. Autodesk's 123D Catch has a very useful feature not everyone knows about; Once you have your 3D model ready, you can input a known measurement and 123D Catch will scale your model based on the known measurement. If you're having trouble figuring out how long your Christmas lights need to be, your drone and 123D catch can help. Lets see how long the Christmas lights need to be for the 3DR Building...
Lets start from the beginning. We want to get pictures of all angles of the building with a bit of overlap, if possible we want to get some at different elevations to help the 123D Catch build a better model. I'm going to be using a 3DR ArduCopter Hexa-B and a GoPro Hero2 (A camera without a fisheye lens will probably yield better). Plotting your mission using the Mission Planner is very easy, simply go to the Flight Planner tab and zoom in to where you want your mission to take place and set your Home location.
Planning your mission
- Set an ROI (Region Of Interest). We want to circle around the building but we need the camera to always be facing the building rather than the next waypoint. To do this right click on the map and select "Set ROI" and place the ROI in the center of your object of interest.
- Set a Takeoff command. Click on the map to set a waypoint, under "Command" select "Takeoff" instead of "Waypoint". Specify a target altitude, in my case I set this to 25m. Also make sure your WP Radius is not a huge number or you will get a large overshoot. Mine is set to 4m.
- Place Waypoints. Click around your structure to set your waypoints and specify a desired altitude. In the mission pictured bellow I have two circles, one at 25m and one at 35m of altitude. (Make sure you know what units your Mission Planner is set to. To check this go into Configuration > Planner)
- Set a Land command. Setting a land command is just like setting a takeoff command, simply set a waypoint and select "Land" from the drop down menu. (Land tends to bounce a lot on the ground at the moment, be ready to take control of the copter or simply land manually. Developers are working on this at the moment.)
- Upload Mission. Finally write the mission to the APM by clicking on "Write WPs". You may also save the mission for future use on your computer by right clicking and selecting File Load/Save > Save Waypoint File.
- WP_Speed . We want the copter to fly a bit slower to get some overlap in the pictures. I have found that setting WP_Speed to 3m/s and the GoPro to take pictures every 5 seconds is a good combination.
Connect to the mission planner and verify everything looks ok. If you cant see the mission waypoints on the Flight Data map go to the Flight Planner tab and click "Read WPs". You can arm and set your copter in Auto mode with your RC Transmitter or via the Mission Planner. Once in Auto, the copter will take off as soon as you raise the throttle and it will go fly the mission.
Upload the images to 123D catch to be processed, you should receive an email when your model is done. Don't be afraid if your model doesn't look great, we can fix it up a bit. First click on the generate mesh button and have your file be reprocessed with a higher resolution mesh. Maximum resolution is not always the best answer, sometimes your photos don't contain enough information and the model will look better with the extrapolation of a lower quality mesh. My model was made with a "Standard" or medium mesh.
If some of your images were not added to the model you can stitch them manually by double clicking on them and adding reference points to link them to stitched images. 123D Catch isn't very fond of trees and will sometimes not stitch or make odd shapes with photos that have trees in them. Manually stitching these photos in will improve the quality of your model.
You can also delete unwanted parts of the mesh, simply select them with the lazo tool, right click and select "delete". This is a good way to clean up your model.
Now to the fun part, how long is the 3DR Building? First we need to set two reference points that will be used to indicate the known measurement. I have created REF_DIST1 and REF_DIST2 in each of the corners of one of the tan squares on a face of the building. Next select "Define Reference Distance" and enter the value of the known distance. In this case I know the distance between these two points is 10ft. This feature is unit less so just make sure you know what units you are working with.
To measure any other distance on the model just insert two reference points, select "Create Distance Measure" and click on both points.
The 3D Robotics building is approximately 119.15ft long. You can verify this using the ruler in Google Earth and in fact we could have just used Google Earth to do this but where is the fun in that? and it wouldn't be very DIY of us.
At the moment the file for this model is not on the 123D Catch gallery but I will post the link when its available. If not I can just upload it here. Share your models, I would love to see what you guys are making with your drones. Also if anyone needs any help with the post processing in 3D catch or if something isn't clear enough here let me know and I'll try to help.
Here is a video of the 3D Model:
And here is the 123D Catch File