LINUX.ORG.RU

История изменений

Исправление Yampp, (текущая версия) :

Hint: если использовать Cortex M4 (stm32f303), то там есть SIMD-инструкция SMUAD, очень удобная для интерполирования скорости по полиномам 3-го порядка, т.е. как раз для jerk-limited. Считать надо будет в fixed-point.

Hint: если построить 4-мерную кривую Безье в пространстве-времени, причем разместить вторую и третью контрольные точки по оси времени на 1/3 от концов, то физический смысл пространственных координат этих точек будет начальной и конечной скоростью движения, а сама кривая будет описывать правильное движение с ограничением на скорость, ускорение и рывок. Алгоритмом де Кастельжо на Cortex M4 это можно интерполировать вплоть до >100 кГц по 6 осям одновременно.

Движение по такому алгоритму плавнее и точнее, чем при разбиении на три участка разгон-круиз-торможение. На этапе планирования траектории может потребоваться разбиение на 7 участков (начало разгона, разгон, конец разгона, круиз и т.д.), поскольку мы ограничиваем не только ускорение, но и рывок.

Исправление Yampp, :

Hint: если использовать Cortex M4 (stm32f303), то там есть SIMD-инструкция SMUAD, очень удобная для интерполирования скорости по полиномам 3-го порядка, т.е. как раз для jerk-limited. Считать надо будет в fixed-point.

Hint: если построить 4-мерную кривую Безье в пространстве-времени, причем разместить вторую и третью контрольные точки по оси времени на 1/3 от концов, то физический смысл пространственных координат этих точек будет начальной и конечной скоростью движения, а сама кривая будет описывать правильное движение с ограничением на скорость, ускорение и рывок. Алгоритмом де Кастельжо на Cortex M4 это можно интерполировать вплоть до >100 кГц по 6 осям одновременно.

Исходная версия Yampp, :

Hint: если использовать Cortex M4 (stm32f303), то там есть SIMD-инструкция SMUAD, очень удобная для интерполирования скорости по полиномам 3-го порядка, т.е. как раз для jerk-limited. Считать надо будет в fixed-point.