Camera and Computer Vision

A project log for FirePick Delta, the Open Source MicroFactory

An affordable electronics manufacturing system for hobbyists, students, & small businesses. Inspired by RepRap. Powered by OpenPnP/FirePick.

Neil JansenNeil Jansen 07/13/2014 at 14:171 Comment

In this post, I'll explain the importance of Computer Vision and how we plan to accomplish this. I'll also cover the state of our computer vision system and where we're going from here. 

In the picture above, you can see a Raspberry Pi camera, looking at itself in a mirror, in order to see the nozzle, and and parts that might be hanging around there.  We can use computer vision to calculate and adjust the part offset and rotation, to make up for the fact that it's impossible for us to pick a part from a component feeder with enough precision.  We can also use computer vision to calculate the offset of the nozzle to the camera, not only at zero degrees rotation of the nozzle, but also for other rotations, which means we can calibrate out the wobble of the cheap Luer lock syringe tip that we use.  The mirror technique has some challenges though, so we will be offering a traditional upward-looking vision system, via a second camera, in the weeks/months to come.

There are a few different types of vision on an SMT pick and place machine:

This post will focus mostly on the the upward and downward vision.  We won't be able to get the flying vision done before the HaD contest deadline :(

Downward Vision

We accomplish downward vision by attaching a standard Raspberry Pi camera to the end effector.  We chose the Raspberry Pi camera, over something more common, like a USB pen camera or webcam, for the following reasons:

This is all great for a prototype, when development time really matters.  Later on, we'd like to offer cheaper cameras based on cheaper image sensors, like the OV2640, or OV9650, similar to what OpenMV uses :D  We'll need some time to fully integrate this camera into whatever single-board Linux computer we end up using for the commercial version(s).

Upward Vision

Here's an example video of another DIY machine performing upward-looking vision:

We will be adding something like this to our machine in the coming weeks/months.

We can also use the upward-looking vision to calibrate the nozzle-to-camera offset, and the nozzle wobble of our Luer-lock system.  I'll update this post in a few days/weeks hopefully with how we accomplish that.  I'm trying to get some other stuff done this weekend to meet some upcoming deadlines (July 20 video submission for HaD contest, and I'm also trying to have the machine operational before OSCon on July 22-23).

Stay tuned!


matt venn wrote 07/27/2014 at 21:50 point
can you tell me what cv functions you'll be using for the alignment?

  Are you sure? yes | no