Hello Guest it is March 28, 2024, 10:32:14 PM

Author Topic: dual arm control  (Read 8202 times)

0 Members and 1 Guest are viewing this topic.

Re: dual arm control
« Reply #10 on: February 20, 2009, 12:38:12 PM »
Seems to me the Mach3 part of it is pretty straight-forward, and there's no question Mach3 is more than capable of controlling the machine.  Mach3 can control six axes, and you have six axes to control.  The real challenge is the G-code generation, which is mostly an exercise in kinematics and coordinate system transformation, and not something anyone here is likely to be able to help with.  The motion of each arm can be exporessed by some fairly simple equations of motion, so you can come up with a means of mapping any given X/Y position in the drawing to a set of coordinates for one of the two arms.  You clearly need to be able to partition the drawing into sections to be drawn by each of the arms, such that they won't crash into each other while drawing.  This pretty much has to start with splitting the drawing down the middle between the two gantries, then perhaps shifting that dividing line one way or the other to "load balance", if the line density is not pretty consistent on the two halves.  Then, you have to translate the 2D vectors comprising the drawing into the 3D movements of the arms, doing the necessary kinematic permutation from cartesian coordinates to the machines coordinate system.  Given the euqations of motion for the arms and gantries, this should not be fundamentally difficult.  Finally, you need to output the G-code, merging individual moves for the two arms into single G-code move commands that will complete in essentially the same period of time, so you keep both arms busy drawing at full speed as much of the time as possible, rather than having one axis running full speed, while the other moves a low speed because it has a shorted line to draw.  All perfectly do-able, but that last part is, I think, not trivial to do efficiently.

Something to consider - it would probably be a lot simpler, and more efficient, to have two computers, and two copies of Mach3 running, one controlling each arm, so you don't have to do as much coordination between the two.   This would make it a LOT easier to keep both of them moving all the time, and eliminate that last nasty step in the G-code generation.

Regards,
Ray L.
Regards,
Ray L.

Offline Tweakie.CNC

*
  • *
  •  9,196 9,196
  • Super Kitty
    • View Profile
Re: dual arm control
« Reply #11 on: February 21, 2009, 02:53:59 AM »
Ben,

Do you need complete positional control of the two Z axis or is is just 'pen up / pen down' as you would have with a plotter ?.

Tweakie.
PEACE
Re: dual arm control
« Reply #12 on: February 22, 2009, 05:36:24 AM »
Thanks for your new replies.

I'm glad you think it's do-able. I think Using 2 computers may be a way forward, and will simplify the actual drawing part significantly. As for the preparation of the GCode, this is something I will have to spend a bit of time thinking about. I understand that Lazycam can create Gcode from files such as JPEG or DXF. Perhaps this could be something I could look at (as the source image will most probably be a JPEG). If this is possible I could split the image during processing and generate GCode for each part. This could be sent to 2 computers to do the drawing.

As for the Z axis control, Tweakie, It only needs to be pen up/pen down as with a plotter.

Cheers

Benjamin
Re: dual arm control
« Reply #13 on: February 22, 2009, 11:20:17 AM »
Thanks for your new replies.

I'm glad you think it's do-able. I think Using 2 computers may be a way forward, and will simplify the actual drawing part significantly. As for the preparation of the GCode, this is something I will have to spend a bit of time thinking about. I understand that Lazycam can create Gcode from files such as JPEG or DXF. Perhaps this could be something I could look at (as the source image will most probably be a JPEG). If this is possible I could split the image during processing and generate GCode for each part. This could be sent to 2 computers to do the drawing.

As for the Z axis control, Tweakie, It only needs to be pen up/pen down as with a plotter.

Cheers

Benjamin

I don't think *any* off-the-shelf CAM program will do you any good, as it will simply output X/Y/Z moves for a conventional orthogonal axis machine, which is not what you have.  Or would you then post-process the CAM-generated G-code to do the coordinate transform?  That would work, but probably would be extremely inefficient.

Regards,
Ray L.
Regards,
Ray L.