Технический форум по робототехнике.
vadinator » 08 окт 2011, 16:20
Duhas, а в чём модели строите?
Duhas » 08 окт 2011, 20:35
это Simulink, MATLAB
Добавлено спустя 3 часа 49 минут 56 секунд:
в голову яростно лезет мысль что нету места контуру положения в станке с ЧПУ.. по крайнем мере пока оси работают согласованно..
vadinator » 08 окт 2011, 21:30
Duhas писал(а):по крайнем мере пока оси работают согласованно..
Но не ведают зачем?

Duhas » 08 окт 2011, 21:56
нет. дело в том, что нельзя, имхо, одновременно отдать контур скорости в подчинение контуру положения, и задавать скорости подач.. т.е. по сути есть задание по скорости от ЧПУ на привод и сигнал начала конца работы.. т.е. контур положения он наверное таки есть, но он не контур блин, он релейный - работаем/стоим..
Michael_K » 08 окт 2011, 23:06
Подсказка: Обычно для этого используют сумматор

Duhas » 08 окт 2011, 23:21
подсказка - непонимание
что суммировать то ? тут скорее перемножать feed rate на скорость по конкретной координате на работаем/стоим...
Michael_K » 09 окт 2011, 02:52
Я не очень понимаю, о чем вы...
Один из подходов в лоб - такой: для следующей точки нужно в уставках задать не только координаты, но и скорость. То есть мотор должен отработать так, чтобы не просто подъехать к следующей позиции, но сделать это с заданной скоростью.
При этом, правда, вы не будете точно знать, сколько времени у станка займет процедура переезда к следующей точке.
Тема эта не такая простая. Но решений предложено много (и разных).
Гуглить что-то вроде "Cross Coupling Control", "Generalized Predictive Control", "multi-axies".
Добавлено спустя 2 часа 26 минут:Koren proposed Cross Coupling Control [32]. This method switched the focus of controllers from maintaining each axis at its target position, to minimizing path error. This is established by building a contour error model in real time, based on the feedback information from all axes as well as the interpolator. To find an optimal compensating law, and then to feed back correction signals to the individual axes. The difficulty with this method is in determining the point on the target path nearest to the plant's position. This is accomplished by using various closed-form solutions, specific to the type of path being followed. This fails where two path segments meet, or for an arbitrary path. Shih, Chen and Lee propose a new cross coupling control strategy with a simpler design process [33].
Another method is Optimal Control. Optimal controllers create a command sequence, which optimizes system performance. Generalized Predictive Control (GPC) can be taken as a special case of optimal control [34]. The basic idea behind is to make plant's predicted output coincide with a set point or desired known trajectory. Basic GPC method assumes a linear plant model. As a result, it cannot address issues such as backlash and asymmetric performance. Neither this method considers command saturation issues in its basic form.
Another control method is Adaptive Control. This method is usually used in
adapting the cutting feed and speed to the variation in the cutting process in a typical machine tool. Smith, Annasway and Slocum evaluate adaptive PID and adaptive phase lead compensators for precision machine tool axis control [36]. Singhose [37] showed that input shaping can be used in order to ecrease affect of vibrations in machine tools.
Duhas » 09 окт 2011, 06:44
Michael_K писал(а):Я не очень понимаю, о чем вы...
Один из подходов в лоб - такой: для следующей точки нужно в уставках задать не только координаты, но и скорость. То есть мотор должен отработать так, чтобы не просто подъехать к следующей позиции, но сделать это с заданной скоростью.
Да да! дак вот по этому по сути вход контура скорости не может быть подключен к выходу регулятора положения, ибо там плавающее задание, да и максумум должен висеть пока не пройдем.. попробую смоделировать седня..
пытался вчера что-то сообразить по разницам невязок.. пока ничего не вышло толкового..
boez » 09 окт 2011, 11:09
Не-не-не! Не надо лезть в контур скорости, который после контура положения!
Тут уже пробегало более правильное решение. Нужно изначально синтезировать траекторию движения вместе со скоростью. Т.е. на основании траектории (набор примитивов - линий или окружностей) и некоего набора правил - как выбирать скорость обработки - сгенерировать не тройки координат (x,y,z), а четверки (x,y,z,t), с мелким шагом. Собственно алгоритм там будет непростой, но без этого не обойтись - у регуляторов внизу нет информации - когда ехать быстрее, когда медленнее. А дальше просто проигрывать эти четверки по таймеру регуляторам положения. Регулятор положения выдает задание скорости, регулятор скорости - задание на ток, регулятор тока - ШИМ. И регулятор скорости не превысит заданную скорость просто потому, что регулятор позиции не будет от него требовать скорости выше заданной.
Duhas » 09 окт 2011, 15:34
boez писал(а):И регулятор скорости не превысит заданную скорость просто потому, что регулятор позиции не будет от него требовать скорости выше заданной.
да я бы только за.. да боюсь не проканает.. если только регулятор будет П с ку 1 )
на днях будут модельки )
Michael_K » 09 окт 2011, 15:55
boez писал(а):Тут уже пробегало более правильное решение. Нужно изначально синтезировать траекторию движения вместе со скоростью.
Ну это нормальное решение, и оно, конечно, работает...
Но я писал уже (см. цитату выше из учебника) - в "суровых" станках не рассматривают оси по отдельности,
а минимизируют общую ошибку.
Это же вообще общий принцип такой - чем круче ты хочешь получить результат, тем суровее нужно использовать математику и сложнее методики. Везде так - хоть ПЧ возьмите, хоть мультимедию, хоть моушн-контрол, хоть микропроцессоры... Везде.
boez » 09 окт 2011, 16:09
Не,ну покоординатный ПИД тоже минимизирует общую ошибку - просто по другой метрике. Вообще, я ж тоже не спорю, что ошибка вдоль траектории на результат обработки практически не влияет, в отличие от ошибки перпендикулярно траектории - тут вопрос, как построить такой регулятор, который будет минимизировать ошибку "поперек" за счет возможного повышения ошибки "вдоль".
Виталий » 09 окт 2011, 17:16
Никак. Потому как "вдоль" и "поперек" зависят от свойств траектории (к примеру в конце траектории ошибка "вдоль" также непозволительна). Поэтому это дело не регулятора, а софта который генерирует задание для регулятора.
Michael_K » 09 окт 2011, 17:50
Виталий писал(а):Поэтому это дело не регулятора, а софта который генерирует задание для регулятора.
Тут ведь одно другому не мешает.
Виталий » 09 окт 2011, 18:24
Я про то, что не стоит пытаться впихнуть в регулятор подобную логику. На мой взгляд это просто не получится.