IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection....

22
IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray

Transcript of IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection....

Page 1: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

IPD Technical ConferenceFebruary 19th 2008

Application: Pipette Measurement and Flash Inspection.

Distributor: CPU Automation

Engineer: Mike Bray

Page 2: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Product

Clear plastic pipette used in medical environments.

Page 3: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Specifications

Page 4: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Inspection Requirement

Measure pipette lengths - 3.375 inches +/- 0.020 inches

Look for flattened tips

Look for flash that extends beyond tips

Inner view of tip hole not required

Page 5: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Camera setup

Working Distance: Approximately 13 inches.

Field of View: 3.65 inches x 2.75 inches

1 pixel = Approximately .0058 inches

Page 6: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Product Presentation

Pipettes are retrieved by a pick and place robot in groups of twenty. The pipettes are held vertically in a single row by twenty individual vacuum nozzles that are inserted into the top of the pipettes.

The robot then brings the group of pipettes into the vision staging area where two 640x480 cameras capture an image of ten pipettes per camera.

The lighting consists of a red backlight mounted underneath and shining up into the pipettes.

Page 7: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Hardware

System: IPD vision appliance - VA40

Camera: 2 Telli TM2 Cameras - 640x 480

Lens: 2 Fujinon lenses - 16mm

Lighting: CCS LDL-TP-211x200 - red backlight

Backlight Power Supply: CCS PD-5024 24VDC

CTC PHM-15 monitor with touch screen – 15”

Page 8: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Software

Sherlock 7.1.2.0

Visual Basic 6.0

Page 9: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Application Specific Problems - 1

Need to inspect twenty pipettes at a time.

Standard alignment tools will not work due to varying pipette to pipette positions.

Alignment must be achieved by finding the center of each pipette then re-positioning the Roi's for each pipette. This requires the re-positioning of sixty Roi’s and the calculation of sixty two-element arrays that must contain the x,y coordinates for the new Roi positions.

The top of the pipette is not in the FOV. Top measurement point has to be the step down point (see drawing on frame 3) on the top third of the pipette. This point turned out be difficult to illuminate with standard backlighting.

Page 10: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Application Specific Problems - 2

Multiple data readings for length, tip width and pass/fail are required. All of the data must be stored in arrays.

A Visual Basic interface is required for this application. Arrays have to be passed from Sherlock to VB for displaying results. Because VB can only use dynamic arrays when acquiring elements from Sherlock, special care must be taken to handle missing pipettes as this will change the size of the array expected. This would result in a VB crash.

Customer did not follow our camera mounting recommendations and used large 80/20 stock for camera mounting. This made camera alignment somewhat difficult and time consuming. Eventually the cameras were pinned into place and a “Length Offset” screen was made available in VB to manually correct small skewing of the cameras after calibration.

Page 11: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Sherlock Application Sequence

1. Wait for trigger from robot

2. Acquire images

3. Apply preprocessing to raw images

4. Look for pipette edges using “Edge Count” tool.

5. If twenty edges per camera are found Calculate pipette width centers and populate all “Set Coordinate” arrays for top bottom and width Roi’s.

6. Calculate each pipette length and tip width then populate data arrays.

7. Compare array data to min/max limits, set outputs and status flags accordingly and update saved failed image queue if needed.

Page 12: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Sherlock

Page 13: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Find Pipette Centers

Page 14: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Calculate Lengths

Page 15: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Calculate Tip Widths

Page 16: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Calibration – Four Point w/ custom fixture

Page 17: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Sherlock 7 Benefits for this Application

Sherlock’s powerful logic capability helps in applications where such as this where handshaking with existing control systems is required.

The new enhanced edge tools in 7.1.2.0 helped with stability and consistency in this application.

Scripting was also necessary in this application. Sherlock’s scripting ability helped make this application much easier to implement.

Sherlock’s preprocessors are able to help correct for lighting deficiencies.

The ability to re-locate Roi’s on the fly was also necessary for this application.

Page 18: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Sherlock Improvements needed There are 260 defined variables in this application. Currently the

variable list can only be sorted by their field headings. This makes searching for specific variables difficult at times. Adding a third column that could be used for a user sort index entry would be very helpful.

Currently you cannot enter a value into a variable field while in the run mode. This makes de-bugging difficult.

You cannot move a variable into the watch window. I find this somewhat short sighted. I would like to be able to set up de-bugging scenarios in the watch window that include variables as well as algorithm outputs.

Java scripting lacks some functionality. Simple math functions i.e. rounding anything other than integers are not available. Array manipulation lacks functionality.

More Sherlock functions need to be exposed for Visual Basic and Visual C.

Page 19: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Visual Basic Interface Requirements

Ability to select all camera views and image windows as needed.

Control all modes of vision operation from user and password protected supervisor screens.

A Data Stat screen that will display all array data for length, width and pass/fail.

A password protected Setup screen where limits and tolerances can be entered via an on screen numeric touch pad.

Settings can be saved to an “ini” file located in the application’s VB folder.

Settings in the “ini” file are load when the application is launched.

An Roi offset screen for offsetting the Sherlock Roi positions.

Calibration can be run from the setup screen.

A live camera screen for camera adjustment.

Page 20: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

Main VB Screen

Page 21: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

VB Stats Screen

Page 22: IPD Technical Conference February 19 th 2008 Application: Pipette Measurement and Flash Inspection. Distributor: CPU Automation Engineer: Mike Bray.

VB Setup