LinuxCNC S-Curve Accelerations

More
9 months 6 days ago #341885 by grandixximo
We make machines, on our factory floor, we always have 3-4 machines on the floor I can test, some complete some partially because in construction. our customers have multiple shops running LinuxCNC, but it is in the background, and they don't really know, they only look at CAM, CNC for them is mostly open gcode start, regulate feed, stop if have problem.
The biggest changes we made you have them now in master, not sure how my implementation can help, and it is not in the scope of the OP.

---
test signature

Please Log in to join the conversation.

More
9 months 6 days ago #341892 by Becksvill
Agreed it's outside the scope of the OP

Just once again thanks for everything.


I'll go back to watching and hoping you guys get this running nicely


Cheers andrew

Please Log in to join the conversation.

More
9 months 5 days ago #341893 by Aciera
To come back to your original question, if I were to look at the gcode running on those machines, would I see more code running in G61or G64 mode?

Generally, how important is constant velocity along the toolpath for your applications?  

Please Log in to join the conversation.

More
9 months 5 days ago #341912 by grandixximo
I mostly run G64 P0.05 in metric, G64 P0.002 in inches, G61 is afterthought for us, but will be tested...

---
test signature

Please Log in to join the conversation.

More
9 months 5 days ago #341915 by grandixximo
github.com/grandixximo/linuxcnc/tree/9d

This is phase 0 completed, according to my plan, this is extremely experimental work in progress, there are known issues at the moment, no arcs no blends, no scurve, as illustrated by the plan you can find at this post, which I got not much feedback..

forum.linuxcnc.org/38-general-linuxcnc-q...ons?start=640#341856

Next phase it is IMO too hard to be vibe coded, but I will try in my spare time.

---
test signature

Please Log in to join the conversation.

More
9 months 4 days ago #341938 by Aciera
I'll try to have a look at the '9D' branch later. Thanks.

which I got not much feedback..


Just as a word of caution from my own experience:
You mustn't expect to much from a forum thread like this. Few people will even read a post that long, fewer still look at the code and hardly anybody will even try to understand it. I know of at least one long time contributor, since retired, who got quite bitter about trying to get sustained and involved feedback here. Even from the very people asking for the specific feature.

Please Log in to join the conversation.

More
9 months 4 days ago #341942 by Aciera
I notice that you mention the use of 'ruckig', is this a decision you made or is that something AI suggested?
According to this statement (which I have not verified )the 'ruckig' library is not free for more advanced uses. (Not that this must necessarily be a deal breaker):
forum.linuxcnc.org/38-general-linuxcnc-q...nner?start=70#320906

[edit]
there seems to be a ''community" and a "pro" version of ruckig:
docs.ruckig.com/md_pages_2__intermediate__waypoints.html

There seems to be little information about the 'pro' version:
github.com/pantor/ruckig/issues/78

Please Log in to join the conversation.

More
9 months 4 days ago #341943 by Aciera
I'm a bit weary of anything that comes out of AI.
Could you give a bit more background information as to how you came up with these outlines? In other words: Are these the result of conscious deliberation or is that a product of AI?

### Architecture Principles

**RT thread (250µs capable):** Only evaluates pre-computed polynomials. No planning, no Ruckig, no kinematics. Just `position = evaluate_polynomial(t)` and send to drives.

**Userspace:** All heavy computation. Ruckig, backward velocity pass, kinematics, blending. Not tied to servo cycle.

**Predictive Handoff:** When replanning is needed (feed override, etc), userspace plans from a predicted future state, not current state. RT continues executing until the handoff time, then seamlessly transitions. This decouples userspace latency from RT determinism.

**Buffer Management:** Track buffer in TIME, not segment count. Short segments and long segments treated appropriately.

Please Log in to join the conversation.

More
9 months 4 days ago #341947 by grandixximo
Ruckig, I think we just need the math based on the math paper I think. Don't actually need to build the thing inside linuxcnc.
I proposed a minimum of 250us because that's what other users here expressed, otherwise you could run ruckig in the servo, but I thought better keep it out, even if advertised as 50us, some calculations seems known to exceed this advertisement. The handoff was my concept idea. Inspired by how CPU have predictive branching

---
test signature

Please Log in to join the conversation.

More
9 months 4 days ago #341948 by Aciera
Sounds all sensible to me but I really don't feel competent to comment on the proposed path.
I certainly like the structured approach of your initiative, that is something that has been sorely lacking in other attempts.
I think/hope that Rob will be able to give an educated opinion on it and help shape it into a concrete roadmap.

Note that Mitsubishi SSCNET requires a servo cycle <= 222us
forum.linuxcnc.org/9-installing-linuxcnc...cnet?start=70#256576

Please Log in to join the conversation.

Time to create page: 0.272 seconds
Powered by Kunena Forum