-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Delta Forward Kinematics (and LOGICAL_POSITION) #4370
Delta Forward Kinematics (and LOGICAL_POSITION) #4370
Conversation
a151ee0
to
a13f6b0
Compare
016c7c4
to
fe8bc5c
Compare
fe8bc5c
to
b6afa02
Compare
Another place where we need to consider the Adding code for that now… b3eb0c8 |
33fc730
to
6dda18c
Compare
6dda18c
to
b3eb0c8
Compare
fa58bd6
to
6b8b458
Compare
I've tested just now, but results of G28 and G29 of DELTA has been exactly same as Yesterday's report again, unfortunately. Commands:
|
I remark that it's by seeing the log. At first, Second, Z coordinate of |
I'm adding more logging! I'll merge the PR within the next few minutes… |
👍 Congratulations. |
I got compilation warnings.
|
Derived from AnHardt#60
Background: Up to now, if you wanted to get the "current position" of a 3D printer based on the stepper positions, you could only do so on Cartesian, Core, and SCARA. We didn't have that for Delta. So when probing, we generally just looked at the distance traveled to figure out where Z ended up. And after a "quick stop" where the steppers were interrupted, there was no way to recover the current position from a Delta.
Considerations: Whenever we use "sub-systems" that rely on an idealized coordinate system (MBL, kinematics, etc.), we need to subtract the coordinate space offsets before using the coordinates. Otherwise
M206
andG92
will cause havoc.Solutions:
set_current_from_steppers
function that works for all kinematics.LOGICAL_POSITION
where needed to add offsets to coordinates.RAW_POSITION
where needed to remove offsets from coordinates.Additional changes:
DELTA
-specific declarations inMarlin_main.cpp
.adjust_delta
withSCARA
(compile errors).SCARA
with ABL.Z_MIN_PROBE_REPEATABILITY_TEST
.