I built a pick-and-place robot to streamline Los Alamos' semiconductor chip production operation. The outcome of this project was an automated delta robot that removes semiconductor chips from a diced wafer and transfers them to a tray using a pneumatic system.
I developed C++ Image processing software and designed components in SolidWorks and Fusion 360 that were critical for fulfilling project requirements.
Transport semiconductor chips from a die ring to a tray and replace the manual process, which is inefficient and ineffective
Utilize a delta robot design with image processing and a pneumatic end effector that locates and transports semiconductor chips
The Pick-and-Place robot transports 100% of chips from the tape to the tray without damage and minimal operator intervention
I designed the middle plate with modularity and scalability in mind to ensure Los Alomos' trays and rings are compatible even if they change size. The drawing to the left contains necessary dimensions with proper application of ASME Y14.5 GD&T, including positional tolerancing. If I redesigned this, I would replace each row of holes with a single slot to reduce manufacturing time on the water jet.
With variable lighting conditions, robust image processing to detect the x and y-coordinates of chips and tray slots was critical. Here is the result, which successfully identifies each chip center with a numbered green dot and each slot center with a numbered blue dot. Each dot is recorded in an Excel database with x and y coordinates.
Visualization of Early Edge Detection with Square Contours
Visualization of Detected Center Points (Green) and Interpolated Points (Red)
Refined Result of Successful Square Detection
Because lighting conditions can vary, the program compensates by iterating between combinations of brightness and exposure values to find the best image condition for square detection
The center of each square needs to be located and labeled
Each square slot has two gaps on either side
Square detection used for the chip wafer will not work because of the gaps
Used Template Matching to detect each square with OpenCV
One square is used as a template
Image scan for areas that resemble the template
Threshold value allows for discrepacies