Hello Guest it is April 18, 2024, 09:41:35 PM

Author Topic: Trying to get Mach3/Mach4 to work with Dorna Robot G2Core Arduino Due 5-axis  (Read 1984 times)

0 Members and 1 Guest are viewing this topic.

It looks like to me that mach4 is designed for robots, from website:

Mach4 can control CNC machinery, PLC equipment, and robotics. The core is a full featured ‘brain’ that ensures all input and output devices are coordinated with motion.

All Motion control calculated in the core = less dependence on hardware and associated software driver.

Motion Device Drivers (Plug Ins) have standard format = common level of functionality between components, less complexity, easier and less costly to troubleshoot and support.

New Features Continued

Offline Tweakie.CNC

*
  • *
  •  9,198 9,198
  • Super Kitty
    • View Profile
As in my earlier posting...

Neither Mach3 or Mach4 support full kinematic motion for robot arm control.

Tweakie.
PEACE
I can imagine that Mach could control a robot with only rectilinear motion, X, Y, Z and a couple of rotational axes.  That could suit for example a pick and place application.  But for a robot arm all the motions are rotational, even if you want to move the control point in a straight line, so there would need to be a translation stage in between the Mach trajectory planner and the motion controller to resolve the straight line in say the X direction to appropriate rotational moves.  AFAIK Mach does not incorporate that of have the hooks to do it.

But if you are not convinced why don't you contact NFS sales support and ask them?  They are a commercial organisation so should be able to help potential customers understand the product capabilities. 
I sent a message to support last night and they responded this morning that they don't have a way to do inverse kinematics.  I tried googling if there is a plugin for it but it seems like they all disappeared. 
Hi,
while Mach cannot do inverse kinematics, what Mach and a compatible motion controller can do is generate pulse streams for axis motors and
this it does very well.

If you wrote your own kinematic solver the you could use it to effectively 'feed Mach with Gcode' which would result in the motion controller producing
pulses for your drivers.

Gcode we are familiar with tends to be of the form:
G1 Xnnn Ymmm Zppp
which causes the machine to linearly interpolate from its current position to (nnn,mmm,ppp). We conventionally assume that the axes are mutually orthogonal,
ie X, Y, Z but they could be rotary axes just as well. With that understanding (nnn,mmm,ppp) would be the angular position rather than a cartesian position.
If your kinematic solver were to output a stream of angular positions then you could drive your robot arm.

I use Mach4 and am most familiar with it. The scripting language of Mach3 is called Cypress Enable and is a subset of Visual Basic and is a dogs breakfast. Mach4 uses
Lua, which has its challenges also but it blindingly fast and stable by comparison to VB. You could write a kinematic solver in Lua, which would in turn drive Mach4's core.
Note also you can write C code for Mach4, not that I have done so, so I can't give any details about how its done......but if you'd prefer to use C, and for a kinematic solver
I can well imagine C would be preferrable.

Are you up for a software challenge?

Craig
'I enjoy sex at 73.....I live at 71 so its not too far to walk.'
My software days are over.  I am willing to hire someone for this or even better if chatgpt could be used to write the code.  Does anyone know what I should tell chatgpt so it does this for me? 
Hi,
have you bothered to do any research on kinematic solvers?

Google IKFast, its an open source kinematic solver.

I think the expectation that someone else is going to do it for you is a joke. If you cant be bothered to do anything why should anyone else?

Craig
'I enjoy sex at 73.....I live at 71 so its not too far to walk.'
.....even better if chatgpt could be used to write the code.  Does anyone know what I should tell chatgpt so it does this for me? 

Well I guess in principle you would have to fully define the function of the code you want chatGPT to write.  For example you could write it in C - but then you'd have solved your problem.
Hi,
have you bothered to do any research on kinematic solvers?

Google IKFast, its an open source kinematic solver.

I think the expectation that someone else is going to do it for you is a joke. If you cant be bothered to do anything why should anyone else?

Craig

I googled it for 5 minutes yesterday and had no luck, had to jump on to other projects.  I usually post here to get some leads.  Will look into google ikfast thank you.