oscillation during welding

More
02 Nov 2022 16:49 #255797 by Aciera
Replied by Aciera on topic oscillation during welding
First thing you might want to look at is the problem of getting a smoothly blended 3D path at a constant velocity when using LinuxCNC on a robot. Personally I have a 6 axis serial manipulator but no CAM system that supports it and I have found path blending at a constant velocity to be rather challenging when hand coding. Not sure if others have more success as there is little feedback by users who use linuxcnc on robots.

Please Log in or Create an account to join the conversation.

More
03 Nov 2022 22:53 #255875 by andypugh
Replied by andypugh on topic oscillation during welding
Thinking some more, the system needs to know more than just the current velocity of the controlled point, it also needs to know the current surface normal to know what plane to oscillate in.
Do you have ABC axes in the C-code?

Please Log in or Create an account to join the conversation.

  • rodw
  • rodw's Avatar
  • Away
  • Platinum Member
  • Platinum Member
More
04 Nov 2022 11:01 #255904 by rodw
Replied by rodw on topic oscillation during welding
I think what Andy is aluding to is that motion by a welding torch can be defined on a continually changing plane normal to the weld. think of a ball rolling on the floor with the floor being the plane that has an infinite number of variations based on where the ball touches it. Linux has a finite number of planes as defined in canon.h 
enum CANON_PLANE
{
    CANON_PLANE_XY = 1,
    CANON_PLANE_YZ,
    CANON_PLANE_XZ,
    CANON_PLANE_UV,
    CANON_PLANE_VW,
    CANON_PLANE_UW,
};
 

Which are derived from the g17-g19 commands linuxcnc.org/docs/devel/html/gcode/g-code.html#gcode:g17-g19.1
It is possible to hack the interpreter as I attempted to do here
github.com/rodw-au/linuxcnc/tree/arc-radius
and discussed here github.com/LinuxCNC/linuxcnc/pull/900
You can calculate the heading in real time and other data at the interpreter level and pass it back to motion by extending the state tags structure and then publish this data as motion pins. But the heading is only defined in terms of the gcode planes. So a straight line weld going from x=0,y=0,z=0 to x=100,y=100,z=100 is not traced on one of the linuxcnc planes.

There is another approach that may work for welding (as the weave does not need to be precise - my weaving certainly isn't :) ). I tried this but did not have any luck with it. A custom component could look at the x,y,z positions this servo thread cycle and the previous servo cycle and determine the heading based on simple? trig. I was only interested in motion on the XY plane. If the motion was mapped in this way on the XY, XZ and YZ planes, it would define the plane the motion was following and external offsets could be computed to define 3 dimensional weaving.

Good luck!
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

More
04 Nov 2022 12:22 #255907 by andypugh
Replied by andypugh on topic oscillation during welding
Actually, it is even more complicated than that.

It's relatively easy to work out which direction the controlled point is moving in XYZ space.

What is more difficult is to work out what the axis of the weave needs to be,

Two simple situations are a butt weld in a pipe and welding a flange onto the end of a pipe (from the open end, which I doubt they do, but bear with me) (Z along the pipe axis)
In the first case there needs to be a wave along the Z axis (only( at right-angles to the XY path.
In the second there needs to be a combined XY move at right-angles to the path to put in a radial weave. If the weave is in Z in that case it all goes wrong.

And those are two of the simpler cases, if the machine is welding along a complex curve then the weave direction needs to continuously change too.

I think that the general solution is that the weave needs to be normal to the path and also normal to the torch axis. But that rather requires access to the torch A and B angles to compute that.

This can _probably_ all be done in HAL. Not perfectly but good enough to wave a welding torch.
The following user(s) said Thank You: rodw

Please Log in or Create an account to join the conversation.

Time to create page: 0.105 seconds
Powered by Kunena Forum