Ситуационный подход к организации поведения
  мобильного робота в условиях неопределенности.

			Ющенко А.С.  Киселев Д.В.
                                          (МГТУ им.Н.Э.Баумана)

            Одно из основных направлений, получивших значительное развитие в последнее время при организации управления робототехническими системами в условиях  неопределенности, это применение аппарата  нечетких множеств для описания ситуаций и принятия решений. Целесообразность использования такого подхода обусловлена тем, что показания сенсоров робота, как правило, неточны и позволяют только приблизительно, качественно определить ситуацию. При управлении со стороны оператора, в том числе, при обучении робота, при формировании экспертных  оценок и правил поведения человек также использует нечеткие пространственно-временные отношения, свойственные его восприятию мира. В свою очередь, это обстоятельство находит отражение при формировании структуры системы знаний и принятия решений роботом [1]. Известно, что применение нечетких представлений  дает значительные преимущества при решении сложных задач в условиях неопределенности за счет того, что число нечетких, плохо детализированных правил оказывается существенно меньше, чем число соответствующих правил, определенных обычным путем [2].
    Подобный  подход  рассматривается  ниже применительно к задаче управления движением мобильного робота в условиях неопределенности. В качестве модели такой задачи рассматривались задания, выполнявшиеся мобильными роботами на соревнованиях, проводившихся в 1999 г. в Институте  механики МГУ им. М.В.Ломоносова  в рамках фестиваля «Мобильные роботы». Задания заключались в том, чтобы двигаться в соответствии с сигналами инфракрасных маяков, появлявшихся случайным образом в рабочем пространстве робота; требовалось приблизиться к маяку за кратчайшее время, либо пройти между двумя маяками, причем с определенной стороны.
   Основная информация о положении маяка по отношению к роботу определялась с помощью ПЗС - камеры и имела нечеткий характер за счет искривления растра, присущего широкоугольным короткофокусным объективам, смещения изображения  в фокальной плоскости при движении робота («смазывания» изображения), а также существенного времени запаздывания при обработке сигналов системой технического зрения (СТЗ). В связи с этим для определения азимута  на маяк с  помощью СТЗ была введена лингвистическая переменная  , принимающая пять значений: far left, near left, center, near right, far right, определенных своими функциями принадлежности (рис.1,а). При наличии двух маяков в поле зрения робота аналогично оценивался азимут на второй маяк (один из них считается далее левым, другой - правым), а также расстояние между ними d (рис.1,б). Линейная и угловая скорость (точнее, приращение  угловой скорости) робота измеряются другими сенсорами   и для них также вводятся соответствующие лингвистические переменные (рис.1,в,г ). Таким образом, любая ситуация, в которой может оказаться робот, описывается в рассматриваемом случае пятью лингвистическими переменными.
   Процедура фаззификации, т.е. определения нечеткого описания ситуации по измерениям соответствующих переменных, осуществляется в блоке, названном нами «ситуационный коррелятор» (рис.2). Используя  базу данных, содержащую экспертные оценки фактора достоверности Cf - certainty factor, Cf . Для каждой из переменных, ситуационный коррелятор выбирает те значения лингвистических переменных, для которых Cf максимален. Порог фактора достоверности был выбран равным 0,5, т.е. при значениях, меньших, чем 0,5, гипотеза считалась ложной. В результате для каждого значения вектора измерений определялась одна из возможных нечетких ситуаций. Например, ситуация, описываемая значениями лингвистических переменных, выделенных на рис. 1, имеет следующий смысл: первый маяк находится далеко слева, второй далеко справа, расстояние между маяками большое, робот движется вперед  (по отношению к обнаруженным маякам) со средней скоростью, прямо. 
   Отметим, что при таком подходе количество возможных ситуаций оказывается конечным, причем каждая из них описывается фреймом, содержащим значения пяти лингвистических переменных, каждая из которых для конкретной ситуации принимает единственное значение.
   На множестве ситуаций определяется нечеткое управление - совокупность нечетких  правил, определяемых как с учетом априорных экспертных знаний, так и с использованием правил нечеткого вывода. В известной степени такой подход развивает принципы ситуационного управления, сформулированные Д.А.Поспеловым  [3,4]. Принятие решения о целесообразном движении в данной ситуации осуществляется в два этапа. Первый - предварительный вывод, получаемый с использованием нечетких ассоциативных карт FAM - Fuzzy Associative Map. Второй - этап формального вывода с использованием правил нечеткой логики.
   Нечеткая ассоциативная карта содержит априорные экспертные знания, устанавливающие связь между значениями лингвистических переменных, определяющих ситуацию и соответствующими операторами, характеризующими необходимые действия робота (ниже мы называем их системными операторами). Пример FAM для азимута на левый маяк приведен на рис.3. Это матрица чисел,  определяющих экспертные оценки степени правдоподобия решений, соответствующих значениям ситуационной лингвистической переменной . Такие карты составляются заранее для каждой из пяти лингвистических переменных, участвующих в определении ситуации. Конкретные значения переменных извлекаются из описания фрейма ситуации в блоке, названном на схеме рис.2 «фреймовый дизассемблер». Этот блок взаимодействует с базой данных, содержащих FAM (базой априорных знаний) и с базой данных о системных операторах. Последние описываются как лингвистические переменные, определяющие характер движения . Пример описания оператора, определяющего направление движения приведен на рис.4. Это лингвистическая переменная, принимающая пять значений, заданных  своими функциями принадлежности.
   Логический вывод осуществляется исходя из предпосылки, включающей ситуацию и текущее значение функции принадлежности, полученное при измерении (рис 5,а). Предварительное заключение с помощью FAM позволяет определить значения системного оператора (рис. 5,б), после чего делается формальный вывод с отсечением значений функций принадлежности в соответствии со значениями, содержащимися в FAM (рис. 5,в). Аналогично решается задача и для  азимута правого маяка, после чего проводится дефаззификация методом определения центра тяжести (рис. 5,г). Результат вычислений представляет собой требуемый курсовой угол, или, с учетом предыдущих измерений, значение , необходимое для его коррекции. Сама коррекция достигается за счет соответствующего изменения  угловой скорости робота. 
   Линейная скорость движения в рассматриваемой задаче регулируется независимо от угловой и зависит, в основном, от параметра d. Вывод необходимого значения линейной  скорости (или  корректирующего значения), осуществляется по той же схеме, в которой отсутствует сравнение данных от двух источников измерений.
  Заметим, что при управлении роботом со стороны человека-оператора процедуру дефаззификации (заключительный этап рассмотренной выше процедуры определения решений) целесообразно заменить процедурой определения нечетких системных операторов, например таких: »сильно увеличить линейную скорость», «немного уменьшить угловую скорость» и т.п. Для  этого могут быть введены соответствующие лингвистические переменные, определяющие характер необходимого изменения линейной и угловой скоростей движения робота. Таким образом, система имеет возможность «общаться» с оператором с использованием нечетких отношений, что несомненно облегчит работу последнего при управлении и при обучении робота. 
  Другая, пока недостаточно исследованная возможность рассматриваемой системы состоит в возможности самообучения путем коррекции экспертных данных, содержащихся в ассоциативных картах, а также и функций принадлежности. Это возможно путем апостериорного анализа «истории» решения задачи и постепенного  «накопления опыта».
  Еще одна из проблем, которая пока не решена, заключается в возможности возникновения  ситуаций, которые не могут быть распознаны ситуационным коррелятором. Например, появление препятствия, закрывающего маяк. В этом случае необходимо предусмотреть возможность выполнения роботом специальных гностических движений, целью которых является доопределение текущей ситуации.
  Решение проблем, затронутых в этом сообщении, конечно представляет интерес не только для мобильных роботов, выполняющих весьма частные задачи, рассмотренные выше. Речь идет о достаточно общем подходе, который можно было бы применить как для управления мобильными роботами, так и для решения широкого круга других задач экстремальной робототехники.

Список литературы.

1. Ющенко А.С. Организация деятельности эргатической робототехнической системы на основе нечетких представлений. - Труды IX Научно-технической конференции «Экстремальная  робототехника»/ Под ред. Е.И.Юревича - Изд.СПбГТУ, Санкт-Петербург, 1998, с.54-59.
2. Прикладные нечеткие системы / Под ред. Т.Тэрано, К.Асаи и М.Сугэно - пер. с японского. -М.: Мир, 1993 -  368 с.
3. Поспелов Д.А. Ситуационное управление. Теория и практика. – М.: Наука,    1986. – 285с
4. Поспелов Д. А.  Ситуационное управление – основа прикладных интеллектуальных систем. - Вестник МГТУ, Сер. Приборостроение ,1995 №2.