-
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 parallel to your body as much as possible. 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. 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. 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:
Important Gotchas: When possible, freeze the device beforehand. Wrap the device is some fabric to prevent freezer burn or 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.
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."