Preliminary Design Review The Lone Rangers Brad Alcorn Tim Caldwell Mitch Duggan Kai Gelatt Josh Peifer Capstone – Spring 2007 3D Object Scanner Goal: To be able to capture any small physical object as a three dimensional, digital model. How do you do that? We will use a process called Triangulation to map points in 3D space The system will consist of a laser, a CCD camera, a turntable, and an FPGA to control everything Data will be gathered by the system, and sent to a PC where the 3D model will be constructed Triangulation How do we know the distance to one point? Block Diagram Mechanical Equipment Turntable Stepper Motor Rotary Encoder Neat stand for turntable Even more neat stand for camera (tripod) Materials Initially, we will construct the turntable and stand from wood or Plexiglas If possible, time and money permitting, we would construct a final design of machined aluminum Line Laser Projected vertically onto the object to be scanned Set at a known angle from the camera for triangulation calculations CCD Texas Instruments TC346RGB 658(H) x 496 (V) Active Pixels in Image Sensing Area 10um square pixels Low dark current R, G, B primary mosaic filters on chip 30 frames/s readout speed Serial connection to A/D converter 12.5 MHz clock signal Analog Front End A/D converter between CCD and FPGA Compatible with CCD and FPGA interfaces Fast enough conversion rate to keep up with data from CCD CCD Objective Pinhole objective Pros low cost decent resolution more rugged than a lens Cons Lens objective Low light intensity on CCD Resolution not adequate for our needs Pros Higher light intensity on CCD Higher resolution Cons Higher cost More delicate/vulnerable to damage FPGA Tasks User interface that gets input from computer (keystrokes) Send stepper motor control signals Read encoder from main axle to know angle of the object Tell camera/CCD when to take pictures Receive RGB data from camera/CCD Send data to computer for processing Control laser on/off and possibly movement FPGA Choices Xilinx or Altera Buy FPGA and design a PCB for it Could be costly and difficult Less I/O options Efficient and small Buy dev. Board Simplest method b/c board already designed Many prebuilt I/O options ex. Rs232, USB, GPIO pins etc. Possible Alterations to FPGA Design If camera is hard to control, connect to computer directly via USB Image processing – take RGB data and turn into b/w bitmap Use VGA output for a more self sustaining user interface 3D Plotting Problem: Using points in R3 to generate visually nice 3D pictures represented in 2D. Solution: Use Matlab. Matlab has nice 3D plotting ability with zoom and rotate. May need to create algorithms for better pictures. Eg: Wireframes Cubic Splines Wireframes 3-Dimensional Connect the Dots 1 1 0.5 0.5 0 0 -0.5 -0.5 -1 1 -1 1 0.5 1 0.5 0 0 -0.5 -0.5 -1 -1 0.5 1 0.5 0 0 -0.5 -0.5 -1 -1 Cubic Splines Guessing Between Points Linear Spline Cubic Spline 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0 -0.2 -0.2 -0.4 -0.4 -0.6 -0.6 -0.8 -0.8 -1 0 1 2 3 4 5 Si(x) = m1ix + m2i 6 7 8 9 10 -1 0 1 2 3 4 5 6 7 8 Si(x) = m1ix3 + m2ix2 + m3ix + m4i 9 10 Division of Labor Brad- FPGA Josh- FPGA, Software Mitch- Optics Kai- Optics, Machining Tim- Software, Encoder All- Stepper Motor Schedule Risks Data is inaccurate. Not enough funding available for legit parts. Calibration of camera data is not plausible. CCD interface is too time consuming. Contingency Plans Use a Webcam instead of CCD Use wireframe only instead of smooth imaging. Simply plot points in MATLAB. Extensions Add color to 3D model, scan object for color as well as shape. Interface with 3D printer in the ITLL to duplicate the scanned object. Filter out noise due to vibrations or surrounding light sources from camera data to increase accuracy of scanner. Add another camera to increase the accuracy of the scanner.