Первые шаги. Оптимальное Управление

Первые шаги. Оптимальное Управление

Обладая начальным опытом и элементарным уровнем знаний в Динамике и Стабилизации движения мы попытаемся сделать первые шаги элементарного виртуального робота. Робота, учитывающего особенности скрытой в нем собственной динамики и, по возможности, использования ее с пользой.

 

Но перед тем, как приступить к применению имеющихся знаний, попытаемся несколько расширить список теорий, призванных помочь нам на пути понимания динамики шагающих роботов и учесть некоторые из реальных условий, с которым придется столкнутся во время реализации.

 

Одной из основных задач, которую следует учитывать при синтезировании системы управления шагающего робота является устойчивость.

О ней я начал рассказывать в предыдущем посте. Естественно, задача устойчивости динамической системы очень обширна, равно как и количество подходов к самой задаче. Скажу только, что для рассмотрения динамики шагающего робота, к стандартному списку необходимых вопросов теории устойчивости необходимо добавить такие, как периодичность процесса и нелинейность описания динамики в пределе одного периода/шага.

 

Скажу, что для рассмотрения устойчивости периодических динамических систем следует глянуть на такие понятия как «Предельный цикл«(Limit Cycle), «Отображение Пуанкаре«(Poincare Map), а для понимания нелинейности динамики следует посмотреть на такие понятия как «Гибридные системы«(Hybrid Systems), и подумать, каким именно образом можно интегрировать дифференциальные уравнения? Естественно, я предполагаю, что заурядным студентам уже известны такие понятия как уравнение динамики пружин, момент импульса, очевидность применения Закона Сохранения энергии.

 

К слову, одним из самых простых методов самопроверки реализованных теорий является Закон Сохранения Энергии. Предположим, что вы уже написали сотни строк кода в MATLAB-е, и вроде бы поведение системы выглядит правдободобно, но что-то в ней вам не дает покоя. Ошибки могут быть где угодно, в том числе и в реализации функции отрисовки системы. Достаточно обеспечить пассивность системы (отключить систему управления, исключив какое-либо воздействие извне) и глянуть на изменение ее общей энергии во времени. Если энергия неизменна, то система описана верно.

 

Учтойчивость и нелинейность очень важные и интересные понятия для изучения динамики, которые несомненно только расширят понимание и «надежность» системы управления, но сегодня я бы хотел обратить внимание на другое, не менее важное понятие — Оптимальное Управление.

 

Оптимальное Управление

На практике, при реализации конкретных изделий, как правило разрабатываемая система обладает некоторыми ограничениями.

  • Мощность движетеля не бесконечна
  • Время на принятие некоторого решения лимитировано
  • Eмкость батареи с заданным весом установлена производителем
  • Бюджет на производство изделия тоже лимитирован

И не смотря ни на что, задача синтезирования САУ может быть выполнена, хотя и приходится считаться с некоторыми ограничениями.

 

Частным случаем оптимального управления является Оптимизация Траектории (Trajectory Optimization).

 

Оптимизация траектории 

Простым примером задачи оптимизация траектории может быть задача поиска оптимального пути перехода из одной точки комнаты в другую, обходя препядствия, и оптимальным в смысле времени перехода или затрачиваемой энергии. В этом случае пространство состояний системы представляет из себя 2D или 3D пространство комнаты.

Но задача может быть на много сложней. Размерность пространства состояния может быть и двадцати- и двухсот-мерным. Переход из одной точки такого пространства в другую выполняется аналогично, как и в случае с комнатой. Переход с ограничениями и оптимизацией.

Существует множество методик и реализаций для решения задачи оптимизации траектории.

Скажу, что тут нашли свое применения:

  • Нейронные сети («BackPropagation Through Time»,»Real Time Recurrent Learning»)
  • Метод Конечных Элементов («Value Iteration»)
  • Теория Вариационного исчесления («Direct Collocation»)
  • Sequential quadratic programming («SNOPT») 

Но чтобы не пугаться, я советую помнить, что все эти теории призваны лишь решать одну простую задачу — найти путь из одной точки комнаты с другую. Причем комнату, уставленную всевозможными преградами, и с учетом минимизации каки-либо заданных величин, например времени, энергии или их комбинации.

 

Интересно отметить, что кроме робототехники, задача оптимизации траектории нашла свое применение и в экономике. Очевидно, что на пути достижения каких-либо целей, минимизируемой функцией может выступать экономия или стоимость реализации.

В процессе знакомтсва с указанными темами я столкнулся с ныне модным и новым понятием «Теория Хаоса«. Оказывается, наука не стоит на месте, и на пути изучения вопросов, связанных со сложными динамическими системами, ученые сформулирвоали новое направление, которое более глубоко позволит изучать процессы неизученные до сегодняшнего дня.

 

Примеры

 

Rimless Wheel

Колесо без покрышки, состоящее только из спиц. Этот пример представляется наиболее простой динамической системой, которая полностью соответствует системе шагающего робота.

Управляющим воздействием тут является момент на опорную спицу. В примере была синтезирована порстая САУ, настроенная на сохранение скорости вращения колеса вне зависимости от угла наклона опорной поверхности.

 

Compass Gait

Следующий Пример — Шагающий двуногий робот без суставов в ногах «Compass Gait». Это достаточно распространенный пример, который хорошо изучен и, как и «Rimless Wheel», достаточно прост.

Управляющими воздействиями являются момент в ступне опорной ноги и момент между ногами. САУ была настроена на сохранение скорости и выбор необходимого угла на следующем шаге, чтобы не упасть в яму.
На этом примере была отработана технология оптимизации траектории, в частности — сохранение кинетической энергии на каждом шаге, выведение угла между ногами во время соприкосновения с землей на заданное значение, в соответствии с результатами предварительного анализа пути, минимизация воздействия на систему со стороны управляющих моментов.

Следует отметить, что выполненная реализация САУ у «Compass Gait» с оптимизацией траектори не является наиболее оптимальной. Это связано с тем, что оптимизация траектории выполнялась только на один шаг. Для более грамотной оптимизации необходимо учитывать потребность системы в энергии для следующего шага. Чтобы учесть подобного рода детали необходимо было применять более серьезные методики предсказания. Но это будет темой для отдельного поста.

Центр робототехники "BOTEON".
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: