to use modified FabScan in the TU Darmstadt in the future
Hi, Members of the FabScanPi,
I am a mechanical engineering student at TU Darmstadt. Our Institut PTU (Produktstechnik und Umformmaschinen) wants to build a 3D scanning system using turntable to scan small deep drawn aluminum parts. I have found the FabScanPi really close to our project, so it would be interesting for me that I can modify a FabScanPi to fit with our project, because my tutor wants to use only two industrial cameras without any laser.
For me it is important to know, how the RaspberryPi drives the turntable and how it interacts with the camera system. This project is also part of my bachelor thesis, it would be great if I can learn from you guys!
I am open for a conversation to provide more details!
, because my tutor wants to use only two industrial cameras without any laser.
How do you want to perform a scan? How should the cameras be aligned?
to scan small deep drawn aluminum parts.
Keep in mind that metallic parts are hard to scan because of their shiny surface. You need to prepare the parts with chalk- or 3d scanning spray before you are able to scan.
Generally all you need to do ist to customize the scanning module. Just do a copy of the laserscanner folder, rename it to what you want.
Then change the default.config.json. Just change "scanner_type": "laserscanner", to "scanner_type": "your-awesome-scanner". That is the way to create a custom scanner routine. The next part is the hardest part. You need to change the scanning routines to your needs.
The main file ist https://github.com/mariolukas/FabScanPi-Server/blob/master/src/fabscan/scanner/laserscanner/FSScanProcessor.py
All scan performing steps are defined in this file. If you are planing to connect a custom camera, you need to modify the camera driver.
This driver is mostly written for the Raspberry Pi camera, but you can find some initial code which will run a generic usb camera. Change the camera type in the default.config.json from PICAM to USBCAM. But keep in mind that the usb camera driver is not a system driver. It is just providing an abstract capture interface to the FabScanPi HardwareController class. Maybe need also to install a kernel driver for your industrial cameras. Additionally you should implement a kind of camera multiplexer for capturing from two cameras. Best place to do that would be the hardware controller.
You need to instantiate a second cam.
I recommend of thinking about a second camera. Maybe it would be better to turn the object and do a second scan with just one camera. Afterwards you can align both scans with a software like Meshlab or Cloudcompare. But generally using two cameras depends on the 3d scanning technic you want to perform ( laser scanning, photogrammetry scanning or stereo vision).
I have ordered a fabscan pi to TU Darmstadt on watterott received the packet last week! This week I was trying to assamble it and I was excited to see how it would work! But during the assembling I met some problems and therefore I want to have an exchange of information with you, to see what the original designer thinks.
As you can see, I planed to use usb-binocular-cameras for the image acquisition, the problem here is with the fabscan pi. From the website of Fabscan pi https://fabscanpi-server.readthedocs.io/en/latest/hardware/#connecting-the-power-supply the power connector is at a different side as the image on the fabscan homepage. So I am a little bit confused on which one is the right orientation. If I solder it on the upper site, the Netzteil will be blocked by the motor, so I can never fit it in the box.
And also the laser wire has a white hat on it, which is different as the introduction. I think I have to remove the white hat so I can connect the laser with the Fabscan Pi HAT?
I am looking forward to your advice
And btw, do i need to solder the regulator on the HAT? Or it is already sufficient that I just stick it in the HAT?
I wanna edit python backend codes, but I don’t know how can I access them, should I find them in SD card or should I follow another approach?
You should go from source. Go to e.g. /home/pi and checkout the current source to this location.
git clone https://github.com/mariolukas/FabScanPi-Server.git
Then stop the running FabScanPi Server by
If you need to do more work on the code it would be a good idea to remove the fabscanpi server from the default runlevels. Otherwise it is started automatically if you reboot the Pi.
Next go to your checkout folder /home/pi/FabScanPi-Server. You are able to start the FabScanPi-Server Software from source. If you change some source stop the server and run it again. It is more convinient to use a PyCharm Pro license. This enables to use a IDE on your Computer and do remote debuging and running of the code on the Pi.
For starting from source use:
/home/pi/FabScanPi-Server/src/fabscanpi-server --config=/home/pi/FabScanPi-Server/src/fabscan/config/default.config.json --settings=/home/pi/FabScanPi-Server/src/fabscan/config/default.settings.json