-
Notifications
You must be signed in to change notification settings - Fork 3
0.I Practical Product Analysis
-
Interface: Present: The interface works very efficiently with minimal lag as far as the Main window is concerned. The subsequent windows work well too. The windows showing the Scatter plot and the Tri Surf plot face some lag due to a large number of points (Coordinates). Scope: The interface can be made robust by introducing more efficiencyin the present code. The number of points(Coordinates) generated can be reduced using suitable algorithms resulting in reduced or apparently negligible time lag in the Scatter plots and Tri Surf plots. This is aimed to be achieved by: Averaging the Coordinates of similar points: A proposed technique to reduce the number of the coordinates generated finally is by taking the average value of many points which occupy a very small region. This may be achieved by dividing the entire figure into small cubes of a quantum dimension and then taking the centre point of the cube (nearly average) as the only point instead of considering all the points inside the cube. Discarding the points within a given range: Similar to the previous technique, a region containing unnecessarily a large number of points can be avoided.
-
CPU utilisation: Present: Current CPU utilisation is in excess of 90% (as tested on an i5, 8GB RAM system). The .ply file generated is approximately 3-5 MB with the image files (.png) generated of size is approximately 10-20KB. The associated text files generated are approximately 50-100KB. Scope: CPU utilization and size of .ply file can be considerably reduced if the number of points created can be decreased using the mentioned steps in Article 1. It can also be used by making the code more runtime efficient.
-
3D Image formation: Present: The 3D imaging techniques used in the 3D Scanner are: Scatter Plot: A scatter plot (also called a scatter graph or scatter diagram) is a type of plot or mathematical diagram using Cartesian coordinates to display values for typically two variables for a set of data. Tri Surf Plot: Tri-Surface plot is based on Surface triangulation, specifically Delaunay triangulation (refer Appendix E). This technique helps generate triangles using the coordinates passed as arguments. Scope: The faces of the ply file can be generated with the help of Delaunay triangulation or a similar technique which can be used by trimesh() function of matplotlib for displaying the 3D image. After the faces are created for the ply file, it would be fit for use with Blender and other 3D image loading software.
-
Time Lags in the setup: Although the software developed for scanning works fine. But further debugging is necessary to find out the avoidable delays that occur during the runtime.
-
3D file format compatibility: Present: The software is generating a .ply file as of now. A ply file is one of the common 3D file formats and is being used widely. A lot of Open Source Software are capable of opening and manipulating .ply files. Scope: The software can also be programmed to generate any 3D file viz. .obj, .stl , etc.
-
Hardware Compatibility and Effectiveness:
I) Microcontroller: Present: The setup uses Arduino Uno for controlling the physical device i.e. the stepper motor Scope: Presently, all the capturing is being done by an external computer attached to the setup. If the code becomes a bit more efficient and requires less physical memory and processing load during the runtime, then the entire system can be implemented in an embedded computer (like Raspberry Pi or Beaglebone Black).
II) Stepper Motor: Present: The setup uses a Universal motor (in the Unipolar mode) having 7.5 degrees as the step angle and total steps of 48. Scope: The Stepper motor specifications can be varied as per requirement. Stepper motor with smaller step angle can be used which will increase the number of frames capture, hence increasing the accuracy of the 3D image captured. But again this would increase the number of points taken into consideration.
- Hardware Benchmark
- Software Benchmark
3.Responsiveness