Scottapotamas / zaphod-bot

A DIY high performance delta-bot for fun, and lightpainting...
38 stars 7 forks source link

Try a cubic hermite spline as the transition spline #15

Closed Mike-Dax closed 2 years ago

Mike-Dax commented 2 years ago

I believe this gives us the ability to specify two points in position space and two vectors in derivative space, effectively letting us set the positions, exit and entry velocities, which is likely ideal for transitions.

Should also implement better global velocity visualisation in the toolpath viewer so we can visually verify velocity continuity between lines and transitions.

Scottapotamas commented 2 years ago

Spline 'linearisation' is achieved via interpolating against a distance vs t LUT generated during the spline length calculation.

This approach was described in https://pomax.github.io/bezierinfo for beziers, but the implementation in firmware applies to other splines too!

Tests show consistent speed for most moves with no measurable performance impact.