Designing a Robot for Designing a Robot for Portable Raman Probe Portable Raman Probe
Positioning:Positioning:The Robo-ScannerThe Robo-Scanner
Presentation OutlinePresentation Outline
ObjectivesObjectives IntroductionIntroduction Hardware DesignHardware Design Software DesignSoftware Design Design AlternativesDesign Alternatives Problems EncounteredProblems Encountered Future GoalsFuture Goals
Main ObjectivesMain Objectives
To design & build a functional prototype To design & build a functional prototype that will correctly position raman probe to that will correctly position raman probe to scan pills & tissue scan pills & tissue
Incorporate Matlab for positioning & data Incorporate Matlab for positioning & data analysisanalysis
Send Matlab outputs to microcontroller Send Matlab outputs to microcontroller Write & implement Assembly code to Write & implement Assembly code to
translate Matlab code into motor translate Matlab code into motor movementmovement
Create model of different pill types Create model of different pill types
IntroductionIntroduction
Raman Spectroscopy [1,2]Raman Spectroscopy [1,2]
• Has numerous medical applicationsHas numerous medical applications• Physics-based technique that detects chemical Physics-based technique that detects chemical
composition of a samplecomposition of a sample• Each chemical has characteristic wavelength shiftEach chemical has characteristic wavelength shift• Can relate the peaks in a Raman spectrum to specific Can relate the peaks in a Raman spectrum to specific
chemicals & compare composition of a test samplechemicals & compare composition of a test sample
Two Applications for Portable RamanTwo Applications for Portable Raman
Raman SpectroscopyRaman Spectroscopy
Portable Verax Raman spectrometer made by InPhotonics
Raman SpectroscopyRaman Spectroscopy
Main ComponentsMain Components Erector setsErector sets Raman probeRaman probe 68HC11 microcontroller68HC11 microcontroller Breadboard/circuitryBreadboard/circuitry CamerasCameras DC step motorsDC step motors Printer railwaysPrinter railways
Hardware DesignHardware Design
First Step: First Step: • Build gantry frame using erector setsBuild gantry frame using erector sets• Purchase & fasten c-channels Purchase & fasten c-channels
Benefits of Gantry Design [3]Benefits of Gantry Design [3]
Perform pick & place applicationsPerform pick & place applications Provide better positioning accuracyProvide better positioning accuracy Easier to program with respect to motion Easier to program with respect to motion
due to X,Y,Z coordinate systemdue to X,Y,Z coordinate system Less limited by floor space constraintsLess limited by floor space constraints
Hardware Design …Hardware Design …
Second Step:Second Step:• Disassemble printer Disassemble printer
componentscomponents• Mount X & Y railways Mount X & Y railways
onto frameonto frame
Hardware Design cont.Hardware Design cont. Third StepThird Step::
• Create wheel mechanismCreate wheel mechanism• Mount cameraMount camera• Mount probe on Z-axisMount probe on Z-axis
Gigaware® 1.3MP PC Camera
Mechanical Design Mechanical Design
DC step motors used from DC step motors used from disassembled printersdisassembled printers
Change initial design concept of Change initial design concept of wheel mechanismwheel mechanism• To decrease drag & friction, remove To decrease drag & friction, remove
rubber treadrubber tread• Reposition wheel on top of c-channel Reposition wheel on top of c-channel
instead of insideinstead of inside
Final Product !Final Product !
Network OverviewNetwork Overview
68HC11
Breadboard
RS 232
Microcontroller DiagramMicrocontroller Diagram
Electrical ComponentsElectrical Components
LM741CN Op Amp (All 3 inverting)LM741CN Op Amp (All 3 inverting)
Software and Circuit DesignSoftware and Circuit Design
Wiring DiagramsWiring Diagrams
Software DesignSoftware Design
Second Step: Write code using Matlab ToolkitsSecond Step: Write code using Matlab Toolkits• Wavelets (pre-processing)Wavelets (pre-processing)• StatisticsStatistics• Image processingImage processing
Future ToolkitsFuture Toolkits• Camera calibration ~ 3D triangulation of 2 imagesCamera calibration ~ 3D triangulation of 2 images• Image acquisition ~ live video feedImage acquisition ~ live video feed
Matlab Matlab GUIGUI
Software DesignSoftware Design Imaging Processing Toolkit to position robotImaging Processing Toolkit to position robot
• Load video image from file (.jpg) from cameraLoad video image from file (.jpg) from camera• Convert image to grayscaleConvert image to grayscale• Threshold imageThreshold image• Count distinct objects in imageCount distinct objects in image• Find center of each distinct objectFind center of each distinct object• Convert pixel location to robot location Convert pixel location to robot location • Send location to HC11 by serial portSend location to HC11 by serial port
Image Processing ResultsImage Processing ResultsOriginal Image (with pills marked) Grayscale Image
Threshold Image Count Objects In Image
*Results depend on lighting, photo conditions*
Moving the RobotMoving the Robot Check to see if Check to see if
starting from home starting from home position position
Move robot from Move robot from home position to home position to desired pill locationdesired pill location
Collect spectra (use Collect spectra (use separate software)separate software)
Process software and Process software and output resultsoutput results
Move robot from pill Move robot from pill position to homeposition to home
Repeat for next pillRepeat for next pill
Processing DetailsProcessing Details
Preprocess Spectra Preprocess Spectra • Background SubtractionBackground Subtraction• Remove noiseRemove noise• Remove cosmic raysRemove cosmic rays
Principal Component Principal Component AnalysisAnalysis• Reduce dimensionality of dataReduce dimensionality of data
AlgorithmAlgorithm• Discriminant Function AnalysisDiscriminant Function Analysis• Neural Network AnalysisNeural Network Analysis
Spectral ResultsSpectral Results
Testing Assembly CodeTesting Assembly Code
Problems EncounteredProblems Encountered
Consider weight of raman probe in choosing Consider weight of raman probe in choosing initial robotic arm mechanicsinitial robotic arm mechanics
Devising efficient pulley systemDevising efficient pulley system Weight of printer railways & motorsWeight of printer railways & motors High coefficient of friction between wheel & High coefficient of friction between wheel &
aluminum c-channelaluminum c-channel Software development & implementationSoftware development & implementation Camera calibrationCamera calibration Coordinate triangulationCoordinate triangulation
Time constraints Time constraints
Design AlternativesDesign Alternatives
Possible Design Improvements:Possible Design Improvements:
Construct robotic armConstruct robotic arm Addition of proximity sensorsAddition of proximity sensors Swap microcontroller for new Swap microcontroller for new
motion controllermotion controller Incorporate AC servo motors Incorporate AC servo motors
in place of step motorsin place of step motors Autonomous positioningAutonomous positioning
Future GoalsFuture Goals Expand current design by Expand current design by incorporating more incorporating more sophisticated technologiessophisticated technologies
• Implement 3D triangulation using stereo Implement 3D triangulation using stereo camera calibrationcamera calibration
• Combine functions with Nurse-Bot or similar Combine functions with Nurse-Bot or similar applicationapplication
• Use robot for scanning cancerous tissue Use robot for scanning cancerous tissue samplessamples
• Optimize portable robot design requirements Optimize portable robot design requirements for OR usagefor OR usage
• Telepresence i.e. administer medicationTelepresence i.e. administer medication
Grand Finale Grand Finale
Final DemoFinal Demo
ReferencesReferences
[1] Huang, Z., McWilliams, A., Lui, H., McLean, D.I., Lam, S. [1] Huang, Z., McWilliams, A., Lui, H., McLean, D.I., Lam, S. and Zeng, H., and Zeng, H., Near-infrared Raman spectroscopy for Near-infrared Raman spectroscopy for optical diagnosis of lung cancer.optical diagnosis of lung cancer. Int J Cancer, 2003. Int J Cancer, 2003. 107107(6): p. 1047-52. (6): p. 1047-52.
[2] Cao, A., Pandya, A., Serhatkulu, G.K., Weber, R., Dai, H., [2] Cao, A., Pandya, A., Serhatkulu, G.K., Weber, R., Dai, H., Thakur, J.S., Naik, R., Naik, V., Auner, G.W., Rabah, R., Thakur, J.S., Naik, R., Naik, V., Auner, G.W., Rabah, R., and Freeman, D.C., and Freeman, D.C., A Robust Method for Automated A Robust Method for Automated Background Subtraction of Tissue Flourescence.Background Subtraction of Tissue Flourescence. Journal Journal of Raman Spectroscopy, 2006 (in press).of Raman Spectroscopy, 2006 (in press).
[3] [3] http://www.robots.com/faq.php?question=gantry+robothttp://www.robots.com/faq.php?question=gantry+robot