Стабилизация движения

Стабилизация движения

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

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

 

Но что будет, если на такое шагающее изделие будет оказано незапланированное воздействие?

 

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

 

Не следует путать инвариантность от времени задачи уравновешивания и задачи поиска оптимального управления для минимизации времени на достижение уравновешенного положения.

 

Чтобы конкретизировать понимание, напомню, что в теории управления разделяют три типа задач:

  1. Задача уравновешивания, когда требуемое состояние системы известно, и оно не зависит от времени.
  2. Задача стабилизации, когда требуемое состояние системы зависит от времени и оно известно.
  3. Задача слежения, когда требуемое состояние системы зависит от времени и оно не известно.

В свою очередь, каждая из этих задач может быть поставлена и в смысле оптимальном по отношениюю к некоторым параметрам.

Но вернемся к шагающему изделию.

 

В прошлом посте нам удалось синтезировать простую систему управления, которая позволила простейшему шагающему механизму спланировать управляющее воздействие, чтобы совершать необходимый шаг, тем самым позволив ему шагать по столбикам. Эта задача включает в себя разделы, известные как Motion Planning, Trajectory Optimization, Dimension Reduction и пр.

 

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

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

Удар по опорной ноге с силой 250 [Н], или 25 [кг]

Удар по опорной ноге с силой 200 [Н], или 20 [кг]

Удар (каждый шаг) по опорной ноге с силой 150 [Н], или 15 [кг]

 

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

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

 

Как можно заметить, где-то по средине каждого шага сплошные линии начинают удаляться от пунктирных. Это происходит по причине удара, вносящего искажения в динамику системы. И т.к. САУ просто следует созданному планировщиком закону изменения управляющих моментов (предполагая, что реальное состояние системы не может отличаться от запланированного), то система начинает выполнять ошибочные действия, приводящие либо к потере устойчивости, либо к ходьбе не по столбикам.

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

Самым простым решением для такого вопроса, на мой взгляд, оказался алгоритм iLQR(iterative Linear Quadric Regulator), суть которого соответствует обыкновенному линейному регулятору (LQR), но с учетом изменения целевого состояния системы в заданном промежутке времени.

 

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

 

Удар (каждый шаг) по опорной ноге с силой 1500 [Н], или 150 [кг]

 

iLQR является одним из самых простых алгоритмов стабилизации движения и, очевидно обладает своими недостатками. Хотя нам и удалось стабилизировать шагающую под действием ударов систему, это не означает, что способ стабилизации является наилучшим. Мы не учитывали тот факт, что наша система является периодичной. Возвращали искаженные ударом параметры системы в запланированное состояние, но делали это в строго заданное (детерминированное) планировщиком время. Вполне вероятно, что игнорирование этих особенностей сделало нашу систему стабилизации жадной по отношению к энергии. Чтобы избавиться от ограничения по времени на стабилизацию системы, приводящее к завышенным значениям управляющих моментов, необходимо прибегнуть к репараметризации системы, для чего изучить новую тему в математике — Transversal Linearization.

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

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