Open maisonsmd opened 4 years ago
The s-curve solver on https://xenovacivus.github.io/motion-control/curve-simulator.html uses an iterative approach - it adjusts the time of each curve portion until the curve meets the input parameters (holding distance constant). It does assume starting and ending velocity are zero - but it's not a strict requirement. But if the starting and ending velocity are not zero, there are a number of new cases that need to be handled (like a starting velocity greater than the target velocity - though you could just assume that will never happen). It's also possible to compute a direct solution for an s-curve with non-zero initial/final velocity without iteration. A direct solution will require solving the zeros of a cube root equation and handle complex numbers in intermediate steps.
The real fun starts when initial/final acceleration is not zero :)
Hi, I'm very interested in the result you've archirved, and I tried to implement it to C++. But I have 1 question, can your s-curve interpolation method implement start velocity and exit velocity?