Automating something like this isn't a trivial task. It could easily double or triple the development time and costs.
That is true. However, I don't think it is as difficult as people might think. I realize that a big part of doing an automatic pick and place machine is creating the control software but there are ways to reduce the software development effort using open source components. As a professional sw engineer my view is of course biased.
Using a phone would be a terrible idea, as the latency would be poor
That is true if you were to use the mobile phone for controlling the picker/placer head position. However, for simple hand-eye-coordination as it is used today, I think the latency is low enough using a decent modern mobile phone. Saving the display would help keep the cost down. But now that they already include a display lets keep it.
I really love the mechanical design of the machine - its a clean an simple industrial design. I also think that a 2nd generation or variant of this machine screams for an automatic pick and place feature.
I noticed that the display device is featuring a raspberry pi linux system. The way I would upgrade this machine to an automatic pick-n-place machine would be to roughly do the following:
Add 2 stepper motors for xy plane position control
Add 1 small stepper motor for picker/placer head height adjustment (z axis height)
Add 1 small stepper motor for picker/placer head rotation adjustment (rotation in the xy-plane)
Add a calibration pad with colored background between reels and PCB table
Add a PCB with:
- 4 channel stepper motor controller
- I/O for simple control of reel wheel motors
- Suitable microcontroller
- USB interface for connecting to RPI
I would install opencv on the raspberry pi for computer vision control of the picker/placer. I believe the control software can be done relatively simple:
Learning procedure:
1. Register button press to start
2. Register button press to capture pickup position (xyz position)
3. Register button press to capture position on top of colored calibration pad
- Use openCV to trace the contours of the component to calculate component center in the xy plane.
- Save outline of contours (for later calculation of required rotational offset, if any)
4. Register button press to capture placement position
- Use xy-position of calculated component center as target (opencv tracking)
- Save z-axis height
5. Register button press to end pick-n-place procedure
Pick n place procedure:
1. Pick up component using pickup position
2. Move picker/placer head to calibration pad position
- Use opencv to trace the contours of the component to calculate xy center offset and rotational offset
- Rotate picker/placer head if necessary
3. Move picker/placer head into place position in xy-plane
- Adjust xy position by previously calculated xy-offset
4. Lower picker/placer head to final z-axis to place component
Of course, the procedures can be improved and refined using opencv to e.g. recognize PCB solder pad placements and adjust accordingly but I think the above basic procedures will suffice.
There would also be a few additional steps to control the reel wheel motors to automatically feed components but I believe that is solvable with opencv too.
Just my 2 cents worth