-
Notifications
You must be signed in to change notification settings - Fork 41
Mapping Hints and Tips
To Begin: To make the most accurate maps, use Project Tango's "Tango Mapper" in "Dense Mapping" mode. Pick an appropriate resolution (see the sections below), find a well-lit area, and press "Superframes Small-Peanut." Keep your scan time to the absolute minimum, and hold the device in landscape angled about 30 degrees from parallel to your body and try not to change the angle very much. If at any time the scan does not seem to be working, you want to change a setting, or you want to restart the scan, exit the app and close it by removing it from the Recent Apps menu. Do not press the back button, or attempt to go back into the app once you have hidden it.
This is what happens if you hold the device too close to a surface. Notice the path length, though the device had not moved. This is the interface for Dense Mapping. These are ideal settings. This is a mesh created without tilting the device around the chair: This is a mesh that was created by tilting the camera to capture all angles: Tilting the device is not a problem, but putting it parallel to the floor may cause the image to misalign.
Small Spaces: The key to small spaces is taking several short scans and choosing the best one. Using the highest resolution, cover the area completely - watch the map on the right to find holes. If you see that the image looks nothing like the area before you, start over. Use smooth motions: jarring the phone will influence accelerometer data. Do not let the device get really close to objects: stay at least 2 feet away from any surface. This is an example of a small area scan with high definition:
Large Spaces: Large spaces will require you to walk out a long path. Because this scan takes longer, you may need to use a lower resolution in order to cover the space. Remember, you can take multiple scans and combine them. It is better to get several smaller clean scans that can be merged together rather than one large scan that is full of noise and will take hours to clean. If you are scanning an area with a lot of right angles, use the first 2-3 seconds of the scan to hold the device against a perfectly parallel object (See the photo below) for flatter walls and cleaner surfaces.Keep moving at a constant speed in straight lines. Turn slowly and carefully. Tilt forward and back to "paint the walls" and gather consistent data about flat surfaces. Don't forget to scan the ceiling and the floor for complete models. For clean edges, hold the device parallel to a surface as you start up the scanning. This is an example of a large high definition scan: This is the same area scanned in low definition: This is a very large scan. It is very messy. It would be better to take a few smaller scans than attempt to fix this:
Scanning Objects: The device can also be used to scan objects with mixed results. Large, simple objects (like a couch) give the best results. Avoid shiny or small objects at all costs. Use the highest resolution possible, get every angle you can, and keep the scan short. This is a scan of an office chair. It came out quite clean! On the other hand, a small reflective mug does not even appear in the image on the right.
Important Gotchas: When possible, freeze the device beforehand. Wrap the device in some fabric to prevent freezer burn and condensation from affecting the components. The colder temperature allows scans to be larger and more complex before overheating occurs. If you press pause, or clear the map, your files may not save properly. Instead of clearing or pausing, restart the app for best results. Light sources both create holes and can disrupt the scans. For best results, do not point the camera lens at any light source (digital screens, overhead lamps, etc). The device may occasionally lose track of your location. If this does happen, save and restart the scan, otherwise any new data will be offset from the older points. If this happens often, leave the device on a flat surface for the first few seconds of a scan. When saving, leave the app open a few seconds (3-4) after pressing Save Mesh to allow the device to compile its data. If you find that the maps continually come out with "wavy walls" (see image below), hold the device against a surface parallel to a wall according to the information for large spaces. When scanning however, hold the device tilted at an angle.
This is what "wavy walls" look like: This is what clean edges look like when the device is started held to a perfectly parallel object:
Retrieving the meshes: Use adb from your console to retrieve the files. After connecting and unlocking the device, open an adb shell and navigate to /data/data/com.motorola.atap.tangomapper/files/octomap_meshes/. This directory contains timestamped folders for each scan. Use the folder ID to do an adb pull onto your local drive. This cannot be done with Android File Transfer, as the data folder is hidden.
Cleaning up meshes: The most success can be found in using MeshLab - a free cross-platform 3D editing software. Be warned: there is no undo function. Before you do anything, right-click on a mesh and select Flatten Visible Layers and save and export this file. For a first pass, use Filters->Cleaning and Repairing->Remove Isolated Pieces (wrt Diameter) to remove floating objects. However, this only removes the faces. To apply the changes, select all faces from the file menu, then use Filters->Selection->Select Vertices from Faces, then Filters->Selection->Invert Selection and finally Filters->Selection->Delete Selected Vertices. To combine scans into a larger area import both of the combined files, usually with the layer name "Merged Mesh," into the same project. Use File->Align to put the pieces together. Select one mesh and press "Glue Here Mesh." Select the second file, and press "Point Based Gluing." Follow the given instructions, picking four (or more) points that are contained by both models. Press "OK" and then "Process."