Красиво, конечно, но требует очень сильной коррекции. Я тут сел для начала элементарную модель с трапециевидным рампом сделать. И сразу первый вопрос: следить за координатой или временем?
В любом случае, если приближаться к реальному исполнительному механизму, получим ошибки. Скажем, на STM32 для шаговика я вычисления и коррекции делал на каждом шаге двигателя. Т.е. микрошаги в прерывании таймера считаются, а как только насчитали целый шаг, конечный автомат, вызываемый из суперлупа на каждой итерации, определяет, что дальше делать. Но там я схалтурил: покуда двигатель едет, команды (кроме "стоп" и "экстренный стоп") не принимаются. Но вот в абстрактной модели, где они принимаются, получается еще три варианта движения, когда следующая координата дается дальше предыдущей, в ту же сторону движения. Если надо двигаться назад, проще: добавляем лишь стадию останова и считаем ее новым t0 (хотя, тут тоже не сильно проще: надо тогда еще и t_{-1} вводить).
Для S-рампа случай, когда ты уже едешь, а тебе новую команду присылают, намного больше вариантов дает (смотря на какой стадии мы сейчас находимся).
Мозг закипает…
Ну и в любом случае, нужно учитывать погрешности, поэтому строго на цель доезжать уже на минимальной скорости, т.е. рамп строить так, чтобы выйти на нее загодя. Но при этом не слишком уж сильно загодя: иначе замучаемся ждать, пока оно доедет…