Klemen Dovrtel wrote:
>
>> ... Just trying to get my head around why do you want to do
>> totally
>> independent movement of axes?
>>
>> If it is an intellectual exercise, that I can go
>> with.  I just don't
>> see the practical need.
>>
>> thanks for helping me understand, ... Jack
>>      
> My idea is to control a pick and place machine...
> I would like to change the tool while moving the machine (the tool changer 
> would be mounted on head of machine) I would also like to install a fly 
> camera like this ( http://www.youtube.com/user/madelltv#p/u/1/OU-EJStWjkM ), 
> which would check the position of picked IC while moving.
>
> Using two computers each running emc seems a good solution. How can i connect 
> two computers together? Can emc somehow send command to other machine?
>    
You can physically connect two machines via external wires, similar to 
how you might connect a tool changer PLC.  I think you could also run 
one instance of EMC2 on the "display" machine, and run a remote GUI 
connected to the other one via the network.
> AND i would also like to somehow edit the G code in the middle of program 
> execution based on camera view. I would use openCV to generate G code to 
> edit/correct the end position or maybe communicate with HAL directly if 
> possible.
>    
What you want to do isn't a good fit for EMC2, but you could certainly 
build something on HAL and its hardware drivers.

The package you get when you install EMC2 is really three parts:  HAL, 
EMC2, and several GUIs.  In this context, EMC2 is a special set of HAL 
modules and userspace programs that are intended for CNC-type machine 
control.  The (userspace) interpreter is meant to transform G-code into 
motion instructions for the motion controller. The motion controller is 
meant to control exactly one tool position in 3-space (or 6-space 
really, if you consider orientation).  The important things about 
controlling that position are coordinating motion of multiple machine 
joints simultaneously, and making sure that the point follows a specific 
path or contour.  EMC2 is very flexible about how it controls that one 
point (the tooltip), in that you can use machines that don't have 
cartesian axes, while still programming your G-code in cartesian XYZ 
coordinates.

Fundamentally though, the parts of EMC2 that deal with multi-axis motion 
and G-code are intended to make only one thing happen - move the tooltip 
along a particular path at a particular speed.

You have a different motion problem - you don't care what path the head 
takes to get to a place point, you only want to be sure that it's really 
there before sticking the part on the board.  There are various things 
that have to happen to pick up and drop a part (vacuum on/off, sensing 
vacuum to know if you have the part or not, cameras to see if it's 
rotated or off center, etc).  G-Code has no provision for automatically 
doing all these things for you.  Ladder logic can certainly all that for 
you though.  If you want to use a camera, you'll probably have a 
userspace application doing the image analysis, and you'll want the 
program to pause while the offsets are being determined.  You may want 
motion to continue as a speed optimization, but then you still want to 
delay the placement of the part until after the image analysis and any 
necessary offset motion are done.

What you may want to do is think about writing a separate motion 
controller and interpreter for pick and place, one that uses HAL for the 
realtime motion control, I/O, and ladder logic.  There's a pretty 
standard file format that PCB CAD programs will spit out (a centroid 
file, not to be confused with the CNC control company of the same 
name).  This contains the part name, XY location and orientation of each 
part to be placed.  Since the machine has to do the same thing every 
time it picks something up and puts it down, there should be no need to 
include all those commands in the file - just a list of locations and 
orientations would suffice.  There's more setup than that for sure, like 
entering the reel locations and part spacing for each reel, but it's a 
start.

- Steve

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to