Dim3nsioneer 558
@G0ultimaker: Would you mind setting the permission of your sketches to 'public'? They look quite interesting from the thumbnails...
@G0ultimaker: Would you mind setting the permission of your sketches to 'public'? They look quite interesting from the thumbnails...
Recommended Posts
gr5 2,224
You got it perfect so far.
The X speed is changing from 60 to 38 as it slows down so if X acceleration is set to 3000 (common values are 1K, 3K, and 5k - 5K works fine on UM2 but prints have less ringing at 3K) then it will decelerate the X axis at 3000 mm^2/sec aproaching postition "5" on your graph.
All movements must be linear (in 4 axes X,Y,Z,E). This means the E axis (which due to printing thin layers and other factors is usually not the limiting acceleration) will decelerate at the appropriate rate for an X decelration at 3000 mm^2/sec.
Going into the vertex (the turn?) the speed was 38 so I assume the speed is 38 going out of the vertex. This means Y is going 19 (sin30*38) and X is going 33 (cos30*38). That's a lot of jerk at that vertex (X instantly 38 to 33, Y instantly 0 to 19 together comes out to 20mm/sec deltaV).
We now accelerate X from 33 to 52 and Y from 19 to 30 (X deltaV is 19, Y deltaV is 11). X is still the limiting factor (it has to speed up more) so X accelerates at the full 3000 mm^2/sec but Y accelerates less 3000*11/19 or 1740mm^2/sec. This is important to keep the new line segment straight. E accelerates in a similar manner so that it is also linear (in a 4 dimensional straight line).
The planner looks ahead about 20 lines segments because sometimes the vertexes are so close together that they never get up to full speed (or down to low speed) and you have to be able to round every vertex without going too fast. In other words, sometimes you have to start slowing down now because of a sharp corner (or a stop) 20 vertexes away.
This method of defining jerk is not the best - I can add two points .1mm apart at a corner of a cube that turns a 90 degree corner into 2 45 degree corners .1mm apart. This will allow Marlin to go around that corner 40% faster yet it's also 40% more (true) jerk force on the hardware. It's a way to cheat/fool Marlin. In a bad way. Instead there should be a max jerk integrated over some small resolution. Maybe .2mm distance. But then the math probably gets more complicated. Another way to look at it - Marlin should be able to cut corners by some tiny amount - like .1mm or as that jerk isn't in theory infinite at each vertex (changing acceleration from 1000mm/sec to 1002mm/sec instantly is infinite jerk).
Link to post
Share on other sites