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

Trajectory optimization

Оптимизация траектории это процесс проектирования траектория который сводит к минимуму (или максимизирует) некоторую меру производительности при соблюдении набора ограничений. Вообще говоря, оптимизация траектории - это метод вычисления разомкнутого решения для оптимальный контроль проблема.[1] Он часто используется для систем, где вычисление полного решения с обратной связью не требуется, непрактично или невозможно. Если задача оптимизации траектории может быть решена со скоростью, обратной величине Постоянная Липшица,[2] затем его можно итеративно использовать для генерации решения с обратной связью в смысле Каратеодори. Если для задачи с бесконечным горизонтом выполняется только первый шаг траектории, то это известно как Модель прогнозирующего управления (MPC).

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

История

Оптимизация траектории впервые появилась в 1697 году, когда была введена проблема Брахистохрона: найти такую ​​форму проволоки, чтобы шарик, скользящий по ней, перемещался между двумя точками за минимальное время.[3] В этой задаче интересно то, что она оптимизирует кривую (форму провода), а не одно число. Наиболее известное из решений было вычислено с использованием вариационное исчисление.

В 1950-х годах цифровые компьютеры начали использовать оптимизацию траектории для решения реальных проблем. Первые подходы к оптимальному управлению выросли из вариационное исчисление, на основе исследования Гилберт Эймс Блисс и Брайсон[4] в Америке и Понтрягин[5] в России. Принцип максимума Понтрягина[1] Особо следует отметить. Эти первые исследователи заложили основу того, что мы сейчас называем косвенными методами оптимизации траектории.

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

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

Приложения

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

Квадрокоптерные вертолеты

Оптимизация траектории часто используется для расчета траекторий для квадрокоптерные вертолеты. Эти приложения обычно использовали узкоспециализированные алгоритмы.[6][7]Одно интересное приложение, показанное У.Пенн GRASP Lab вычисляет траекторию, которая позволяет квадрокоптеру пролетать через обруч при его бросании. Другой, на этот раз ETH Zurich Flying Machine Arena, включает в себя два квадрокоптера, которые бросают между собой шест взад и вперед, балансируя его, как перевернутый маятник. Недавно была изучена проблема расчета траекторий с минимальной энергией для квадрокоптера.[8]

Производство

Оптимизация траектории используется в производстве, особенно для управления химическими процессами (например, в [9]) или вычисление желаемого пути для роботов-манипуляторов (например, в[10]).

Ходячие роботы

Существует множество различных приложений для оптимизации траектории в области шагающей робототехники. Например, в одной статье использовалась оптимизация траектории двуногой походки на простой модели, чтобы показать, что ходьба энергетически выгодна для движения с низкой скоростью, а бег энергетически выгоден для движения с высокой скоростью.[11]Как и во многих других приложениях, оптимизация траектории может использоваться для вычисления номинальной траектории, вокруг которой построен стабилизирующий контроллер.[12]Оптимизация траектории может применяться при детальном планировании движения сложных гуманоидных роботов, таких как Атлас.[13]Наконец, оптимизация траектории может использоваться для планирования пути роботов со сложными динамическими ограничениями с использованием моделей пониженной сложности.[14]

Аэрокосмическая промышленность

За тактические ракеты, профили полета определяются тягой и поднимать истории. Эти истории можно контролировать с помощью ряда средств, включая такие методы, как использование угол атаки история команд или график высоты / снижения, которому должна следовать ракета. Каждая комбинация факторов конструкции ракеты, желаемых характеристик ракеты и ограничений системы приводит к новому набору оптимальных параметров управления.[15]

Терминология

Переменные решения
Набор неизвестных, которые нужно найти с помощью оптимизации.
Задача оптимизации траектории
Особый тип задачи оптимизации, в которой переменными решения являются функции, а не действительные числа.
Оптимизация параметров
Любая задача оптимизации, в которой переменные решения являются действительными числами.
Нелинейная программа
Класс оптимизации параметров с ограничениями, в котором целевая функция или ограничения являются нелинейными.
Косвенный метод
Косвенный метод решения задачи оптимизации траектории состоит из трех этапов: 1) Аналитическое построение необходимых и достаточных условий оптимальности, 2) Дискретизация этих условий, построение задачи оптимизации с ограниченными параметрами, 3) Решение этой задачи оптимизации.[16]
Прямой метод
Прямой метод решения задачи оптимизации траектории состоит из двух этапов: 1) непосредственно дискретизировать задачу оптимизации траектории, преобразовав ее в задачу оптимизации с ограниченными параметрами, 2) Решить эту задачу оптимизации.[16]
Транскрипция
Процесс преобразования задачи оптимизации траектории в задачу оптимизации параметров. Иногда это называют дискретизацией. Методы транскрипции обычно делятся на две категории: методы съемки и методы коллокации.
Метод стрельбы
Метод транскрипции, основанный на моделировании, обычно с использованием явных схем Рунге-Кутты.
Метод коллокации (Одновременный метод)
Метод транскрипции, основанный на приближении функций, обычно использующий неявные схемы Рунге-Кутты.
Псевдоспектральный метод (Глобальное размещение)
Метод транскрипции, который представляет всю траекторию как один ортогональный многочлен высокого порядка.
Сетка (сетка)
После транскрипции ранее непрерывная траектория теперь представлена ​​дискретным набором точек, известных как точки сетки или точки сетки.
Уточнение сетки
Процесс улучшения сетки дискретизации путем решения последовательности задач оптимизации траектории. Уточнение сетки выполняется либо путем разделения сегмента траектории, либо путем увеличения порядка полинома, представляющего этот сегмент.[17]
Задача оптимизации многофазной траектории
Оптимизация траектории по системе с гибридная динамика[18] может быть достигнута путем постановки задачи оптимизации многофазной траектории. Это делается путем составления последовательности стандартных задач оптимизации траектории, связанных с помощью ограничений.[18][19]

Методы оптимизации траектории

Техники для любых проблемы оптимизации можно разделить на две категории: косвенные и прямые. Косвенный метод работает путем аналитического построения необходимых и достаточных условий оптимальности, которые затем решаются численно. Прямой метод пытается получить прямое численное решение путем построения последовательности непрерывно улучшающихся приближений к оптимальному решению.[16] Прямые и косвенные методы можно смешивать, применяя принцип ковекторного отображения из Росс и Fahroo.[20]

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

Одиночная стрельба

Одиночная стрельба - простейший метод оптимизации траектории. Основная идея похожа на то, как вы прицелились бы из пушки: выберите набор параметров для траектории, смоделируйте все, а затем проверьте, попали ли вы в цель. Вся траектория представлена ​​в виде одного сегмента с одним ограничением, известным как ограничение дефекта, требующим, чтобы конечное состояние моделирования соответствовало желаемому конечному состоянию системы. Покадровая съемка эффективна для решения простых задач или задач с очень хорошей инициализацией. В противном случае как косвенная, так и прямая формулировки обычно вызывают трудности.[16][21][22]

Многократная стрельба

Многократная съемка - это простое расширение одиночной съемки, которое делает ее гораздо более эффективной. Вместо того, чтобы представлять всю траекторию как единое моделирование (сегмент), алгоритм разбивает траекторию на множество более коротких сегментов, и между ними добавляется ограничение дефекта. В результате получается большая разреженная нелинейная программа, которую, как правило, легче решить, чем маленькие плотные программы, созданные одиночной съемкой.[21][22]

Прямое словосочетание

Прямые методы коллокации работают за счет аппроксимации траекторий состояния и управления с использованием полиномов. шлицы. Эти методы иногда называют прямой транскрипцией. Трапециевидная коллокация - это широко используемый метод прямого сопоставления низкого порядка. Динамика, цель траектории и управление представлены с помощью линейных сплайнов, а динамика удовлетворяется с помощью трапециевидная квадратура. Словосочетание Эрмита-Симпсона - это распространенный метод прямого сопоставления среднего порядка. Государство представлено кубический шлиц Эрмита, а динамика удовлетворяется с помощью Квадратура Симпсона.[16][22]

Ортогональное словосочетание

Ортогональное сопоставление технически является подмножеством прямого сопоставления, но детали реализации настолько различны, что его можно с полным основанием считать отдельным набором методов. Ортогональное совмещение отличается от прямого сочетания тем, что оно обычно использует сплайны высокого порядка, и каждый сегмент траектории может быть представлен сплайном другого порядка. Название происходит от использования ортогональных многочленов в сплайнах состояния и управления.[22][23]

Псевдоспектральная коллокация

Псевдоспектральная коллокация, также известная как глобальная коллокация, представляет собой подмножество ортогональной коллокации, в которой вся траектория представлена ​​одним ортогональным полиномом высокого порядка. В качестве примечания: некоторые авторы используют ортогональное сочетание и псевдоспектральное сочетание как синонимы. При использовании для решения задачи оптимизации траектории, решение которой является гладким, псевдоспектральный метод будет достигать спектральный (экспоненциальная) сходимость.[24]

Дифференциальное динамическое программирование

Дифференциальное динамическое программирование, немного отличается от других описанных здесь методов. В частности, в нем нет четкого разделения транскрипции и оптимизации. Вместо этого он выполняет последовательность итеративных проходов вперед и назад по траектории. Каждый прямой проход удовлетворяет динамике системы, а каждый обратный проход удовлетворяет условиям оптимальности для управления. В конце концов, эта итерация сходится к траектории, которая является одновременно достижимой и оптимальной.[25]

Сравнение техник

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

Косвенные и прямые методы

При решении задачи оптимизации траектории косвенным методом вы должны явно построить сопряженные уравнения и их градиенты. Часто это сложно сделать, но это дает отличную метрику точности решения. Прямые методы намного проще настроить и решить, но они не имеют встроенной метрики точности.[16] В результате более широко используются прямые методы, особенно в некритических приложениях. Косвенные методы все еще используются в специализированных приложениях, особенно в аэрокосмической сфере, где точность имеет решающее значение.

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

Съемка против коллокации

Методы одиночной съемки лучше всего использовать для задач, где управление очень простое (или есть очень хорошее первоначальное предположение). Например, задача планирования миссии спутника, где единственным контролем является величина и направление начального импульса от двигателей.[21]

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

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

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

Уточнение сетки: h vs. p

Обычно задачу оптимизации траектории решают итеративно, каждый раз используя дискретизацию с большим количеством точек. А h-метод для измельчения сетки работает за счет увеличения количества сегментов траектории вдоль траектории, в то время как p-метод увеличивает порядок метода транскрипции в каждом сегменте.

В методах прямого сопоставления обычно используется уточнение типа h-методом, поскольку каждый метод имеет фиксированный порядок. Как в методах съемки, так и в методах ортогонального совмещения могут использоваться уточнения сетки h-методом и p-методом, а в некоторых используется комбинация, известная как адаптивная сетка hp. Лучше всего использовать h-метод, когда решение негладкое, тогда как p-метод лучше всего подходит для гладких решений.[19]

Программного обеспечения

Примеры программ оптимизации траектории включают:

  • APMonitor: Программное обеспечение для крупномасштабной оптимизации, основанное на ортогональном совмещении.
  • ASTOS: Программное обеспечение для анализа, моделирования и оптимизации траектории для космических приложений. Программное обеспечение ASTOS - это многоцелевой инструмент для космических приложений. Первоначально разработанный для оптимизации траектории, теперь он предоставляет модули для различных возможностей анализа, моделирования и проектирования.
  • Bocop - Оптимальный решатель управления: Набор инструментов с открытым исходным кодом для решения задач оптимального управления (удобный и расширенный графический интерфейс для эффективного использования).
  • PyKEP, PyGMO (Открытый исходный код от Европейского космического агентства для оптимизации межпланетных траекторий)
  • Система проектирования и оптимизации траектории Коперника [1]
  • ДИДО
  • Быстрый выстрел: Универсальный многопоточный инструмент моделирования траектории 3-DOF / 4-DOF для надежной глобальной оптимизации от SpaceWorks Enterprises, Inc.[26][27][28]
  • DIRCOL: Универсальное программное обеспечение для оптимизации траектории, основанное на прямом совмещении.
  • Дрейк: Набор инструментов для планирования, управления и анализа нелинейных динамических систем.
  • FALCON.m: Инструмент оптимального управления FSD для Matlab, разработанный в Институте динамики систем полета Технического университета Мюнхена.
  • Gekko (программа для оптимизации): Пакет оптимизации Python[29] с приложениями оптимизации траектории HALE Самолет[30] и воздушные буксируемые кабельные системы.[31][32]
  • Инструмент общего анализа миссии
  • GPOPS-II (граммэнеральный пуговаривать OPTimal Control Software) Решает многофазные задачи оптимизации траектории. (Matlab)[19]
  • HamPath: О решении задач оптимального управления косвенными и последовательными методами (интерфейсы Matlab и Python).
  • JModelica.org (Платформа с открытым исходным кодом на основе Modelica для динамической оптимизации)
  • LOTOS (Программное обеспечение для оптимизации переходной траектории на орбиту с малой тягой) от Astos Solutions
  • MIDACO Программное обеспечение для оптимизации, специально разработанное для траекторий межпланетного пространства. (Доступно в Matlab, Octave, Python, C / C ++, R и Fortran)
  • OpenOCL Открытая библиотека оптимального управления, библиотека моделирования оптимального управления, автоматическое дифференцирование, нелинейная оптимизация, Matlab / Octave.
  • OTIS (Оптимальные траектории путем неявного моделирования) [2]
  • POST (Программа оптимизации смоделированных траекторий) [3], [4]
  • OptimTraj: Библиотека оптимизации траектории с открытым исходным кодом для Matlab.
  • ZOOM, Концептуальное проектирование и анализ конфигураций и траекторий ракет) [5]
  • PSOPT, программный пакет оптимального управления с открытым исходным кодом, написанный на C ++, который использует методы прямого сопоставления [6]
  • OpenGoddard Программный пакет оптимального управления с открытым исходным кодом, написанный на Python, использующий псевдоспектральные методы.
  • Системный комплект инструментов Astrogator (STK Astrogator): Специализированный модуль анализа орбитальных маневров и проектирования космических траекторий. Astrogator предлагает оптимизацию траектории на основе ортогональных коллокаций с использованием высокоточных моделей силы.
  • белуга: Пакет Python с открытым исходным кодом для оптимизации траектории с использованием косвенных методов.

Здесь можно найти набор инструментов оптимизации траектории малой тяги, включая элементы набора инструментов траектории малой тяги (LTTT): Инструменты оптимизации LTTT Suite.

Рекомендации

  1. ^ а б Росс, И.М. Учебник по принципу Понтрягина в оптимальном управлении, Collegiate Publishers, Сан-Франциско, 2009.
  2. ^ Росс, И. Майкл; Сехават, Пуйя; Флеминг, Эндрю; Гун, Ци (март 2008 г.). «Оптимальное управление с обратной связью: основы, примеры и экспериментальные результаты для нового подхода». Журнал наведения, управления и динамики. 31 (2): 307–321. Дои:10.2514/1.29532. ISSN 0731-5090.
  3. ^ 300 лет оптимального контроля: от брахистохрона к принципу максимума, Гектор Дж. Суссманн и Ян К. Виллемс. Журнал IEEE Control Systems, 1997.
  4. ^ Брайсон, Хо, Прикладное оптимальное управление, издательство Blaisdell Publishing Company, 1969, стр. 246.
  5. ^ Л.С. Понтырагин, Математическая теория оптимальных процессов, Нью-Йорк, Intersciences, 1962.
  6. ^ Даниэль Меллингер и Виджей Кумар, «Создание и управление минимальной траекторией для квадрокоптеров» Международная конференция по робототехнике и автоматизации, IEEE 2011
  7. ^ Маркус Хен и Рафаэлло Д'Андреа, «Построение траектории в реальном времени для квадрокоптеров» IEEE Transactions по робототехнике, 2015 г.
  8. ^ Фабио Морбиди, Роэль Кано, Дэвид Лара, «Создание траектории с минимальной энергией для квадрокоптера БПЛА» в Proc. Международная конференция IEEE по робототехнике и автоматизации, стр. 1492-1498, 2016 г.
  9. ^ Джон У. Итон и Джеймс Б. Роулингс. "Модельно-прогнозирующее управление химическими процессами" Химическая инженерия, Том 47, № 4. 1992.
  10. ^ Т. Четтиби, Х. Лехтихет, М. Хаддад, С. Ханчи, «Планирование траектории с минимальными затратами для промышленных роботов» Европейский журнал механики, 2004.
  11. ^ Манодж Сринивасан и Энди Руина. «Компьютерная оптимизация минимальной двуногой модели открывает путь к ходьбе и бегу», Nature, 2006.
  12. ^ Э. Р. Вестервельт, Дж. У. Гризл, Д. Кодичек. "Гибридная нулевая динамика плоских двуногих ходунков" IEEE Transactions по автоматическому управлению, 2003.
  13. ^ Майкл Поза, Скотт Куиндерсма и Расс Тедрейк. «Оптимизация и стабилизация траекторий для динамических систем со связями». Международная конференция по робототехнике и автоматизации, IEEE 2016.
  14. ^ Хонгкай Дай, Андрес Валенсуэла и Расс Тедрейк. Международная конференция по роботам-гуманоидам «Планирование движений всего тела с помощью центроидальной динамики и полной кинематики», IEEE 2014.
  15. ^ Филлипс, К.А., "Управление энергией для многоимпульсной ракеты", AIAA Paper 88-0334, январь 1988 г.
  16. ^ а б c d е ж грамм Джон Т. Беттс «Практические методы оптимального управления и оценки с помощью нелинейного программирования» SIAM: достижения в области проектирования и управления, 2010 г.
  17. ^ Кристофер Л. Дарби, Уильям В. Хагер и Анил В. Рао. «HP-адаптивный псевдоспектральный метод решения задач оптимального управления». Приложения и методы оптимального управления, 2010.
  18. ^ а б Росс, И. Майкл; Д'Суза, Кристофер Н. (июль 2005 г.). «Гибридная оптимальная система управления для планирования миссии». Журнал наведения, управления и динамики. 28 (4): 686–697. Дои:10.2514/1.8285. ISSN 0731-5090.
  19. ^ а б c Паттерсон, Майкл А .; Рао, Анил В. (2014-10-01). "GPOPS-II: программное обеспечение MATLAB для решения многофазных задач оптимального управления с использованием hp-адаптивных методов гауссовской квадратурной коллокации и разреженного нелинейного программирования". ACM Trans. Математика. Softw. 41 (1): 1:1–1:37. Дои:10.1145/2558904. ISSN 0098-3500.
  20. ^ И. М. Росс и М. Карпенко, "Обзор псевдоспектрального оптимального управления: от теории к полету", Annual Reviews in Control, Vol. 36, стр. 182-197, 2012.
  21. ^ а б c Обзор численных методов оптимизации траектории; Журнал Джона Т. Беттса по руководству, контролю и динамике, 1998 г .; 0731-5090 том 21 №2 (193-207)
  22. ^ а б c d Анил В. Рао "Обзор численных методов оптимального управления" Успехи космонавтики, 2009.
  23. ^ Камила К. Франколин, Дэвид А. Бенсон, Уильям В. Хагер, Анил В. Рао. "Оценка стоимости в оптимальном управлении с использованием методов интегральной гауссовской квадратурной ортогональной коллокации" Приложения и методы оптимального управления, 2014.
  24. ^ Ллойд Н. Трефетен. «Теория приближений и практика приближений», SIAM 2013
  25. ^ Дэвид Х. Джейкобсон, Дэвид К. Мэйн. «Дифференциальное динамическое программирование» Эльзевье, 1970.
  26. ^ "Инновационные авиационные двигательные установки для будущих военных активов | SBIR.gov". www.sbir.gov. Получено 2017-04-04.
  27. ^ «Анализ и параметрическая оценка эталонных миссий по разработке гиперзвуковых исследовательских транспортных средств с использованием QuickShot | Phoenix Integration». www.phoenix-int.com. Получено 2017-04-04.
  28. ^ «SpaceWorks Enterprises Inc. получила награду SBIR фазы 2 от AFRL для дальнейшего развития инструмента QuickShot Trajectory Tool». SpaceWorks. 2015-08-24. Получено 2017-04-04.
  29. ^ Бил, Л. (2018). «Пакет оптимизации GEKKO». Процессы. 6 (8): 106. Дои:10.3390 / pr6080106.
  30. ^ Гейтс, Н. (2019). «Комбинированная оптимизация траектории, силовой установки и массы аккумулятора для высотных беспилотных летательных аппаратов с солнечной регенерацией и длительным сроком службы». Форум науки и технологий AIAA (SciTech). AIAA 2019-1221. Дои:10.2514/6.2019-1221.
  31. ^ Солнце, Л. (2014). «Построение оптимальной траектории с использованием прогнозирующего управления моделью для кабельных систем с воздушной буксировкой» (PDF). Журнал наведения, управления и динамики. 37 (2): 525–539. Bibcode:2014JGCD ... 37..525S. CiteSeerX 10.1.1.700.5468. Дои:10.2514/1.60820.
  32. ^ Солнце, Л. (2015). «Оценка параметров буксируемых кабельных систем с использованием оценки движущегося горизонта» (PDF). IEEE Transactions по аэрокосмическим и электронным системам. 51 (2): 1432–1446. Bibcode:2015ITAES..51.1432S. CiteSeerX 10.1.1.700.2174. Дои:10.1109 / TAES.2014.130642.