Impartial писал(а):Объясните, зачем? Мне тоже не понятно.
Тем более, что задача планировщика, работающего по 3 й производной от позиции, не имеет, на мой взгляд, однозначного решения, с точки зрения математики, для более чем одной оси.
S кривые разгона - торможения хороши для робота, где не важна траектория движения в заданную точку и не допустимы при движении точки или линии при обработке.
Даже в новых сервоприводах (например Lenze 9400 серии) эти кривые не расчитываются а задаются на фиксированном временном интервале и при обработке не используются.
Кривые ввести не проблема, проблема сделать много осей работающих синхронно.
Если у Вас есть примеры реализации в обрабатывающем оборудовании то поделитесь.
Объясню. вернее попытаюсь. по этому по пунктам...
Задачи планировщика это именно задачи планировщика и к S-кривым они не имеют никакого отношения.
Чем движения робота отличаются от движений станка ??
насчет не расчитываются, а задаются - абсолютно верно. просто большинство не понимает вообще что это такое... нечего там рассчитывать...
Проблемы сделать много осей работающих синхронно нет вообще никакой. Просто нада немного отступить назад и посмотреть "более широко". не упираясь в столь любимый "степ-дир"....
Примеры реализации есть. причем не только у меня - их вообще хватает.. S-кривые это не чудо какое то и очень много где применяется. а уж в мехобработке - вообще нормальное явление...
Bender писал(а):А какими параметрами определяется S кривая.... что задается?
временем..... только временем...
Для того чтобы понимать что это такое - S-кривые и для чего они нужны - нада рассмотреть что есть вообще подвижная система. Это ведь не только сервомотор. туда входят всякие муфты, которые могут изгибатсья, сворачиваться... опоры, которые могут изгибатсья. винты которые могут сворачиваться как торсион и тд и тп.. Плюс к этому нада понимать что вся вот эта подвижная трахомудия - это в принципе НЕ быстрая система для сервосистем. То есть "станок" - это одна из самых "медленных" задач в которых используются сервоприводы. То есть сервопривод отрабатывает задания в разы быстрее чем это может сделать подвижная система. А учитывая что мощность приводов постоянно наращивается, ускорения станков тоже постоянно увеличиваются в угоду скорости обработки - все это - скорость реагирования сервопривода, всякие напряжения микролюфты, попытки получить максимальные ускорения, увеличение мощности и момента приводов и тд и тп приводят к тому что подвижная система начинает работать очень жестко. со всевозможными стуками и ударами при смене режимов и направлений. (с чем коллега в теме про тяжелый станок столкнулся....)....
Это в свою очередь имеет два очень важных (больше, но нам важны два) момента - первый - ударные нагрузки на кинематику - это зло для механики... потому как быстро выводят ее из строя. второе - применительно к мехобработке - все ударные переходы - это ГАРАНТИРОВАНО СЛЕД НА ДЕТАЛИ. (По этому и был задан вопрос - ДЛЯ ЧЕГО ХОРОШО ??... Но ответа как всегда не будет.. Да Сергей ?

)
Таким образом - плясать нада не от того - что вам хочется получить максимальные ускорения.... а плясать нада от того что это СТАНОК, и определяющим у вас ВСЕГДА будет КАЧЕСТВО ОБРАБОТКИ. И вот тут, когда мы начинаем задумываться о качестве поверхности - нас вдруг посещает мысля о том, что никаких резких остановок и переходов быть недолжно....
Исходя из всего этого и были введены так называемые S-кривые. ихзадача - обеспечить
максимально плавное движение, без ударов и резких переходов. Как это реализуется можно увидеть ниже:
как видно из графика - S-кривые - это маленький фрагмент движения на котором движение привода осуществляется по пораболе. то есть - очень плавно начиная с нуля и постепенно наращивая скорость. и так же останавливается. остальной участок разгона/торможения остается линейным. Причем это не обязательно обзывается S-кривым. в разных системах это обзывается как "preload", "jerk" и еще кучей разных названий. Суть одна - привод совершает очень небольшое и плавное движения нагружая трансмиссию и выбирая люфты а затем уже вваливает полное ускорение. и так же останавливается.. Все это дает очень плавные и мягкие движения без ударов. Что в свою очередь сильно снижает нагрузки на механику ибо отсутствуют удары, и (что очень важно для нас) - устраняет следы от переходов на поверхности детали...
Касаемо "чего, в чем, как и тд и тп" - Сам параметр S-кривых - это время. очень маленькое. в милисекундах. само движение глазом не заметно. Хотя наверное можно и в секундах задать.. будет видно

На реальной динамике станка оно вообще никак не отражается. Планировщиком движений оно так же никак не обрабатывается и не учитывается. Это относится к ПИДам.. к законам движения приводов. Соответственно S-кривые невозможно обрабатывать "только на холостых" или "только на рабочих". для системы нет понятия "холостой ход" или "рабочий ход". система понимает либо команду перемещения с заданной скоростью (G1), либо команду перемещения без указания скорости (G0). Если скорость будет НЕ задана, то перемещение будет осуществляться на максимально возможной скорости, указаной в настройках. НО в обоих случаях расчет движений будет происходить одинаково. и движение будет синхронизировано. то есть в конечную точку все оси придут одновременно... По этому как заставить систему двигаться в одном случае с импользованием S-кривых, а в другом без них - для меня большая загадка...
mycnc писал(а):Хороший пример - станки "Стриж". Желающие обсудить нежесткость конструкции Стрижа выстроятся в очередь.
ну насчет "нежестких" это был лютый сарказм

в плане того что нежесткий станок гнется и мнется от ударных нагрузок компесируя этим их
mycnc писал(а):При переходе Стрижа на S-кривые станок стал кататься быстрее, мягче и тише.
А вот тут как раз все закономерно - применение S-кривых для механики станка выливается в СНИЖЕНИЕ нагрузок. Ну так как уходят ударные нагрузки. Соответственно (камень в огород сами знаете кому...

) - применение S-кривых позволяет достичь на том же станке БОЛЬШИХ ускорений, чем при работе без них. Именно из за плавности нагружения подвижной системы. И даже больше скажу - НИКОГДА станок без S-кривых не достигнет тех скоростей, которые достижимы с S-кривыми. (еще один булыжник пошел в огород динамики...

)....
mycnc писал(а):PS: S-кривые реализованы для всех видов интерполяции, а не только для позиционирования, разумеется.
блин... да не могут они быть "реализованы для всех режимов"... это параметр относящийся к "законам движения". как ускорение, как количество импульсов на инкременту перемещения... как "гайны" пида...
То есть они либо есть, либо нету. если нету - их нигде не будет. если есть - они будут отрабатываться во ВСЕХ движениях. Абсолютно. Без исключений.
зы:
UAVpilot писал(а):Лично я просто постою в сторонке - вдруг у нас тут водятся "монстры", способные решать задачи класса "задачи трёх тел"...
Лично вы просто ответьте на заданные вам вопросы... Хотя что-то мне подсказывает что в лучших традициях жанра ответов мы не дождемся... ни по моделям стоек, ни по тому "для чего лучше"....
Зато какие то левые "задачи трех тел" приплели явно в тему
