Можно ли использовать этот метод gekko MP C онлайн на реальном роботе? - PullRequest
3 голосов
/ 18 марта 2020

Я хочу сделать отслеживание траектории на реальном роботе, и я хочу использовать MP C, поэтому я нашел это gekko. Я могу заняться симуляциями своего робота и прочего, но возможно ли использовать его в режиме реального времени, так как я вижу, что для вычисления оптимального решения требуется некоторое время, и я не совсем уверен, разумно ли писать код, как это сделать, если вы просто возьмите первый импульс и отдайте его реальной системе, а затем обновите значения состояния с помощью показаний датчика, а затем снова используйте функцию m.solve () и т. д.

Заранее спасибо

1 Ответ

1 голос
/ 18 марта 2020

Да, Gekko, безусловно, может выполнять управление в режиме реального времени, но вам нужно обратить внимание на несколько вещей:

  • Время цикла: приложение должно прочитать датчики, рассчитать обновление модели (оценка), оптимизировать план будущих перемещений (контроль) и реализовать план перемещений в течение заданного времени цикла. Если у вас время цикла, превышающее 10 Гц, вы, возможно, захотите взглянуть на контроллер LQR или другой способ, который работает быстрее.
  • Форма модели: нелинейная модель потребует больше времени для расчета или не может сходиться. Линейная модель обычно используется во многих отраслях промышленности, потому что она быстрая и надежная.
  • Длина горизонта: вам нужна достаточно большая длина горизонта, чтобы предвидеть будущие ограничения, которые влияют на текущие движения
  • Разрешение горизонта: первый шаг контроллера должен соответствовать времени цикла. Будущие шаги прогнозирования могут иметь любой размер шага.
  • Локальное решение: Если вы реализуете MP C на встроенном оборудовании, таком как Raspberry Pi, локальное решение может быть медленнее, чем удаленное решение. Вы можете использовать удаленное решение для сервера publi c (remote=True), настроить собственный локальный сервер в Windows или Linux (remote=True server='http://10.0.0.10') или выполнить локальное решение на встроенном оборудовании (* 1024) *). Вы устанавливаете remote и server при создании объекта gekko (m=GEKKO(remote=False)).

Существует много MP C кода в реальном времени и приложение с Лаборатория контроля температуры (TCLab) на курсе для Машинное обучение и динамичность c Оптимизация . Ниже MP C в действии.

TCLab MPC

Вот устройство:

TCLab

...