UltiMaker uses functional, analytical and tracking cookies. Tracking cookies enhance your experience on our website and may also collect your personal data outside of Ultimaker websites. If you agree with the use of tracking cookies, click “I agree, continue browsing”. You can withdraw your consent at any time. If you do not consent with the use of tracking cookies, click “Refuse”. You can find more information about cookies on our Privacy and Cookie Policy page.

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).

In the Cura 5.8 stable release, everyone can now tune their Z seams to look better than ever. Method series users get access to new material profiles, and the base Method model now has a printer profile, meaning the whole Method series is now supported in Cura!

We are happy to announce the next evolution in the UltiMaker 3D printer lineup: the UltiMaker Factor 4 industrial-grade 3D printer, designed to take manufacturing to new levels of efficiency and reliability. Factor 4 is an end-to-end 3D printing solution for light industrial applications

## 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