Marlin Delta effector-to-rail “crash prevention”?
February 24, 2020 11:19PM
This is a “Can Marlin do THIS?” kind of question that I hope some of you will find interesting enough to humor me with and entertain here.

I have this dream project in mind that involves (among other things) a very strange Delta-type printer with these funny attributes:

(I’ve attached a PNG picture that I hope conveys the key geometric concept at work.)

1: The three vertical rails “hang from the ceiling” rather than reach up from the ground. So you can roll a Hot Wheels car right under the vertical rails without crashing into them. (This involves a bunch more above-structure than the convention, but it’s worth it.)

2: The six sticks that connect the effector to the three vertical carriages – typically straight carbon fiber rods – are instead NOT straight, but rather custom made, by me, to have a special funny shape.

Here’s the point:

You know how a vacuum cleaner is cleverly articulated to reach a certain distance under a coffee table or couch, before colliding with it? It’s like that.

The point is to enable a cylindrical build volume that is both:
1: quite short (sigh, oh well)
…but crucially…
2: much WIDER
…than would otherwise be possible, given the vertical rail spacing.

Were it not for the “hanging” vertical rails, and the funny-shaped six connecting rods, the effector (or the connecting rods) would obviously crash into the vertical rails, when commanded to move to the outer edge of its build volume.

But the whole point of this physical design is to prevent exactly that crashing, so long as the effector is “hovering” low and rather close to the build plate.

OK! So!

When it comes to physical geometry, and whether element A can be ensured NOT to physically collide with elements B or C, when the effector is commanded to position X/Y/Z, that part I can handle. That’s just geometry, and it’s either geometrically possible or impossible. Easy.

[And look: If your mind is screaming “Look you dummy! Just make a big normal Delta printer! This is stupid! Why are you making this hard?”, I completely understand. It’s because I’m not telling you everything yet. There IS a greater story here that actually requires this, which I’d be happy to go into here, AFTER my firmware uncertainty is resolved.]

But here’s where I’m clueless:

What I don’t know is whether Marlin (or some other firmware?) will even allow this.

I’m worried that when I give it a X/Y/Z position in the G-Code, Marlin will say:

“Look dummy. No. That’s not possible. I’m not doing it. Your three vertical rails are each r=5 inches from the center of the build plate, but you’re telling me to move the effector to a place r=6 inches from the center? No. Impossible. You’re too stupid for this. Find another hobby.”

…even when in THIS particular case, I’ve gone through all these goofy geometrical contortions to MAKE it possible.

So:

Q1: Is my worry realistic?

Q2: Or rather, does Marlin just trust that I’ve correctly defined the geometry of my build-volume, and won’t second-guess me that a commanded position, within that volume, “shouldn’t” be possible because it would typically guarantee colliding with a vertical rail?

Q3: Or rather-rather, does Marlin offer exactly this second-guessing, as a helpful feature, but I’m still able to #define something to override it?"

Etc.

This is a lot of words. If any of you need some money to give answers, then just inform me please. And even if the correct answer is “yeah man, sorry, but Marlin won’t let you do this”, then that is STILL the information that I need, and is very much appreciated.
Attachments:
open | download - Delta printer reaching under the rails.png (973.5 KB)
Re: Marlin Delta effector-to-rail “crash prevention”?
February 25, 2020 11:13AM
OK OK I'm getting some great beginner's luck going for me.

I've been searching around and am learning about things like
o void calculate_delta(float cartesian[3])
o DELTA_RADIUS
o DELTA_CARRIAGE_OFFSET
o DELTA_EFFECTOR_OFFSET
o delta_tower1_z
o delta_tower2_z
o delta_tower3_z
o some nice "delta inverse kinematics" PDF's that some people have written
...and things like that.

So when it comes to the low-down nuts and bolts of this, if I need to change anything for when certain "offsets" go from positive (typical) to negative (atypical), and apply an "abs" here or there, or whatever, I'll be able to find those places and hack them if I need to.

Now there might be some higher-level "checks" and "protections" further up-stream of this trigonometry, like in the Repetier host of whatever, but I'm not expecting anyone to know what all of those are here. If I trip over any wires between A and B, well, then that's the only way I could expect anyone -- especially myself -- to actually end up knowing where they are anyway.

So. Thanks. And if you have any further comments, please don't hold back.
Sorry, only registered users may post in this forum.

Click here to login