Двойная петля - PullRequest
       9

Двойная петля

3 голосов
/ 12 февраля 2011

Я работаю над роботизированным проектом, который включает в себя контроль положения большой роботизированной руки. Было предложено использовать двойную петлю PID, и мне интересно, что в этом участвует.

Как мне было описано, первая петля ПИД-регулятора должна учитывать скорость руки (так как ожидается, что она будет тяжелой и длинной и, следовательно, "труднее" контролировать), а затем - секунду, чтобы контролировать положение вооружить и передать его значение в первый PID.

Ранее я использовал PID, следуя таблице, приведенной в wikipedia , для калибровки цикла. (АКА: Не думайте, что я смогу использовать сложный метод для калибровки контура)

Поэтому я ищу несколько хороших источников, которые помогут в калибровке циклов, а также немного информации (псевдокод) о том, как это работает, плюс, если это даже хорошая идея.

Ответы [ 2 ]

3 голосов
/ 14 февраля 2011

Большинство манипуляторов робота имеют токовую петлю низкого уровня для управления крутящим моментом двигателя, другую петлю напряжения низкого уровня для управления скоростью и петлю положения более высокого уровня для управления положением двигателя.Насколько это возможно, вы хотите настроить систему прямой связи для учета известных эффектов, таких как гравитация и трение.Вы хотите, чтобы петли низкого уровня работали как можно быстрее.Цикл положения более высокого уровня может быть несколько медленнее.Например, контур низкого уровня может работать на частоте 5 кГц (каждые 0,0002 секунды), а контур положения на частоте 250 Гц (0,004 секунды).

1 голос
/ 12 февраля 2011
  1. Имитация ваших петель. Я не могу подчеркнуть это достаточно (особенно, если вы будете использовать методы ручной настройки). Если у вас есть доступ к нему, Simulink это путь. Если нет, то есть другие подходы к моделированию руки.

  2. Если вы уверены, что два цикла - это лучший подход (и я не уверен), то сначала разбейте проблему на два отдельных контрольных цикла и решите их независимо. В качестве примера сначала разработайте контур скорости для достижения и поддержания заданной скорости с приемлемыми характеристиками управления. Затем разработайте петлю смещения, чтобы достичь и поддерживать положение, используя небольшое количество фиксированных дискретных скоростей.

  3. Как только эти две проблемы будут решены к вашему удовлетворению, вы можете использовать контур смещения, чтобы установить цели для контура скорости. Вот где моделирование становится жизненно важным: системы управления будут нелинейными (но вы эффективно принимаете разумную меру линейности при применении ПИД с постоянным коэффициентом). Вы составляете эту нелинейность, используя цикл смещения, чтобы установить переменную цель для вашего контура скорости. Выбор времени будет критическим: контур смещения должен дать контуру скорости некоторое время для достижения цели перед установкой новой цели скорости.

  4. Настройка будет сложной задачей. Я решил сложную проблему с PID, вообще отказавшись от настройки. Вместо этого я использовал алгоритм имитации отжига, чтобы найти лучшие коэффициенты ПИД. Обратите внимание, что этот подход предполагает две вещи: а) проблема может быть надежно смоделирована, и б) наличие объективного критерия эффективности.

...