Coordinated Motion involving rotary axis

More
21 Sep 2015 03:24 #62822 by wn007
Not sure if this is the right place to post this but here goes:

We have hit a road block performing coordinated moves involving X,Y and A (rotary) motion. Basically it involves a series of small moves that definitely require look ahead to perform at a reasonable speed. Through my searches I have learned that the trajectory planner only performs look ahead in x,y and z. There does not appear to be a notion of including the A axis as it moves in degrees/min. The result is that it moves too slowly while coordinating the moves. I cannot optimize the gcode any other way as it must move the A axis in conjunction with the two linear axis. Hoping thet someone may have a suggestion, or have run into this or a similar issue. Here is some of the G code. In this version, we are attempting to use Inverse Time, but either with G94 or G93 it behaves the same.

G20
G90
G94
G1 B16.3678 F100
G1 Z1.015 F100
G1 X9.3 F100
G1 Y10 F100
G93
G1 X9.1606 Y9.9867 A88.0510 F6000
G1 X9.1601 Y9.9734 A88.0437 F6000
G1 X9.1596 Y9.9601 A88.0365 F6000
G1 X9.1592 Y9.9468 A88.0293 F6000
G1 X9.1589 Y9.9335 A88.0221 F6000
G1 X9.1583 Y9.9202 A88.0149 F6000
G1 X9.1578 Y9.9069 A88.0077 F6000
G1 X9.1575 Y9.8936 A88.0005 F6000
G1 X9.1575 Y9.8803 A87.9933 F6000
G1 X9.1564 Y9.8670 A87.9861 F6000
G1 X9.1561 Y9.8538 A87.9789 F6000
G1 X9.1557 Y9.8405 A87.9717 F6000
G1 X9.1555 Y9.8272 A87.9645 F6000
G1 X9.1555 Y9.8139 A87.9573 F6000
G

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

More
21 Sep 2015 15:32 #62829 by Rick G

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

More
21 Sep 2015 21:27 #62831 by wn007
I took a look at the links.

Question: Does G64 override G61? I can play with the P and Q values for G64 and see if it makes a difference. My concern is how LinuxCNC interprets it when there is a rotary move involved in each line?


Thanks.

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

More
22 Sep 2015 00:14 #62838 by Todd Zuercher
G64 and G61 are mutually exclusive (one will replace the other).

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

More
22 Sep 2015 05:42 #62842 by BigJohnT

I took a look at the links.

Question: Does G64 override G61? I can play with the P and Q values for G64 and see if it makes a difference. My concern is how LinuxCNC interprets it when there is a rotary move involved in each line?


Thanks.


G61 G64 (no P) and G64 P are in the same modal group so when you change the control mode it sticks until you change it again.

linuxcnc.org/docs/html/gcode/overview.html#_modal_groups

JT

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

More
22 Sep 2015 22:52 #62860 by andypugh

My concern is how LinuxCNC interprets it when there is a rotary move involved in each line?.


I would not be surprised to find that all coordinated rotary motions are exact-stop. The path blending tolerance is given in linear units, and there is no way to know how angular error correlates to linear error. (the axis origins might be at the rotation axis, but they might equally well be at the part surface, simply depending on setup and coding style).

If you are making large enough numbers of specific parts then a workaround might be to create a configuration where the rotary axis is represented in G-code as a linear axis. This would involve scaling the rotary axis motor to inches/mm of circumference for the parts being made. The scaling would need to be different for different parts.
The scaling could actually be set from G-code, but you would have to remember to do so or unexpected results would ensue.

A realise that this is not an ideal solution. But I don't know what is given the limited information about machine geometry that the interpreter has.

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

More
24 Sep 2015 15:51 #62939 by Rick G

I would not be surprised to find that all coordinated rotary motions are exact-stop. The path blending tolerance is given in linear units, and there is no way to know how angular error correlates to linear error. (the axis origins might be at the rotation axis, but they might equally well be at the part surface, simply depending on setup and coding style).

That does seem logical, so I tried a little test...
%
f100
g0 x0 y0 z0 a0
g64 p.05 q.05
g1
x	0.01	y	0.01	a	0.01
x	0.02	y	0.02	a	0.02
x	0.03	y	0.03	a	0.03
x	0.04	y	0.04	a	0.04
x	0.05	y	0.05	a	0.05
x	0.06	y	0.06	a	0.06
x	0.07	y	0.07	a	0.07
x	0.08	y	0.08	a	0.08
x	0.09	y	0.09	a	0.09
x	0.1	y	0.1	a	0.1
x	0.11	y	0.11	a	0.11
x	0.12	y	0.12	a	0.12
x	0.13	y	0.13	a	0.13
x	0.14	y	0.14	a	0.14
x	0.15	y	0.15	a	0.15
x	0.16	y	0.16	a	0.16
x	0.17	y	0.17	a	0.17
x	0.18	y	0.18	a	0.18
x	0.19	y	0.19	a	0.19
x	0.2	y	0.2	a	0.2
x	0.21	y	0.21	a	0.21
x	0.22	y	0.22	a	0.22
x	0.23	y	0.23	a	0.23
x	0.24	y	0.24	a	0.24
x	0.25	y	0.25	a	0.25
x	0.26	y	0.26	a	0.26
x	0.27	y	0.27	a	0.27
x	0.28	y	0.28	a	0.28
x	0.29	y	0.29	a	0.29
x	0.3	y	0.3	a	0.3
x	0.31	y	0.31	a	0.31
x	0.32	y	0.32	a	0.32
x	0.33	y	0.33	a	0.33
x	0.34	y	0.34	a	0.34
x	0.35	y	0.35	a	0.35
x	0.36	y	0.36	a	0.36
x	0.37	y	0.37	a	0.37
x	0.38	y	0.38	a	0.38
x	0.39	y	0.39	a	0.39
x	0.4	y	0.4	a	0.4
x	0.41	y	0.41	a	0.41
x	0.42	y	0.42	a	0.42
x	0.43	y	0.43	a	0.43
x	0.44	y	0.44	a	0.44
x	0.45	y	0.45	a	0.45
x	0.46	y	0.46	a	0.46
x	0.47	y	0.47	a	0.47
x	0.48	y	0.48	a	0.48
x	0.49	y	0.49	a	0.49
x	0.5	y	0.5	a	0.5
%
Using the 9 axis sim (with new Trajectory planner enabled) on 2.8 the velocity seems to be constant and the same for G64 and G64 P.05 Q.05
However with G61 the velocity is choppy and slower.

Rick G

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

More
24 Sep 2015 18:17 #62941 by andypugh

Using the 9 axis sim (with new Trajectory planner enabled) on 2.8 the velocity seems to be constant and the same for G64 and G64 P.05 Q.05
However with G61 the velocity is choppy and slower.


That seems to suggest that it is exact-path (no blending) but not exact stop.

I am perhaps getting terms mixed up, does G61 actually stop at the end of each move before starting the next?

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

More
24 Sep 2015 19:51 #62943 by Todd Zuercher
I ran your test on the 9-axis sim as well because you didn't mention the actual velocities achieved (and I wanted to know). And what I saw, I believe, is what I've suspected, that when movements are made in any other axis than XYZ the planner reverts to the old trajectory planner and its must be able to stop by the end of the next line look ahead, therefore full speed is never achieved with short line segments. (unless the acceleration is high enough to go from 0 to full speed within the length of the next line segment) When the test file is restarted and the tool retraces its previous movement in a single command, full speed is achieved.

I do not know if any work is being done to extend the new trajectory planner beyond XYZ.

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

More
24 Sep 2015 20:30 #62944 by Todd Zuercher
Further testing I think shows it. I ran that test file as is, with A replaced with W and with only XYZ and this was the result. The velocities for A and W were identical, and XYZ was as you'd expect.
A-Test


W-Test


XYZ-test
Attachments:

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

Time to create page: 0.162 seconds
Powered by Kunena Forum