Is there a "no go zone" feature of any kind?

  • Vector
  • Vector's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
17 Mar 2025 22:03 - 17 Mar 2025 22:04 #324151 by Vector
This is a weird-ish question, but LinuxCNC is so vast, I thought I'd ask:

I have a build where I'm making a trunnion inside the same area where the XYZ axis operates. Now that trunnion is growing up to have parts attached to it...

Is there a way to define a "no go zone" within the XYZ build box so that I don't accidentally crash into it?

It would need several different sections, ie, a series of boxes could be defined within which the controller is supposed to know that's not OK and send that 'move would exceed limitations' message if I tried to violate it.

I'm thinking the answer is "with great complexity comes great responsibility..."

But I thought I'd ask.

Cheers. 
Last edit: 17 Mar 2025 22:04 by Vector. Reason: Check box to be notified of replies.

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

  • tommylight
  • tommylight's Avatar
  • Away
  • Moderator
  • Moderator
More
18 Mar 2025 01:22 #324161 by tommylight
Replied by tommylight on topic Is there a "no go zone" feature of any kind?
I am sure there was another topic here with this subject, but limited to XY only, but i can not find, google has gone to c#it and now i am sure about it! :)
I am also sure something was achieved...
The following user(s) said Thank You: Vector

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

  • Aciera
  • Aciera's Avatar
  • Away
  • Administrator
  • Administrator
More
18 Mar 2025 07:46 - 18 Mar 2025 07:59 #324174 by Aciera
It is relatively simple to adjust axis limits during run time using the 'ini' hal pins. However this only allows adjusting the extents of the box that defines the overall work space of the machine. ie you will not be able to cut a cube out of a corner, let alone cut a cube out of the inside of the work space.
Axis gui has a feature that checks the extents of the loaded gcode for limit violations which could probably be modified to check for exclusion zones but this will not include jogging or mdi commands.

[edit]

As an alternative you could monitor the axis positions in hal and stop motion if they enter an exclusion zone. This would work for auto, manual and mdi modes but would not give you a warning before the machine actually reaches those limits.
Last edit: 18 Mar 2025 07:59 by Aciera.
The following user(s) said Thank You: Vector

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

  • Vector
  • Vector's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
24 Mar 2025 22:41 - 24 Mar 2025 22:43 #324844 by Vector
Thanks again!

That last suggesting, to use hal to monitor it...

I'm familiar with setting up the game-pad pendant, and so my recollection is that you add some mux-es and ands and ors to the servo thread, and check for buttons and do the bit-math until you come up with a speed to feed into the jogging speed.

So my first thought is kinda redux that thinking: use the ands and ors and current position pins and create a section in the .ini file for limits which the ands and ors are comparing, and have the logic come up with a on/off value which gets net-ed into the Estop pin.

I think it would either have to
A: anticipate the movement somehow, (because if it used the current position, once you tripped it, you'd have no way to un-trip it. {evil grin}) and I'm clueless on how that would work,
or,
B: it would need some 'override' button, say on the jogging device, to ignore the limits and allow moving it anyway. (That's easy to imagine how it works with a final or statement.)

So the second option seems easier.

With second option, I'm thinking the e-stop button on the GUI would just trip on, everything would stop (you are spanked). Then you'd have use your pendant with override pressed to move somewhere where the e-stop button on the GUI trips back off. Then figure out how to avoid that spanking.

Is there another/better approach that comes to mind?

(I'm probably not counting the risk high enough to actually make it to the proactive action of doing this now... when I crash something badly, then I'll probably do it. Sigh. Sometimes it sucks knowing one's own psychology.)
Last edit: 24 Mar 2025 22:43 by Vector. Reason: Changed B) to B: because B) is a smiley face. Then a grammer change

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

Time to create page: 0.085 seconds
Powered by Kunena Forum