Оптимизация траектории — это процесс проектирования траектории , которая минимизирует (или максимизирует) некоторую меру производительности, удовлетворяя при этом набору ограничений. Вообще говоря, оптимизация траектории — это метод вычисления решения с открытым контуром для задачи оптимального управления . Он часто используется для систем, где вычисление полного решения с закрытым контуром не требуется, непрактично или невозможно. Если задача оптимизации траектории может быть решена со скоростью, заданной обратной константой Липшица , то ее можно использовать итеративно для генерации решения с закрытым контуром в смысле Каратеодори . Если для задачи с бесконечным горизонтом выполняется только первый шаг траектории, то это известно как управление с прогнозированием модели (MPC) .
Хотя идея оптимизации траектории существует уже сотни лет ( вариационное исчисление , задача брахистохроны ), она стала практической для решения реальных задач только с появлением компьютера. Многие из первоначальных приложений оптимизации траектории были в аэрокосмической промышленности, вычисляя траектории запуска ракет и снарядов. В последнее время оптимизация траектории также использовалась в самых разных промышленных процессах и робототехнике. [1]
Оптимизация траектории впервые появилась в 1697 году с введением задачи о брахистохроне: найти форму проволоки, такую, чтобы скользящая по ней бусина перемещалась между двумя точками за минимальное время. [2] Интересно в этой задаче то, что она оптимизируется по кривой (форме проволоки), а не по одному числу. Самое известное из решений было вычислено с использованием вариационного исчисления .
В 1950-х годах цифровые компьютеры начали делать оптимизацию траектории практической для решения реальных задач. Первые подходы к оптимальному управлению выросли из вариационного исчисления , основанного на исследованиях Гилберта Эймса Блисса и Брайсона [3] в Америке и Понтрягина [4] в России. Особо следует отметить принцип максимума Понтрягина . Эти ранние исследователи создали основу того, что мы сейчас называем косвенными методами оптимизации траектории.
Большая часть ранних работ по оптимизации траектории была сосредоточена на вычислении профилей тяги ракеты, как в вакууме, так и в атмосфере. Это раннее исследование открыло множество основных принципов, которые используются и сегодня. Другим успешным применением были траектории набора высоты для ранних реактивных самолетов. Из-за высокого сопротивления, связанного с областью трансзвукового сопротивления, и низкой тяги ранних реактивных самолетов, оптимизация траектории была ключом к максимизации характеристик набора высоты. Оптимальные траектории на основе управления были ответственны за некоторые мировые рекорды. В этих ситуациях пилот следовал графику Маха в зависимости от высоты, основанному на оптимальных решениях управления.
Одной из важных ранних проблем оптимизации траектории была проблема особой дуги , где принцип максимума Понтрягина не дает полного решения. Примером проблемы с особым управлением является оптимизация тяги ракеты, летящей на постоянной высоте и запущенной на низкой скорости. Здесь проблема заключается в реверберационном управлении с максимально возможной тягой до достижения особой дуги. Затем решение особого управления обеспечивает более низкую переменную тягу до выгорания. В этой точке реверберационное управление обеспечивает, чтобы управление или тяга достигли своего минимального значения, равного нулю. Это решение является основой профиля ракетного двигателя с ускорителем и поддержкой, широко используемого сегодня для максимизации характеристик ракеты.
Существует широкий спектр приложений для оптимизации траектории, в первую очередь в робототехнике: промышленность, манипуляция, ходьба, планирование пути и аэрокосмическая промышленность. Его также можно использовать для моделирования и оценки.
В зависимости от конфигурации, роботизированные манипуляторы с открытой цепью требуют определенной степени оптимизации траектории. Например, роботизированная рука с 7 сочленениями и 7 звеньями (7-DOF) является избыточной системой, в которой одно декартово положение конечного эффектора может соответствовать бесконечному числу положений углов сочленений, таким образом, эта избыточность может использоваться для оптимизации траектории, чтобы, например, избегать любых препятствий в рабочем пространстве или минимизировать крутящий момент в сочленениях. [5]
Оптимизация траектории часто используется для вычисления траекторий для вертолетов с квадрокоптерами . Эти приложения обычно используют узкоспециализированные алгоритмы. [6] [7] Одно интересное приложение, показанное U.Penn GRASP Lab, вычисляет траекторию, которая позволяет квадрокоптеру пролетать через обруч, когда его бросают. Другое, на этот раз от ETH Zurich Flying Machine Arena, включает два квадрокоптера, бросающих шест вперед и назад между собой, при этом он уравновешивается как перевернутый маятник. Проблема вычисления траекторий с минимальной энергией для квадрокоптера также недавно была изучена. [8]
Оптимизация траектории используется в производстве, в частности, для управления химическими процессами [9] или вычисления желаемого пути для роботизированных манипуляторов. [10]
Существует множество различных приложений для оптимизации траектории в области шагающей робототехники. Например, в одной из статей использовалась оптимизация траектории двуногих походок на простой модели, чтобы показать, что ходьба энергетически выгодна для движения с низкой скоростью, а бег энергетически выгоден для движения с высокой скоростью. [11] Как и во многих других приложениях, оптимизация траектории может использоваться для вычисления номинальной траектории, вокруг которой строится стабилизирующий контроллер. [12] Оптимизация траектории может применяться в детальном планировании движения сложных гуманоидных роботов, таких как Atlas . [13] Наконец, оптимизация траектории может использоваться для планирования пути роботов со сложными динамическими ограничениями, используя модели с уменьшенной сложностью. [14]
Для тактических ракет профили полета определяются историями тяги и подъемной силы . Эти истории могут контролироваться рядом средств, включая такие методы, как использование истории команды угла атаки или графика высоты/снижения, которому должна следовать ракета. Каждая комбинация факторов конструкции ракеты, желаемых характеристик ракеты и ограничений системы приводит к новому набору оптимальных параметров управления. [15]
Методы решения любых задач оптимизации можно разделить на две категории: косвенные и прямые. Косвенный метод работает путем аналитического построения необходимых и достаточных условий оптимальности, которые затем решаются численно. Прямой метод пытается получить прямое численное решение путем построения последовательности постоянно улучшающихся приближений к оптимальному решению. [16]
Задача оптимального управления — это бесконечномерная задача оптимизации, поскольку переменные решения — это функции, а не действительные числа. Все методы решения выполняют транскрипцию, процесс, посредством которого задача оптимизации траектории (оптимизация по функциям) преобразуется в задачу оптимизации с ограниченными параметрами (оптимизация по действительным числам). Как правило, эта задача оптимизации с ограниченными параметрами представляет собой нелинейную программу, хотя в особых случаях ее можно свести к квадратичной программе или линейной программе .
Одиночная стрельба — это простейший тип метода оптимизации траектории. Основная идея похожа на то, как вы нацеливаете пушку: выбираете набор параметров для траектории, моделируете все это, а затем проверяете, попали ли вы в цель. Вся траектория представлена как один сегмент с одним ограничением, известным как ограничение дефекта, требующим, чтобы конечное состояние моделирования соответствовало желаемому конечному состоянию системы. Одиночная стрельба эффективна для задач, которые либо просты, либо имеют чрезвычайно хорошую инициализацию. В противном случае как косвенная, так и прямая формулировки, как правило, имеют трудности. [16] [19] [20]
Множественная стрельба — это простое расширение одиночной стрельбы, которое делает ее гораздо более эффективной. Вместо того, чтобы представлять всю траекторию как одну симуляцию (сегмент), алгоритм разбивает траекторию на множество более коротких сегментов, и между каждым добавляется ограничение дефекта. Результатом является большая разреженная нелинейная программа, которую, как правило, легче решить, чем небольшие плотные программы, полученные одиночной стрельбой. [19] [20]
Методы прямой коллокации работают путем аппроксимации состояния и управления траекториями с использованием полиномиальных сплайнов . Эти методы иногда называют прямой транскрипцией. Трапециевидная коллокация является широко используемым методом прямой коллокации низкого порядка. Динамика, цель пути и управление представлены с использованием линейных сплайнов, а динамика удовлетворяется с использованием трапециевидной квадратуры . Коллокация Эрмита-Симпсона является распространенным методом прямой коллокации среднего порядка. Состояние представлено кубическим сплайном Эрмита , а динамика удовлетворяется с использованием квадратуры Симпсона . [16] [20]
Ортогональная коллокация технически является подмножеством прямой коллокации, но детали реализации настолько отличаются, что ее можно обоснованно считать отдельным набором методов. Ортогональная коллокация отличается от прямой коллокации тем, что она обычно использует сплайны высокого порядка, и каждый сегмент траектории может быть представлен сплайном другого порядка. Название происходит от использования ортогональных полиномов в сплайнах состояния и управления. [20] [21]
В псевдоспектральной дискретизации вся траектория представлена набором базисных функций во временной области (независимая переменная). Базисные функции не обязательно должны быть полиномами. Псевдоспектральная дискретизация также известна как спектральная коллокация. [22] [23] [24] При использовании для решения задачи оптимизации траектории, решение которой является гладким, псевдоспектральный метод достигает спектральной (экспоненциальной) сходимости. [25] Если траектория не является гладкой, сходимость все равно очень быстрая, быстрее, чем у методов Рунге-Кутты. [26] [27]
В 1990 году Дьюи Х. Ходжес и Роберт Р. Блесс [28] предложили слабый гамильтонов метод конечных элементов для задач оптимального управления. Идея состояла в том, чтобы вывести слабую вариационную форму необходимых условий первого порядка для оптимальности, дискретизировать временную область на конечных интервалах и использовать простое полиномиальное представление нулевого порядка состояний, управлений и сопряженных элементов на каждом интервале.
Дифференциальное динамическое программирование немного отличается от других методов, описанных здесь. В частности, оно не разделяет транскрипцию и оптимизацию. Вместо этого оно выполняет последовательность итеративных прямых и обратных проходов вдоль траектории. Каждый прямой проход удовлетворяет динамике системы, а каждый обратный проход удовлетворяет условиям оптимальности для управления. В конце концов, эта итерация сходится к траектории, которая является как осуществимой, так и оптимальной. [29]
Существует множество методов, из которых можно выбирать при решении задачи оптимизации траектории. Лучшего метода не существует, но некоторые методы могут лучше справляться с определенными задачами. В этом разделе дается приблизительное понимание компромиссов между методами.
При решении задачи оптимизации траектории косвенным методом необходимо явно построить сопряженные уравнения и их градиенты. Это часто бывает трудно сделать, но это дает превосходную метрику точности для решения. Прямые методы гораздо проще в настройке и решении, но они не имеют встроенной метрики точности. [16] В результате прямые методы используются более широко, особенно в некритических приложениях. Косвенные методы все еще имеют место в специализированных приложениях, особенно в аэрокосмической отрасли, где точность имеет решающее значение.
Одно из мест, где косвенные методы имеют особую сложность, — это проблемы с ограничениями неравенства путей. Эти проблемы, как правило, имеют решения, для которых ограничение частично активно. При построении сопряженных уравнений для косвенного метода пользователь должен явно записать, когда ограничение активно в решении, что трудно узнать априори. Одним из решений является использование прямого метода для вычисления начального предположения, которое затем используется для построения многофазной задачи, где ограничение предписано. Полученная задача затем может быть точно решена с помощью косвенного метода. [16]
Методы одиночной стрельбы лучше всего использовать для задач, где управление очень простое (или есть очень хорошее начальное предположение). Например, задача планирования миссии спутника, где единственным управлением является величина и направление начального импульса от двигателей. [19]
Множественная стрельба, как правило, хороша для задач с относительно простым управлением, но сложной динамикой. Хотя ограничения пути могут быть использованы, они делают полученную нелинейную программу относительно сложной для решения.
Методы прямой коллокации хороши для задач, где точность управления и состояния схожа. Эти методы, как правило, менее точны, чем другие (из-за их низкого порядка), но особенно надежны для задач со сложными ограничениями пути.
Методы ортогональной коллокации лучше всего подходят для получения высокоточных решений задач, где важна точность траектории управления. Некоторые реализации имеют проблемы с ограничениями пути. Эти методы особенно хороши, когда решение гладкое.
{{cite book}}
: CS1 maint: несколько имен: список авторов ( ссылка )