И главное, не забывать, что это должно работать на реальном станке и приносить какую-то пользу (сокращение времени обработки, уменьшение вибраций).
А так - просто упражнение в программировании. Хотя и это неплохо
Приведите наглядный пример, формулу. Ну а насчёт программирования, помню давали на информатике задачку в Турбо Паскале, но я её решил таким способом, который учитель не знал. А всё потому, что я не знал "как надо".Сергей Саныч писал(а):S-кривую разгона надо строить исходя не из умозрительных представлений (квадратичная, кубическая...), а обеспечивать минимизацию высших производных по времени от перемещения (третьей и выше).
И главное, не забывать, что это должно работать на реальном станке и приносить какую-то пользу (сокращение времени обработки, уменьшение вибраций).
А так - просто упражнение в программировании. Хотя и это неплохо
Приведи наглядный пример.Bender писал(а):График разгона это функция от времени(F(t)) а не от позиции...
На высоких частотах примерно так и будет, т.к. перерасчёт и изменение скорости происходит с частотой 10 КГц.Shkryab писал(а):А почему бы не использовать кусочно-линейную интерполяцию? Вся математика сведётся к сложению-вычитанию и, возможно, табличному преобразованию...
Если есть в упомянутой выше программе дифференцирование, то легко можно проанализировать и сделать выводы, какие функции больше подходят.MX_Master писал(а):Приведите наглядный пример, формулу.

Кривую разгона, конечно, нужно строить в соответствии с физикой (школьной вполне достаточно для начала). А вот минимизировать нужно время прохождения траектории при отсутствии превышений заданных значений производных.Сергей Саныч писал(а):S-кривую разгона надо строить исходя не из умозрительных представлений (квадратичная, кубическая...), а обеспечивать минимизацию высших производных по времени от перемещения (третьей и выше).
Обязательно и необходимо сначала создать математическую модель. MathCAD, MathLAB - в помощь, а не калькулятор прикольный (красиво, конечно, но...)Сергей Саныч писал(а):прежде всего сделал бы математическую проработку
а если сделать таблицу ускорений в зависимости от текущей скорости и в расчетах использовать то ускорение в зависимости от того с какой скоростью в данный момент движется станок , ведь как правило ШД с ростом скорости момент теряет и соответственно станок может двигаться с меньшим ускорением , но большей скоростью , а на малых скоростях , рабочей подаче , можно использовать большее ускорение . Как правило сейчас станок настраивается на мах скорость, а это приводит к тому, что ускорение снижается и выполнение Ж кода замедляется ......MX_Master писал(а):Сделаем трехсегментный разгон
Да бог бы с ней, с конечной точкой. Вот как обеспечить, чтобы все промежуточные точки траектории на минимум трех осях совпадалиsolo писал(а):основная проблема S образной кривой разгона это в текущий момент просчитать конечную точку остановки ....
я задавался этим вопросом, когда только-только начинал разбираться с LinuxCNC Динамическое управление ускорением #1solo писал(а):а на малых скоростях , рабочей подаче , можно использовать большее ускорение . Как правило сейчас станок настраивается на мах скорость, а это приводит к тому, что ускорение снижается и выполнение Ж кода замедляется ......

Ну вот а нам простым смертным вопрос кажется довольно сложным.Bender писал(а):Ну вы блин даёте... у меня в WLMotion S разгон и по линии и по кругу и всё совпадает...
Ну зачем же так)))michael-yurov писал(а):Ну вот а нам простым смертным вопрос кажется довольно сложным.
Ну вот например:michael-yurov писал(а):но как при этом еще и сегменты состыковать и корректно рассчитать допустимые скорости на каждом стыке - мне очень сложно представить.
У нас на производстве есть пром роботы KUKA(6 угловых координат) вот когда я начал рассчитывать обратную кинематику.. (из X Y Z A B C в A0---A6) вот там действительно множество решений... и надо выбрать одинmichael-yurov писал(а):Вопрос усугубляет то, что задача может иметь множество вариантов решения, и как найти лучший я не представляю. Представляю лишь, как отобрать наиболее удачный из нескольких.

В любом случае все "отхождения" от траектории должны быть предсказуемыми и лимитированными.michael-yurov писал(а):В данный момент ломаю голову над тем, как минимизировать количество настроек для такого планировщика, сделать их более понятными и не дать человеку, задающему настройки, ошибиться.
Понятно, я для этого и сделал отображение реальной траектории перед её выполнением, для понимания и избежания ошибок.michael-yurov писал(а):В данный момент ломаю голову над тем, как минимизировать количество настроек для такого планировщика, сделать их более понятными и не дать человеку, задающему настройки, ошибиться.
Это тебе так кажется...Bender писал(а):Ну вы блин даёте... у меня в WLMotion S разгон и по линии и по кругу и всё совпадает...
А что, всё просто. Интуитивно понятно. И дата релиза указана - 15 мая 2045 годаmichael-yurov писал(а):Вот, интерфейс окна настроек уже набросал:

В моем случае речь идет о микронах, и увидеть это на экране проблемно.Bender писал(а):Понятно, я для этого и сделал отображение реальной траектории перед её выполнением, для понимания и избежания ошибок.
Перед перемещением происходит адаптация параметров движения так, чтобы все оси смогли всё отработать.UAVpilot писал(а):Оно в принципе и будет примерно совпадать, если одновременно работающие оси будут с примерно одинаковыми характеристиками (ускорениями).
Ну если в масштабе 1:1 то да)))michael-yurov писал(а):В моем случае речь идет о микронах, и увидеть это на экране проблемно.
И тут-то и возникает "неудобный" вопрос: а нафик тогда всё эти S-кривые, если все оси кроме самой медленной будут разгонятся и тормозить не по своим оптимальным S-кривым, а согласно характеристикам самой медленной (самой тажёлой) оси?..Bender писал(а):Перед перемещением происходит адаптация параметров движения так, чтобы все оси смогли всё отработать.
Она нужна для плавности движения, чтобы небыло резких изменений ускорения....UAVpilot писал(а): И тут-то и возникает "неудобный" вопрос: а нафик тогда всё эти S-кривые
Конечно! скорость станка в итоге всегда будет ограничена самой медленной осью...UAVpilot писал(а):если все оси кроме самой медленной будут разгонятся и тормозить не по своим оптимальным S-кривым, а согласно характеристикам самой медленной (самой тажёлой) оси?..