Project Build

The builds are for Android devices only are within the folder ProjectBuild. There are 3 versions, based on if rotation error delta needs to be changed. Delta being off gave the best results on mobile, while the other 2 had issues.

Note that these builds are NOT meants for any kind of practical use in their current state, and require more work on them for that.

Once the app has started and the camera is on, the device can be moved around and any detected points will be automatically added

There are 3 buttons at the bottom: 
"All"/"Current Frame" - This is just a visualizer where you can choose whether to show all the points that have currently been saved, or to show all the points that the point detector currently sees.

"Save" - Saves the currently visible point cloud into a binary stream file.

"2PNS" - Activates the 2PNS comparison algorithm. First note is that currently no barrier to properly make this async, meaning the app will temporarily freeze.
Second note is that this button will not work if a point cloud has not been made beforehand OR IF IT WAS JUST SAVED. The app will need to be closed and reopened after a point cloud is saved (essentially making a new point cloud to compare against the old one)

To actually understand how the match went, a vase is automatically placed at (0,0,0), or where the device is at when the app is started. By knowing where the vase was at for the initially saved point cloud, the ideal case would be when, after a match, the vase is correctly placed at that location again.

------------------------------------------------------------
Project Code

The zip file ProjectCode contains the Unity (2020.1.2f1) code for the *PC* version used for testing 2 point clouds. This only works in the editor, as some of the things used for testing don't work in an actual build.

Starting the code in the editor will load in 2 chosen point clouds and has a button in the bottom-left corner (Start) that starts the match process.

To change what point clouds are used, the script in Assets/Scripts/WorldController.cs is used. lines 19 and 20 set up poitn clouds, where the first variable is a string path to where the binary text file is located at.

To change the delta error, the file at Assets/Scripts/A_2PNS.cs contains the float at line 19. However, if it desired to disable delta (currently done by default), the lines at 336-344 need to be commented out and line 346-347 comments need to be disabled.
------------------------------------------------------------

Other files

Rectangular_Box_Results.xlsx - Experiment 1 results.

Experiment_2_3_Results.xlsx - Experiment 2 and 3 results. Note that both experiments are on separate sheets (On Excel, can be seen on the bottom menu)

MobileResults.pdf - Experiment 4 mobile device results, that were saved as images 