Pages: [1]   Go Down
Author Topic: CNC Macine w/ built in 3D Scanner  (Read 1486 times)
0 Members and 1 Guest are viewing this topic.
Rome, GA
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So I had this idea to make my photodiode matrix more useful than for a touch screen.

I have seen ideas around for an Arduino controlled CNC machine. The only successful one I have seen is RepRap.

However, something I thought would be really cool, is to make the CNC also a 3D scanner.

To start simple the cutting side would be a 3 axis router. I'd like to use a Porter-Cable or something nice with which metal (at least aluminum) could be cut.

The scanner could be done a number of ways.
One way would be to angle a laser so that it reflects a line onto the object and sensors detect the intensity of the light while the object rotates.
Another way would be to surround the entire working space with an laser diode matrix each side could be scanned while the opposing side emits light.

I would assume that the rotating idea would have better results, but would be slower. Where as the matrices would be much faster yet less accurate.

Any thoughts?
« Last Edit: September 02, 2008, 10:58:37 am by vertigoepidemic » Logged

Programmers are tools for converting caffeine into code.

Grenoble/Lyon - France
Offline Offline
Sr. Member
****
Karma: 0
Posts: 363
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Maybe you could use the "milk" method ?


For metal objects, one thing you could do is use the method used in the Roland Modela Desktop CNC machines for calibrating the tool height. It works like a simple closed / open circuit : a current passes in the tool and the object, whenever the tool touches the objects, it closes the circuit. This way, you can have your tool move on a grid, and make it go down slowly at each intersection of the grid. Whenever you touch the object, you have an X/Y/Z coordinate, and with a fine enough grid, can reconstruct a relatively accurate object.
Logged


Grenoble/Lyon - France
Offline Offline
Sr. Member
****
Karma: 0
Posts: 363
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I have a touch probe at home (stole it in high school, those thing are damn expensive ^^), but I was unable to find any info on the pinout and how this works, but I think this might be the best solution.



Logged


Grenoble/Lyon - France
Offline Offline
Sr. Member
****
Karma: 0
Posts: 363
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

(3rd post, sorry ^^)

I found this very interesting link

http://www.brusselsprout.org/CNC/1P-Probe/
Logged


Rome, GA
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Whoa! That MilkScanner is a cool idea! smiley-grin

Would be even cooler if the "milk" level was controlled better then using a spoon.
Logged

Programmers are tools for converting caffeine into code.

Grenoble/Lyon - France
Offline Offline
Sr. Member
****
Karma: 0
Posts: 363
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I think that by using a pump or a syringue driven by a stepper motor, you can achieve a good filling resolution ^^
Logged


Rome, GA
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Arduino could easily control the stepper motor and the "shots" taken by a camera.

My only qualm is that you would have to flip the item over in order to get a rendering of the bottom side, no?
Logged

Programmers are tools for converting caffeine into code.

Rome, GA
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hmm, couple cool ideas at http://en.wikipedia.org/wiki/3d_scanner

A few that I think are interesting are "stereopsis" and "photometric"

With "stereopsis," essentially you get two cameras and take pictures. With image processing, you can determine the distance away a point in the picture is.

http://www.cogs.susx.ac.uk/users/davidy/teachvision/vision5.html

"Photometric" is a  technique in which you take two pictures of an object in different lighting scenarios.

This is turning out to be very interesting! smiley
Logged

Programmers are tools for converting caffeine into code.

0
Offline Offline
Sr. Member
****
Karma: 4
Posts: 323
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

As I understand it, the Roland scanners use a piezo sensor for "acoustic" scanning of a 3d object.  You might be able to replicate this sort of functionality, I found a paper that seems to be related here: http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6THG-41248CH-B&_user=10&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=368f0db326418f3a4602a9d1f00218fb

Edit: it appears the Roland scanners use a touch-probe to achieve this.  Considering the low-cost of their units, this might be a viable method for a do-it-yourself-er  (The laser-based units all seem to cost a lot of money =)

!c
« Last Edit: September 02, 2008, 04:42:33 pm by drone » Logged

Rome, GA
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I tell ya... Google, Wikipedia and YouTube are the greatest tools ever invented!

Found some cool stuff for 3D scanning. "DAVID-Laserscanner" is a free 3D scanning system.

Couple URLs of interest:
DAVID in action:
DAVID's website: http://www.david-laserscanner.com/
Paper published about DAVID: http://www.rob.cs.tu-bs.de/content/03-research/03-publications/download/swi_2006_09_konferenz_dagm.pdf (Haven't read it yet)

Basically, you hold print out a calibrating sheet and point a webcam at the scene. Place something in front of the calibrator and shine a laser line over the object then rotate it every 15 degrees or so.

As far as I have seen this process is all hand done, but I don't see why this can not be automated.
Logged

Programmers are tools for converting caffeine into code.

Pages: [1]   Go Up
Jump to: