Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Designing a 3D Scanner - Which Processor to Use ?

Status
Not open for further replies.

baileychic

Advanced Member level 3
Joined
Aug 2, 2017
Messages
728
Helped
56
Reputation
112
Reaction score
57
Trophy points
28
Activity points
7,033
Designing a 3D Scanner - Which Processor to Use ?

I want to desingn a 3D scanner which scans a object and builds its 3D model and image and the data can be set on internet for searching exact object. Which controller or Processor I have to use fo rthe device ? It should be able to communicate with PC using USB.
 

This is a very nice projecta nd I also wanted to do something like that in the near future.

I think that the only reasonable solution here is using the Rasspberry pi. I'm not suure about the USB communication, but Raspberry Pi itself can handle the HDMI monitor or the Ethernet (wireless or cable).

What kind of camera are you going to use for that scanner?
 

Hi,

What hardware to use?
I think it depends a lot on what your specifications are.

Just some values. Simple estimation you could have done on your own...
Imagine you have a cube with 50x50x50mm
And your scanner has a resolution if 1mm.
The cube has 6 faces. Each with 50x50= 2500 reading points. Makes a total of 15000 reading points.
For each reading point you need three values: X, Y, Z. Maybe each value is 8 bits wide. 3 × 8 = 24 bits.
Then the total amount of data is 15,000 x 24 bits = 360.000 bits

Now imagine your resolution is 0.1mm.
Then you get 1,500,000 reading points.
Because of the higher resolution you now need 8+4=12 bits per value. Makes 36 bits per reading point.
A total of 54,000,000 bits. A factor of 150.

And then there is the question how you decide to measure each point?
With a 2D camera? A line sensor? A mechanical sensing device?
What speed do you want to achieve?

Lets say you want to do the cube scan within 10 seconds.
Makes a scan rate of 1,500 points per second with a dara rate of 4,500 bytes oer second (@1mm resolution)
Or a scan rate of 150,000 points per second with 900,000 bytes per second. (@0.1 mm resolution)

You clearely see: for one specification you could use an 8 bit microcontroller,
for the other specification you should use an ARM7 at least.

It all depends on your specifications --> define them.

Klaus
 

If you want something really chip, you could even somehow go with Arduino:

https://www.instructables.com/id/Build-a-DIY-Desktop-3d-Scanner-With-Infinite-Resol/

If you already have a camera then this project will cost less than $50 to complete. If you like to shop on AliExpress you can probably build it for around $30. If you like to support your local middleman, more power too you, but it will cost a little more. The giant screw shown above was made from a regular drywall screw captured using this scanner and a Nikon DSLR.

Desktop 3d scanning has made great leaps in recent years but it still has great limitations. Scanner hardware is built around a specific scan volume and resolution. You can get decent results, but only if your object fits that sweet spot. If your object is too small, or too detailed or your scanner is just having a bad day your scan will look like a potato. Luckily there is another approach. Photogrammetry uses a set of regular 2d photographs taken from all angles around an object. If a point on an object can be seen in at least three pictures then its location can be triangulated and measured in three dimensions. By identifying and calculating the location of thousands, or even millions of points the software can build up an extremely accurate reproduction. Unlike a hardware based scanner there are no size or resolution limitations to this process. If you can photograph an object you can 3d scan it. It works from molecules to galaxies, or it would if they would ever approve my Hubble time.

The limiting factor with photogrammetry is the quality of the photographs and thus the skill of the photographer. Photos must be well exposed and in razor sharp focus. They must also be spaced around the object so they capture every part to be scanned and they overlap enough that the software can figure out where each shot belongs. With large objects this can be done manually with some practice, but it is virtually impossible to do it well with a small object. This scanner automates the process.
 

Ok. I will go with ARM7. Can I also use Raspberry Pi 3 ?
 

Of course you can. To be honest, the answer about processor is completely irrelevant. Everything depends on actual software doing image recognition.
 

I yet have to decide the camera. I need high res image of the object. I need to be able to generate as much data as possible for the scanned object and then also build a realistic 3ds max file or STEP file for 3D modelling. Speed of scanning should be reasonable.

250 USD or 350 USD is ok for me as it will be less than the cost of AVRONE and RealICE that I have.
 

How do you generate STEP files from set of photographs? And the price of such a scanner is rather 250000 USD than 250 USD.
 

I still have to think about it. Something by measuring the dimensions, color, texture, etc,...
 

How do you generate STEP files from set of photographs?

You currently have many choices for Photogrammetry software, but there are a few options which clearly lead the pack:

Agisoft Photoscan is the best commercial package which is remotely affordable. The $180 standard version is adequate for this type of scanning. Be warned that photogrammetry is very computationally intensive so it (and you) will be happiest running on the most powerful machine you can muster. If you are running your grandma's 486 and are pissed that Microsoft no longer supports XP this will end poorly for you.

Autodesk Memento is a close runner up. It sometimes does better than Agisoft if you have low quality photos, or not many of them. It has better tools for processing after the scan is made, but less control of the scan itself. Memento is cloud based which is nice if you have an old slow computer, but can be annoying if you get the feeling you could process your scan faster on your hampster powered Babbage engine. It is currently free, but may not always be so.

123d Catch is Autodesk's consumer level photogrammetry package. It has the advantage that you can manually align photos which can help salvage a bad scan with not enough overlap between the shots. But the number of photos you can upload is limited so that makes it difficult to scan something very detailed. And just because you can manually align photos does not mean that it is an amusing way to spend your spare time.

https://www.youtube.com/watch?v=iENzts_7QFg

https://www.youtube.com/watch?v=D6eqW6yk50k

https://en.wikipedia.org/wiki/Comparison_of_photogrammetry_software


you can do that for free, but you need to process the images on the PC. But for controlling the servo motor and camera you can easily use even Arduino


Another vote here for FreeLSS for scanning. Definitely worth paying the $25 for the licenced version, there are a number of updates which improve performance significantly over the opensource one.

I use a Raspberry Pi based scanner running FreeLSS and then post process in Windows using Meshlab and Meshmixer.
 

Ok. I guess I need three cameras.

One for the top scanning
One for bottom scanning
Third for Z axis.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top