- Posts: 12170
- Thank you received: 4153
Understanding G64 behavior
- rodw
- Offline
- Platinum Member
-
Less
More
4 years 11 months ago #225202
by rodw
Replied by rodw on topic Understanding G64 behavior
If you think about it, its not possible to produce a square internal corner with a round tool but you can on an outside cut. I think this likely expalins the different behaviour.
There is actually some interesting reading about the trajectory planner and how different settings change behaviour in the docs, but I'm sure none of us bother to read it!
There is actually some interesting reading about the trajectory planner and how different settings change behaviour in the docs, but I'm sure none of us bother to read it!
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
-
Less
More
- Posts: 19899
- Thank you received: 4655
4 years 11 months ago #225216
by andypugh
linuxcnc.org/docs/2.8/html/user/user-con...#_trajectory_control
Replied by andypugh on topic Understanding G64 behavior
It depends on the settings, but is mentioned here:If the planner is in fact obliged to touch each segment as you suspect, then that would seem to explain what I saw.
linuxcnc.org/docs/2.8/html/user/user-con...#_trajectory_control
Please Log in or Create an account to join the conversation.
- funkenjaeger
- Offline
- Junior Member
-
Less
More
- Posts: 23
- Thank you received: 2
4 years 11 months ago #225242
by funkenjaeger
Replied by funkenjaeger on topic Understanding G64 behavior
I'm running rack & pinion drives on X and Y axes, so the final drive ratio is lower than you'd have with ballscrews - good for speed, makes the motor work that much harder to accelerate. The machine is a router, very similar in construction to the Avid pro series - I'd guesstimate the moving mass at about 150lb, so it's not nearly as massive as a cast iron mill. The clearpath servos allow you to plug in a USB cable and monitor all sorts of internal signals, including actual position error vs. commanded, with resolution down to the individual encoder count level - captured oscilloscope-style during actual movement. In my early testing where I experimented with higher accelerations I used that extensively. The position error during aggressive moves (e.g. point-to-point move of several inches, long enough to easily reach maxvel of 1250ipm, with 250 in/s^2 accel) showed clearly a slightly underdamped response, indicating that it was not suffering from insufficient acceleration (in which case I would expect a very overdamped response). Also, the peak values of position error even during such a move were on the order of tens of encoder counts; on my machine, between the servo encoder resolution and my drive ratio that works out to on the order of ones to tens of thousandths of an inch. Now that I'm actually running a much lower acceleration operationally it's even better.What type of system are the clear paths running on? I have servos that can't run half that acceleration on linear rails and perfect ballscrews. The napkin is very different then what they deliver once you introduce inertia to them. Just because they are closed loop in their driver doesn't mean they are keeping up with the commanded speeds from Linux CNC. If I remember they only report when they don't complete steps, not if they are keeping up.
Please Log in or Create an account to join the conversation.
- funkenjaeger
- Offline
- Junior Member
-
Less
More
- Posts: 23
- Thank you received: 2
4 years 11 months ago #225243
by funkenjaeger
Replied by funkenjaeger on topic Understanding G64 behavior
Your first point is true, however - this toolpath is cutting a pocket from the inside out, so every corner it cuts there is an inside corner. The tightest internal radius a round end mill can produce is the radius of the tool itself, where the tool follows a path with a perfectly sharp corner (e.g. a perfect right angle in this case). The cut radius I ended up with in the outermost pass of the example above (before defining a tolerance) was on the order of 0.5", about 4 times the radius of the tool. And LinuxCNC doesn't "know" whether it's cutting an inside or outside corner, that distinction would need to come from CAM - which it didn't.If you think about it, its not possible to produce a square internal corner with a round tool but you can on an outside cut. I think this likely expalins the different behaviour.
Please Log in or Create an account to join the conversation.
- funkenjaeger
- Offline
- Junior Member
-
Less
More
- Posts: 23
- Thank you received: 2
4 years 11 months ago #225244
by funkenjaeger
"Blending without tolerance - The controlled point will touch each specified movement at at least one point. "
So I guess that settles it. It seems sub-optimal to me, but knowing that it is behaving in accordance with expected behavior is important regardless of whether I agree with that behavior
Thanks all!
Replied by funkenjaeger on topic Understanding G64 behavior
Yep, you're right - it's a brief mention so I hadn't noticed it:
"Blending without tolerance - The controlled point will touch each specified movement at at least one point. "
So I guess that settles it. It seems sub-optimal to me, but knowing that it is behaving in accordance with expected behavior is important regardless of whether I agree with that behavior
Thanks all!
Please Log in or Create an account to join the conversation.
Time to create page: 2.046 seconds