On Dec 27 2015 10:47 AM, Jon Elson wrote:
> On 12/26/2015 07:59 PM, Neil Whelchel wrote:
>> Hello Jon,
>> It is not a retrofit. MyData has used Linux since about 1993 on all 
>> of
>> their machines,
>
> WOW, I'd never heard this!

I did a little fact checking on the net and could not immediately 
verify.  If this is truly the case, it is likely one of the oldest (if 
not oldest) commercial use of Linux out there (and has a 22 year success 
rate running in industrial operations).  That would be big PR for both 
MyData and Linux.  We should verify this and document it on Wikipedia 
and elsewhere.

>>   for a short time before that they used Xenix, but the Xenix
>> versions never worked well.
>
> I have heard there were problems with the older MyData
> machines just going crazy sometimes.
>
>>   The software is called TpSys, it is a
>> collection of C, Perl, and bash programs, about 300 of them. The 
>> design is
>> fantastic and well thought out. They are also extremely reliable, 
>> and
>> stable both hardware and software.
>> Here is a video of someone setting up a machine, this video is one 
>> of the
>> few that allows you to see the UI.
>> https://www.youtube.com/watch?v=UdJxuux0r28
>> Here is a video of the machine in action. The red flash that you see 
>> is the
>> up looking camera. It looks at the parts that the 9 vacuum tweezers
>> (nozzles) are holding as they move past to make a precise 
>> measurement of
>> the locations of the pins on the parts so that it can calculate the
>> position offset and rotation of the part when it places it on the 
>> board.
>> These machines typically place pins to within 0.0005 inches.

two things come to mind here.  If MyData is Linux based, then we should 
be able to request a copy to study and learn what that tells us about 
how the UI is designed.

Also, you should be able to do something similar with the cameras.  If 
it were me I would start with, and Nick I know this might touch a button 
;-), to start with OpenCV get the algorithms down and then move onto 
something less heavy weight unless we want to keep the power of OpenCV.  
Implementing something like a Haar transform to detect edges, etc., is 
really not that hard.  I would want to do things with it like find the 
centroid of a hole, a milled pocket, or fiducial mark.  We can use spot 
drilling some holes with an end mill to calibrate the camera position...

> Hmm, that sounds really GOOD!  I think my repeatability is
> probably closer to .005" or so.  Just BARELY good enough for
> anything finer than SOIC lead pitch.

I think you can probably get much, much better than that.  The real 
question is what is the precision of all the various components.  I 
would never expect something like a BlackToe inspired P&P machine 
<https://buildyourcnc.com/PickandPlaceMachineTheredFrog.aspx>to do any 
better than .005" on the TPI, but a general rule of thumb would be to 
have your sensor measure at least 5x (and preferably 10x) what you hope 
to achieve.  That would mean if the MyData can reliably give you .0005" 
that means that the step size of the machine needs to be at least .0001 
or .00005" and the pixel resolution would need to be down in the .00005" 
or less range.  That is not a problem with macro lenses, and frankly if 
we constrain the system that the center pixel is camera(0,0) then you do 
not have to worry so much about slight variations in the thickness of 
the boards/parts which can/will cause a parallax problem.  Anyway, there 
are simple fixes for that.  We can also look at setting up two or more 
cameras and deriving a simple 3D geometry from the parts -- is it flat?

>> https://www.youtube.com/watch?v=M-aWoHl6pyM
>> I have extensive experience with these machines, I am happy to 
>> answer any
>> questions that you might have about them, but I am not sure that 
>> this is
>> the right place to have this conversation unless the rest of the 
>> Linuxcnc
>> developers are interested in listening in on this tangent...
>
> Some may be interested.  Anyway, I already have the Philips
> CSM84, and will stick with it until something major breaks.
> Then, I'd have to consider what to do next.  Retrofit or a
> whole new (used) machine.

I would be interested for reasons other than pick and place.  I need to 
add though that this is a curiosity for me and a major interest.  You 
have nearly 20 projects in from to capture a non trivial bit of my time. 
On the other hand, if this can be combined with other needs...

>> But since we are here, I will put in my 2 cents worth.
>> I have been following the OpenPnP project for some time, and as far 
>> as I
>> can tell, they have some (extremely) good ideas, but they are headed 
>> in the
>> wrong direction. It is not likely ever going to be in a position to 
>> be a
>> good retrofit tool for anything, it will likely only work good on 
>> hobby
>> machines.
>
> Yes, you seem to have the same view as me.

I am curious about what they got right and wrong in your opinions.  I 
have heard of the project, but never had a need...

>> The entire concept of using G-code for a PnP machine is not a good 
>> idea on
>> any level.
>
> Right.  It is what is there, but not a proper fit to the task.

So what do they use?

>>   However, Linuxcnc can help here. You can control Linuxcnc
>> directly with its Python API, so it would be a good match to use 
>> Linuxcnc
>> to handle the realtime robotics and IO, but the PnP logic would have 
>> to be
>> created. If someone were to do this (properly), such a project would 
>> be a
>> likely retrofit for old PnP machines.
>>
> Yes, this makes a lot of sense.  If Linux/HAL/Python was
> handling all the motion-level stuff, it could make a PnP
> program with extensive error recovery a much smaller project.

Do you have one you could test on?  Or something you can set up as a 
test bench?  I would be interested in following your progress, but I am 
unlikely to be free to contribute.  I do know of someone that 
wants/needs a custom parts machining center.  This type of logic process 
would likely be more amenable.

   EBo --

------------------------------------------------------------------------------
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to