mariolukas / FabScanPi-Server

FabScan Pi Open Source 3D Scanner - Server application
https://www.fabscan.org
GNU General Public License v2.0
186 stars 68 forks source link

Calibration confusion #89

Closed dlarue closed 7 years ago

dlarue commented 7 years ago

Lots of the calibration items are well documented in the Software section here: https://mariolukas.github.io/FabScanPi-Server/software/

But what I've not found was how to use the Calibration item with the horizontal green line and vertical green. I've seen old documents which say the horizontal green line should be lined up behind the Turn Table at the corner of the platform and back of box. Another looks like it's aligned at the center of the turn table based on what looks like the duck being scanned.

Also not yet found is what the "Start Calibration" item does and how it effects the default.settings.json file. I currently don't have a stepper motor on my laser and having a tough time getting the system calibrated to produce a well formed model.

mariolukas commented 7 years ago

"Start Calibration" does the laser line detection and calculates the laser angle. In older software versions this was done before each scan. But in some cases ( when the object is too big ), the laser can not be detected on the back wall. This was the reason why the laser line detection ( angle calculation ) was separated from the scanning process.

All the calibration related stuff in the current version is deprecated. The new version of FabScanPi-Server will bring auto calibration, where a chessboard is placed on the turntable. All measurements will be done automatically. You can find a early pre release in the auto calibration branch https://github.com/mariolukas/FabScanPi-Server/tree/autocalibration

The new config will look like:

{ "folders": { "www": "/var/www/", "scans": "/var/scans/" }, "laser": { "steps": 3200, "numbers": 1, "rotation_steps": 5 }, "scanner_type": "laserscanner", "calibration": { "weight_matrix": [], "dist_camera_matrix": [], "pattern": { "square_size": 11, "rows": 6, "columns": 9, "origin_distance": 29 }, "camera_matrix": [ [ 1285.5809999999999, 0.0, 647.60199999999998 ], [ 0.0, 1289.9490000000001, 835.84400000000005 ], [ 0.0, 0.0, 1.0 ] ], "distortion_vector": [ 0.151, -0.20300000000000001, -0.0050000000000000001, 0.0060000000000000001, -0.70899999999999996 ], "laser_planes": [ { "deviation": 0.052318819865, "distance": 137.366403938, "normal": [ 0.56199451, -0.01896656, 0.82692348 ] } ], "platform_translation": [ 4.21176054e-03, 4.26178340e+01, 1.66114592e+02 ], "platform_rotation": [ [ 0.0, 9.99977231e-01, 6.74816764e-03 ], [ 4.51612662e-02, 6.74128255e-03, -9.98956964e-01 ], [ -0.99903697271524872, 0.00030800546235732861, -0.043875189806843448 ] ] }, "meshlab": { "path": "/usr/bin/" }, "process_numbers": 4, "turntable": { "steps": 3200 }, "camera": { "resolution": { "width": 1640, "height": 1232 }, "preview_resolution": { "width": 240, "height": 320 }, "rotate": "True", "hflip": "True", "vflip": "False", "type": "PICAM" }, "serial": { "baudrate": 115200, "autoflash": "True", "port": "/dev/ttyAMA0" }, "texture_illumination": 200 }

But there is no calibration until now. I am doing some final tests and then i will do a release.

dlarue commented 7 years ago

Can I ask about the horizontal green line? Is it to line up with the center of the turn table, the back of it or the back corner(corner made from the turn table platform and back wall)?

I will try the auto-calibration branch as soon as I can figure out how to either build the executable(fabscanpi-server) or turn from source.

mariolukas commented 7 years ago

Sorry forgot to answer exactly this question :) It should line up with the back of the turntable.

I am working on a testing repository which will contain all the unstable builds. This will be more convenience for testing the latest unreleased features.

dlarue commented 7 years ago

Ok, thanks. So I had it wrong in both my tests(center and back corner). figures. :-)

That'd be helpful but I also have no problem learning the ins and outs of python.