aboutsummaryrefslogtreecommitdiffstats
path: root/docs/Kinematics.md
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2017-04-27 11:19:30 -0400
committerKevin O'Connor <kevin@koconnor.net>2017-04-27 12:00:09 -0400
commita97e074022bc6c8f38e228f7cf6f3280da94530d (patch)
treeab22292f07c4070ac3cf53e6748332f5ece82b33 /docs/Kinematics.md
parent917c6aa94a59b830f2b6f4090842187bcd89e5d6 (diff)
downloadkutter-a97e074022bc6c8f38e228f7cf6f3280da94530d.tar.gz
kutter-a97e074022bc6c8f38e228f7cf6f3280da94530d.tar.xz
kutter-a97e074022bc6c8f38e228f7cf6f3280da94530d.zip
docs: Kinematics document image updates
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'docs/Kinematics.md')
-rw-r--r--docs/Kinematics.md41
1 files changed, 22 insertions, 19 deletions
diff --git a/docs/Kinematics.md b/docs/Kinematics.md
index 92de88ad..401554f8 100644
--- a/docs/Kinematics.md
+++ b/docs/Kinematics.md
@@ -73,21 +73,24 @@ flow would result in poor print quality.
To solve this, the "look-ahead" mechanism queues multiple incoming
moves and analyzes the angles between moves to determine a reasonable
speed that can be obtained during the "junction" between two moves. If
-the next move forms an acute angle (the head is going to travel in
-nearly a reverse direction on the next move) then only a small
-junction speed is permitted. If the next move is nearly in the same
-direction then the head need only slow down a little (if at all).
+the next move is nearly in the same direction then the head need only
+slow down a little (if at all).
![lookahead](img/lookahead.svg.png)
+If the next move forms an acute angle (the head is going to travel in
+nearly a reverse direction on the next move) then only a small
+junction speed is permitted.
+
+![lookahead](img/lookahead-slow.svg.png)
+
The junction speeds are determined using "approximated centripetal
acceleration". Best
-[described](https://onehossshay.wordpress.com/2011/09/24/improving_grbl_cornering_algorithm/)
-by the author.
+[described by the author](https://onehossshay.wordpress.com/2011/09/24/improving_grbl_cornering_algorithm/).
Klipper implements look-ahead between moves contained in the XY plane
-that have similar extruder flow rates. Other moves are rare and
-implementing look-ahead between them is unnecessary.
+that have similar extruder flow rates. Other moves are relatively rare
+and implementing look-ahead between them is unnecessary.
Key formula for look-ahead:
```
@@ -158,20 +161,20 @@ To generate step times on Delta printers it is necessary to correlate
the movement in cartesian space with the movement on each stepper
tower.
+To simplify the math, for each stepper tower, the code calculates the
+location of a "virtual tower" that is along the line of movement.
+This virtual tower is chosen at the point where the line of movement
+(extended infinitely in both directions) would be closest to the
+actual tower.
+
![delta-tower](img/delta-tower.svg.png)
-To simplify the math, for each move contained in an XY plane, the code
-calculates the location of a "virtual tower" that is along the line of
-movement. This virtual tower is chosen at the point where the line of
-movement (extended infinitely in both directions) would be closest to
-the actual tower.
+It is then possible to calculate where the head will be along the line
+of movement after each step is taken on the virtual tower.
![virtual-tower](img/virtual-tower.svg.png)
-It is then possible to calculate where the head will be along the line
-of movement after each step is taken on the virtual tower. The key
-formula is Pythagoras's theorem:
-
+The key formula is Pythagoras's theorem:
```
distance_to_tower^2 = arm_length^2 - tower_height^2
```
@@ -196,7 +199,7 @@ must also be used in the calculations.
Should the move contain only Z movement (ie, no XY movement at all)
then the same math is used - just in this case the tower is parallel
-to the line of movement (its slope is 1.0).
+to the line of movement.
### Stepper motor acceleration limits ###
@@ -248,7 +251,7 @@ pressure. Pressure increases when filament is pushed into the extruder
(as in [Hooke's law](https://en.wikipedia.org/wiki/Hooke%27s_law)) and
the pressure necessary to extrude is dominated by the flow rate
through the nozzle orifice (as in
-[Poiseuille law](https://en.wikipedia.org/wiki/Poiseuille_law)). The
+[Poiseuille's law](https://en.wikipedia.org/wiki/Poiseuille_law)). The
key idea is that the relationship between filament, pressure, and flow
rate can be modeled using a linear coefficient:
```