Как дрессируют вертолеты: Искусственный интеллект
Руководит командой профессор Стэнфордского университета Эндрю Энг. Этот уроженец Восточной Азии, носящий на своем серьезном лице очки в тонкой металлической оправе, больше похож не на авиатора, а на компьютерного гения, коим он, собственно, и является. Профессор Энг — математик и сотрудник факультета вычислительной техники — вместе со своими учениками играет в забавные игрушки. Среди них робот, смонтированный на электронном самокате Segway, четвероногое нечто, названное авторами «маленький песик», и много радиоуправляемых моделей вертолетов. В руках стэнфордских исследователей все эти неодушевленные предметы стремительно «умнеют», обучаясь действовать в изменяющейся среде автономно, без помощи человека, а иногда превосходя его.
Мы привыкли к мысли о всемогуществе роботов и чаще вспоминаем о том, что они умеют, чем о том, чего они не умеют или что им дается с трудом. Правильно запрограммированная машина способна выполнить различные действия и операции с недостижимой для человека точностью. Профессор Энг приводит в пример робота, который с легкостью удерживает вращающийся волчок на лезвии меча. Такое вряд ли под силу обычному человеку. Но создать робота, который проведет в доме простую уборку, неизмеримо труднее, чем обучить машину эквилибристике. Дело в том, что, имея общую задачу — наведение порядка в помещении, робот должен будет ставить перед собой и решать множество мелких задач. Например, обнаружив забытую на диване чашку, машине придется определить, что это именно чашка, а не что-то другое, понять, что ее надо брать за ручку, найти эту ручку и, наконец, взять и донести чашку до посудомоечной машины.
Разумеется, заранее ввести в машину программу, которая будет точно знать, в каком месте вы оставите тот или иной предмет, невозможно. Поэтому с задачей приведения в порядок хаотично расставленных и имеющих самые разные формы предметов может справиться лишь робот, действующий в автономном режиме, способный анализировать окружающую среду и ставить себе в зависимости от результатов анализа задачи, выполнение которых приведет к главной цели. То есть речь идет о машине, работающей под управлением искусственного интеллекта.
Еще в 1966 году в Стэнфорде построили робота по имени Shakey, который мог двигаться, воспринимать окружающую реальность и решать некие задачи на основе полученной информации. Однако и сорок лет спустя созданные модели искусственного интеллекта еще далеки от совершенства. «Вращение волчка на лезвии меча — решенная задача, — говорит профессор Энг, — а вот опознание чашки незнакомой формы — нерешенная». Но решающаяся, стоит добавить, в рамках проекта STAIR (аббревиатура названия Stanford Artificial Intelligence Robot), которым руководит Эндрю Энг. Однако создание робота, который может самостоятельно выполнять «домашние работы», — не единственная область интересов профессора. Другой сферой, где искусственный интеллект начинает соперничать с естественным, стало небо.
Учитель для роботов
Если перейти от языка метафор к более строгим определениям, то вертолет, находящийся в воздухе (особенно на малых скоростях), можно назвать нестабильной системой. Управление им состоит из постоянных корректирующих действий с учетом меняющейся аэродинамической обстановки. Без этих действий вертолет просто упадет. Таким образом, если речь идет о передаче функций пилота роботу, задача оказывается весьма схожей с теми, которые исследователям приходится решать в рамках проекта STAIR. Пилоту-роботу необходим алгоритм, который позволил бы действовать в воздухе с учетом переменных условий. Имея в виду общую цель (план полета), машина должна работать над задачами, правильные решения которых позволили бы достичь этой цели наиболее оптимальным образом.
Управляемые компьютером модели вертолетов существовали и раньше, однако команда Эндрю Энга задумала обучить робота головокружительным фигурам высшего пилотажа. Для этого в стенах Стэнфордского университета и была запущена программа Autonomous Helicopter.
Для того чтобы превратить робота в аса-вертолетчика, Энгу и его ученикам — Питеру Эббилу, Адаму Коатсу и другим — пришлось найти ответ на вопросы: кто станет учителем для роботов-пилотов и как передать знания от учителя к ученикам?
В качестве учителя был выбран Гэйретт Оку — опытнейший пилот спортивных радиоуправляемых моделей вертолетов. Про него говорили, что он может взять практически любую модель, даже ранее ему неизвестную, и продемонстрировать на ней высший класс пилотажа. Привлечение учителя-эксперта стало необходимостью, после того как потерпели неудачу более ранние попытки создать специальную программу, содержащую описания всех траекторий фигур высшего пилотажа. Под управлением этой программы модель вертолета смогла выполнить лишь несложные фигуры, да и то на уровне новичка. Исследователей из Стэнфорда такой результат совершенно не устраивал: они считали, что робот может и должен управлять вертолетом на уровне, а то и лучше профессионалов. Но как человек может научить робота?
Оказывается (если не вдаваться в детали) — точно так же, как это практикуется в чисто человеческом обществе: ученик подражает учителю и учится на собственных ошибках.
Первым шагом на пути создания алгоритма, управляющего автономным вертолетом в ходе выполнения фигур высшего пилотажа, стала целая серия демонстрационных полетов радиоуправляемой модели, в ходе которых показывались виражи, спирали, мертвые петли, штопоры, перевороты и — гвоздь программы — сложнейшая фигура «колокол». При исполнении «колокола» нос вертолета направлен вверх, а хвостовая часть раскачивается наподобие маятника.
Что дальше? Нельзя ли, например, записать последовательность команд, подаваемых Гэйреттом Оку на вертолет в ходе исполнения той или иной фигуры, а затем ввести ее в память компьютера, управляющего автономной моделью? К сожалению, этот вариант слишком прост, чтобы быть эффективным, так как каждый полет отличается от другого в силу переменчивости воздушной среды. Достаточно подуть боковому ветру, которого не было при предыдущей демонстрации, и действия пилота уже должны подвергнуться существенной корректировке.
Вклад учителя-эксперта в обучение — это набор траекторий, описанных радиоуправляемой моделью в ходе демонстрационных полетов. Если говорить, например, о петле, то графически совокупность траекторий будет выглядеть как окружность, несколько раз грубо обведенная ручкой или карандашом. Задача машинного алгоритма — вывести из этого набора идеальную траекторию, по которой фигуру высшего пилотажа сможет выполнить вертолет, управляемый роботом.
Превосходя наставника
Речь не идет, разумеется, о некоем арифметическом усреднении. Создание оптимальной программы для автоматического управления вертолетом будет происходить при помощи специального симулятора, в который будут введены данные о динамической модели вертолета и о среде, а также параметры полученных в ходе демонстрационных полетов траекторий. Вся эта информация ляжет в основу машинного обучения. Разрабатываемая программа, пилотируя вертолет в симуляторе, пройдет «курс» так называемого обучения с подкреплением.
В итоге работы с симулятором вырабатывается алгоритм оптимального управления вертолетом и практически идеальная траектория выполнения фигуры высшего пилотажа. Получив первые уроки у пилота-эксперта, сделав свои ошибки и получив за них заслуженные «наказания», машина теперь может превзойти его по уровню летного мастерства, что реально и происходит.
Стоит заметить, что переработанные из спортивных радиоуправляемых моделей «автономные» вертолеты с точки зрения «железа» пока еще автономны не вполне. Оборудование, обеспечивающее контроль за полетом и управление им, распределено между бортом и землей. На вертолетах установлены акселерометры, гироскопы и магнетометры — последний использует магнитное поле Земли для определения ориентации машины. Точное положение вертолета в пространстве определяется при помощи приемника GPS на борту и направленных в небо, но установленных на земле цифровых камер. Также на земле установлен компьютер, который обрабатывает поступающую с частотой 20 раз в секунду информацию с вертолета и мгновенно отправляет назад управляющие команды. Предполагается, однако, что на летательных аппаратах большего размера все необходимое оборудование удастся разместить на борту.
Без «человеческого фактора»
Каков же практический смысл игр с радиоуправляемыми моделями, которые ведут Эндрю Энг и его команда? Волнуют ли ученых лишь общие вопросы создания программ для роботов с адаптивным поведением, умеющих реагировать на переменчивую среду? Или роботы за штурвалами вертолетов действительно смогли бы оказаться эффективнее обычных пилотов? Профессор Энг вполне убежден в том, что беспилотные автономные вертолеты смогут послужить человечеству, не только развлекая посетителей авиашоу лихими воздушными пируэтами. Учитывая популярность беспилотных летательных аппаратов как в военной, так и в гражданской сфере, управляемые роботом вертолеты несомненно найдут свое применение для мониторинга опасных зон и территорий. Например, они могли бы искать мины там, где недавно прошла война, или находить очаги лесных пожаров, чтобы оперативно сообщать о них пожарным. В силу своей маневренности и умения зависать в воздухе винтокрылые машины подходят для решения подобных задач как нельзя лучше. Но для этого, как считает Эндрю Энг, программы, управляющие вертолетами, должны выполнять свою работу на уровне самых опытных пилотов в мире или даже превосходить их.
А каковы перспективы использования искусственного интеллекта на настоящих пилотируемых вертолетах? Как можно судить по публикациям команды Эндрю Энга и его учеников, глубоко данный вопрос пока не прорабатывается, однако некоторые шаги в этом направлении уже сделаны. В частности, создан алгоритм, под управлением которого вертолет способен не только выполнять в автономном режиме фигуры высшего пилотажа, но и осуществлять посадку на авторотации.
Авторотацией называется режим работы главного ротора вертолета при отключенном или вышедшем из строя двигателе. В этом случае энергия, необходимая для вращения винта, отбирается от набегающего на винт потока. Для вертолета такой режим считается аварийным, однако опытный пилот, управляя скоростью главного ротора, способен совершить на авторотации безопасную посадку. Но если опыта не хватит и при касании земли вертикальная или горизонтальная скорость аппарата окажутся слишком высокими, вертолет может разрушиться или перевернуться. Низкая скорость движения винта может привести и к тому, что лопасти отрубят вертолету хвост, что также может закончиться печально. А главное — повторный заход на посадку при авторотации невозможен.
Чтобы решить эту проблему, ученые из Стэнфорда взялись за создание алгоритма управления вертолетом в случае экстренной посадки. Методика осталась прежней: сначала Гэйретт Оку провел десять спусков радиоуправляемой модели на авторотации, затем был вычислен алгоритм идеальной посадки, который и был внесен в память управляющего вертолетом компьютера. На этапе спуска автономный вертолет двигался по траектории, приблизительно повторяющей траекторию моделей, управляемых по радио. Затем на этапе выравнивания (он начался на высоте 9 м) аппарат двигался уже по «идеальной» траектории, просчитанной с помощью компьютера. Согласно поставленной задаче в момент касания земли горизонтальная скорость вертолета должна быть практически нулевой. Испытания автономных вертолетов (для них применялась модель XCell Tempest длиной 137 см) состояли из 25 посадок, каждая из которых завершилась успешно, после чего команда Эндрю Энга объявила о создании первого в истории роботизированного автономного вертолета, умеющего самостоятельно совершать безопасную посадку в режиме авторотации. Возможно, через какое-то время робот сможет посадить и пилотируемый вертолет, исключив в экстренной ситуации действие «человеческого фактора»?