Задачи динамики и управления мобильными роботами

Павловский В.Е.

Аннотация.
    Работа посвящена анализу задач управления мобильными колесными роботами. На примере задач футбола роботов рассматриваются задачи управления отдельным роботом и группами роботов. Дан краткий обзор современных соревнований роботов-футболистов. Решена задача синтеза траекторий, планирования и реализации движения мобильного робота. Постановка задачи определена необходимостью построения квазиоптимального управления роботами с двумя независимо управляемыми колесами и одним (возможно, двумя) пассивным колесом. Представлен проект "Виртуальный футбол" - система моделирования игры роботов-футболистов и алгоритмы управления игроками в игре.
    Выполненные исследования являются шагом в решении задачи создания интеллектуальных алгоритмов группового управления роботами.
    Работа выполнена при финансовой поддержке грантов РФФИ 02-01-00750, 04-01-00065, гранта НШ-1835.2003.1, Государственного контракта 11.7160 (2005 г.).
1. Введение.
    Работа выполнена в рамках проекта по созданию методов управления группой роботов, решающих задачи, требующие их коллективного участия. В качестве примеров рассматривается участие роботов в интеллектуальной игре - футболе[1-2,7-9].
    В работе дан краткий обзор современных соревнований роботов-футболистов. Далее рассмотрены задачи управления отдельным роботом и группами роботов. Для задачи управления отдельным роботом выполнено аналитическое исследование и найдены решения задач синтеза траекторий, планирования и реализации движения робота. Постановка задачи определена необходимостью построения квазиоптимального управления роботами с двумя независимо управляемыми колесами и одним (возможно, двумя) пассивным колесом - роботом с дифференциальным приводом.
    Задачи группового управления решаются на основе математического моделирования. Представлена система моделирования игры роботов-футболистов и базовые алгоритмы управления игроками в игре - представлен проект "Виртуальный футбол". Описаны общая схема игры, используемые модели игры, принципы управления движением роботов-игроков, структура системы моделирования, предложены эвристические методы управления коллективом роботов для достижения цели игры.
2. СХЕМЫ СОРЕВНОВАНИЙ ПО ФУТБОЛУ РОБОТОВ.
    В настоящее время предложен ряд различных схем организации соревнований роботов-футболистов, например схемы соревнований Ассоциации RoboCup, или схемы, принятые в Международной Федерации FIRA [1-3]. В RoboCup заявлен следующий манифест: "Через 50 лет, в 2050 году, команда роботов-футболистов должна выиграть у Чемпиона мира по футболу (команды людей-футболистов)" [2], и для достижения этой цели соревнования проводятся в нескольких Лигах, в частности - Лиге Моделирования, Лиге малых роботов, Лиге средних роботов, Лиге 4-ногих роботов SONY (AIBO), Лиге гуманоидных роботов (она впервые в демо-режиме введена с 2001 года, с 2002 года Лига участвует в соревнованиях в регулярном режиме) и дополнительных (ассоциированных) Лигах - Лиге роботов-спасателей и Юниорской Лиге. Соревнования проводятся в виде Чемпионатов мира для роботов, открытых Чемпионатов или кубков отдельных стран, а также в виде открытых турниров на крупнейших Международных соревнованиях. Так например, соревнования в 2000 г. были проведены в рамках Австралийской Олимпиады и проходили в Мельбурне. Аналогичным образом развивается проект Ассоциации FIRA.
    В качестве примеров роботов - участников таких соревнований ниже на рис.1,2 показаны роботы Лиги малого класса и фрагмент игры роботов Лиги среднего класса [4], определенных правилами RoboCup.

Рис.1. Прототипы роботов-футболистов Малой Лиги RoboCup.

    На рис.2 приведен эпизод финального матча команды CS Freiburg Университета Albert-Ludwigs, Фрейбург, Германия, против команды Trackies Университета Osaka, Осака, Япония, во время Чемпионата мира 2001 г., (проходившего в рамках 1-ой Международной конференции по роботизированному футболу в Сиэтле, США, 4-10 августа 2001 г.), команда CS Freiburg этот турнир выиграла и стала Чемпионом мира 2001 г.

Рис.2. Фрагмент игры роботов Средней Лиги RoboCup на Чемпионате 2001 года.


    Интересный Чемпионат мира был проведен RoboCup в 2002 году параллельно с мировым футбольным чемпионатом, проходившим в Японии и Корее. Чемпионат RoboCup прошел в японском городе Фукуока. О постоянно возрастающей активности ассоциации RoboCup и разработчиков роботов-футболистов говорят следующие цифры - всего на Чемпионате в Фукуоке присутствовали 188 команд из 29 стран, в них суммарно входило более 1000 участников - разработчиков роботов разных Лиг. Соревнования в Фукуоке за 5 игровых дней посетили более 117000 зрителей. В последующие годы число участвующих в Соревнованиях команд постоянно растет.

    Ниже на нескольких фотографиях приведены фрагменты соревнований роботов-футболистов в Фукуоке [10-11] а также фрагменты с Чемпионатов RoboCup 2004-2005 гг. Вначале показаны гуманоидные роботы, соревнующиеся в упражнении "пенальти" в Фукуоке (2002 г.).


Рис.3. Роботы Asimo (Honda) в упражнении "пенальти".




Рис.4. Пенальти выполняет робот Tao-Pie-Pie (Новая Зеландия), в воротах стоит робот ARICC-HURO (Сингапур).


    Победитель соревнований роботов-гуманоидов в Фукуоке определялся по общей совокупности номинаций-упражнений (всего их было задано три). В итоге победителем среди гуманоидных роботов стал японский робот Nagara (разработчики - Ассоциация промышленности префектуры Гифу, Япония), показанный на рис.5.



Рис. 5. Робот Nagara - победитель 2002 года среди роботов - гуманоидов.


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


Рис.6. Соревнования в Лиге малых роботов RoboCup.


    В отличие от Малой Лиги роботы, соревнующиеся в Лиге Среднего класса, являются полностью автономными и должны быть оснащены развитой бортовой системой управления и весьма развитой сенсорной системой, центром которой является подсистема зрения робота. Фрагмент этих соревнований в 2002 году приведен на рис.7.


Рис.7. Матч команд Средней Лиги.


    Укажем нововведение в соревнованиях роботов Средней Лиги - сравнивая эпизоды 2001 г. (рис.2) и фрагмент, приведенный выше (рис.7), можно заметить, что ранее в этих соревнованиях на игровом поле также были борта, а с 2002 года они убраны, что означает, что роботы должны строже обращаться с мячом во время игры.

    Наконец, на рис.8 показан фрагмент соревнований 2002 года в Лиге 4-ногих роботов Sony AIBO.

Рис.8. Игра команд Лиги 4-ногих роботов Sony (роботы AIBO).


    В 2003 году соревнования RoboCup прошли в Италии, в 2004 г. - в Португалии, параллельно с Чемпионатом Европы по футболу. На рис.9 показаны фрагменты игр 2004 г. - Гуманоидной Лиги и Малой Лиги RoboCup. Отметим изменения в Малой лиге - поле стало существенно больше, роботы Малой лиги становятся автономными (в настоящее время разрешено и централизованное и автономное управление).

      



Рис.9. Фрагменты игр чемпионата RoboCup 2004 г., Португалия.


    Далее на нескольких фотографиях показаны фрагменты соревнований Гуманоидной Лиги в 2005 г. а также соревнований Средней Лиги. Эти соревнования проходили в июне 2005 г. в Осаке, Япония.


Рис.10. Парад гуманоидных роботов на соревнованиях 2005 г. в Осаке, Япония.



      

Рис.11. Фрагменты соревнований гуманоидных роботов 2005 г.



Рис.12. Фрагмент игры Средней Лиги в 2005 г.


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

3. УПРАВЛЕНИЕ КОЛЕСНЫМ РОБОТОМ.
    Рассмотрим вначале задачу управления одним мобильным колесным роботом. Будем рассматривать так называемый робот "с дифференциальным приводом" - с двумя раздельными активными колесами, оси которых лежат на одной прямой. Такая модель использована во многих конструкциях, указанных выше. Будем следовать [13-14].

3.1. Модель.
    В качестве модели возьмем систему, представляющую собой два абсолютно твердых диска, соединенных осью (невесомый нерастяжимый стержень), в местах крепления этих колес к оси имеются точечные цилиндрические шарниры, колеса управляются идеальными двигателями. К оси жестко прикреплен корпус, абсолютно твердое тело, которое может двигаться плоскопараллельно. Эта "тележка" установлена на плоскости, колеса в точках касания с плоскостью не проскальзывают. Модель рассматриваемого робота приведена на рис.13. Система имеет 5 обобщенных координат (x,y,θ,φ1,φ2). Углы (φ1,φ2) представляют собой углы поворота ведущих колес робота относительно неподвижного направления.

Рис.13. Схема модели мобильного робота.


    Центр масс корпуса объекта расположен в точке C (рис 10). Середина оси обозначена D(x,y). Длина полуоси равна а, CD=l. Далее при рассмотрении модели пассивные колеса заменим "скользкими" подпорками, пользуясь тем, что их влияние на движение системы невелико.

3.2. Постановка задачи.
    Будем рассматривать задачу перехода робота из некоторого заданного начального состояния, определенного положением на плоскости и угловыми скоростями колес, в конечное состояние, характеризующееся положением робота на плоскости и требуемой скоростью точки D его корпуса. Фактически эта задача означает, что робот должен перейти в заданную конечную точку с заданной ориентацией продольной оси и заданной скоростью вдоль этой продольной оси в конечной точке. Пример ситуации, описываемой этой задачей, - задача выхода робота на мяч и удара по нему корпусом в заданном направлении с заданной скоростью. Отметим, что аналогичная задача рассматривалась в работе [12]. Модель, рассмотренная в [12], сложнее, но управление проще (в работе рассматривалось постоянное управление).

3.3. Уравнения движения.
    Исходя из условия равенства нулю скоростей точек касания колес плоскости (в связи с отсутствием проскальзывания), получим уравнения связи:



    Первые два уравнения представляют собой неголономные связи, третье - голономную связь.
    Рассматриваемая система имеет 2 степени свободы. В качестве независимых координат будем далее брать (φ1,θ).
    Массы колеса и корпуса обозначим соответственно m1 и m0 , радиус колеса r, С - момент инерции колеса относительно оси проходящей через центр колеса и перпендикулярной его плоскости,
    А - момент инерции колеса относительно диаметра . Дополнительно введем обозначения:



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

         (1)

    Рассматриваемая модель есть система типа Чаплыгина, поскольку уравнения связи и кинетическая энергия удовлетворяют всем условиям из определения системы Чаплыгина.
    Уравнения движения рассматриваемого объекта могут быть записаны в виде уравнений Чаплыгина:

         (2)

    где в дополнение к ранее введенным параметрам в правой части введены обобщенные силы, описывающие действие моментов (создаваемых двигателями постоянного тока на активных колесах) на соответствующую координату.
    Обозначая M1, M2 - моменты, создаваемые двигателями, запишем обобщенные силы, действующие на систему:



    Следующее выражение есть простая (типовая) математическая модель двигателя постоянного тока:

         (3)

    где υ1, υ2, μ1, μ2 есть определяющие константы модели, зависящие от физических параметров двигателей; u1, u2- управляющие напряжения на обмотках двигателей. Таким образом, управление в рассматриваемой модели реализуется напряжениями, подаваемыми на двигатели. Конечно, имеются ограничения на управление, но в рамках данного рассмотрения принято, что ограничения на управляющие напряжения являются достаточно большими (и обязательно конечными), так что необходимые напряжения в ограничения укладываются.
    Подставив выражения для обобщенных сил в уравнения движения, получим окончательный вид уравнений движения с введенными обобщенными силами:

         (4)

3.4. Результаты численных расчетов.
    Численный анализ решений построенных уравнений выполнялся в пакете MAPLE. На рис.14 показаны примеры найденных решений. Рассматривалась задача выхода робота в заданную точку (начало координат) с заданной ориентацией для удара по мячу.
      
      

Рис.14. Примеры синтезированных траекторий робота.


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

3.5. Реализация закона управления.
    Результаты проведенного анализа показывают, что планирование и управление движением робота может быть выполнено по схеме:
Цель движения - планирование траектории - расчет управления - исполнение (реализация) движения


    При этом планирование движения может быть выполнено на основе использования отрезков прямых и дуг окружностей, соединяемых отрезками дополнительных кривых - "склеивающих" спиралей Корню. Уравнения (4) при этом используются для расчета управляющих напряжений.
    Однако, целесообразно ввести промежуточный этап - синтез программного движения по схеме расчета требуемых линейной и угловой скоростей движения робота. Синтезированный так закон управления исполняется в системе специальным модулем, реализующим обобщенную следящую систему. Основным режимом работы этого модуля является слежение за поддержанием фиксированного направления движения робота. Можно сказать, что модуль реализует следящую систему по направлению.

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

         (7)

    вид использованной в (7) нелинейной функции f(a) приведен на рис.15.


Рис.15. Функция f(a) следящей системы.


    Коррекция линейной скорости определяется следующим соотношением (8):

         (8)

    Пересчет параметров траектории (v, ) в угловые скорости колес выполняется очевидным образом (9):

         (9)


4. СХЕМА ИГРЫ И МОДЕЛЬ ИГРЫ ГРУППЫ РОБОТОВ.
    Задачи управления группой роботов будем исследовать с помощью специальной системы моделирования - сервера виртуального футбола.
    За прототип игры примем игру роботов Лиги Малого класса RoboCup. Во многом порядок и правила этой Лиги соответствуют правилам, принятым и в другой международной ассоциации - FIRA.
    Пусть игра проходит на прямоугольном поле с ограничивающими поле стенками между двумя командами колесных роботов-футболистов. Размеры поля и ворот, роботов-участников и мяча заданы как параметры и могут быть при необходимости изменены. Также параметрами являются механические параметры игроков, мяча и игровой среды, задающие механическую модель игры [7-8]. В каждой команде n участников (n=1,2,3,...), при этом наиболее часто используемый случай - игра команд 5х5 участников, хотя рассматривались и другие варианты, вплоть до 11х11, или больше. Роботы имеют круглую цилиндрическую форму (т.е. форму диска в виде сверху), и в первой версии игры не имеют каких-либо средств контроля над мячом, кроме удара по нему корпусом. Мяч тоже имеет круглую форму. Параметрами управления роботов являются линейное ускорение (торможение) d , оно направлено по продольной оси робота, и угловая скорость робота w .
    На текущем этапе исследований предполагается, что роботы имеют автономную систему управления, но "видят" всё поле (игра с полной информацией). Коммуникация (обмен сообщениями) роботов одной команды между собой возможна, но используется, или не используется, по усмотрению их бортовой системы управления.
    Правила игры в достаточной мере упрощены и содержат только условия возобновления игры с центра поля после гола, и аналог правил вбрасывания мяча в спорных ситуациях, к которым относятся тупиковые состояния, в которые может попадать игра. При обнаружении подобных ситуаций игра прерывается и возобновляется вбрасыванием мяча в области центра поля. После вбрасывания игроки обеих команд получают право начать движение к мячу одновременно. Любые игровые действия игроков считаются допустимыми.
    Игра может продолжаться заданное время, моделируя матч команд, либо выполняется в отладочном режиме - продолжается неограниченное время, и в этом режиме может быть остановлена вручную.

4.1. Система моделирования.
    Система моделирования игры построена следующим образом. Реализованы несколько версий программ моделирования для разных операционных систем, в том числе - для системы WINDOWS, и каждая программа моделирования реализует идентичные механические модели и использует алгоритмы управления игроками, которые подключаются как модули и могут изменяться. Основной из них является WINDOWS-версия. Цель моделирования - оптимизация параметров алгоритмов, их сравнение и выбор наиболее эффективных алгоритмов. При этом алгоритмы управления противоборствующими командами могут быть как одинаковыми (однотипными), так и различными. На этой основе организуются соревнования алгоритмов управления роботами-футболистами.
    В целом структура каждой из версий программы моделирования организована следующим образом (рис.16). Программа состоит из трех частей - серверной программы и двух модулей Team1, Team2, описывающих команды игроков, и разрабатываемых и представляемых отдельно. Модули команд могут быть, как показано на рис.14, едиными модулями, или представлять собой набор игроков.

      


Рис.16. Структура системы моделирования: серверная программа и модули команд-игроков.


    Серверная программа является ядром системы моделирования и объединяет все модули в единый комплекс. Модули используют разные схемы объединения с серверной программой. В ходе игры процесс игры моделируется по тактам "времени". Они могут быть соотнесены с реальными тактами реального времени, тогда игра будет развиваться в реальном (астрономическом) времени, либо эти такты могут быть минимизированы, тогда игра будет исполняться в максимально ускоренном режиме, при этом темп игры будет определяться быстродействием моделирующего компьютера.
    В каждом такте программа моделирования выполняет вызовы модулей - сначала Team1, а затем Team2. Вызов каждого модуля выполняется столько раз, сколько определено игроков в команде, по одному вызову для каждого игрока. Программа модуля команды должна возвратить серверной программе "управления" для каждого очередного игрока. Рассчитывая их программа игрока может обращаться к специальным функциям серверной программы для опроса текущей ситуации на поле - положений и скоростей всех игроков и мяча. Тем самым моделируется визуальный ввод информации об игре в системы управления игроков.
    Получив все данные управления, серверная программа на основе механических моделей (см., например, [7]) моделирует перемещения всех объектов игры за текущий такт системного времени. Моделируется динамика движения объектов и все их соударения. Фиксируется состояние "гола" и всех текущих ситуаций игры. При необходимости серверная программа может перевести игру в одну из начальных ситуаций - стартовую (после гола) или в ситуацию выхода из тупиков.

    Разработанные программные средства моделирования со структурой, приведенной выше на рис.17, объединены в программный пакет "Виртуальный футбол". В настоящее время ( 2005 г.) доступна версия 2.1 этого пакета.



Рис.17. Интерфейс серверной программы пакета "Виртуальный футбол" версии 2.1 для WINDOWS.


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

4.2. Пример алгоритма управления.
    В проведенных с созданной системой экспериментах исследованы эвристические алгоритмы управления, не использующие коммуникацию роботов между собой.
    Считалось, что алгоритмы игроков одной команды, вообще говоря, одинаковы по типу, но могут различаться значениями параметров (всех, или некоторых). Игрокам может выделяться прямоугольная зона на поле - зона ответственности игрока, эта зона может быть меньше целого поля, или совпадать со всем полем. Робот-игрок играет в пределах своей зоны ответственности и должен оставаться в этой зоне, за исключением тех случаев, когда он выходит из нее вследствие инерции своего движения, тогда он должен принимать меры к возврату в зону ответственности.
    В каждый момент времени игрок определяет точку цели своего движения, эти точки называются особыми точками для игрока. Схема особых точек приведена на рис.18.
    Особые точки - это точки удара (точка, в которой возможен удар по воротам противника), точка вратаря (точка, в которую нужно переместиться, чтобы защитить свои ворота) и точка паса другому игроку своей команды. Положение особых точек на поле зависит от положения всех объектов на поле, - и мяча, и игроков, и динамически изменяется с течением времени.
    Геометрические характеристики этих точек таковы. Точка удара находится на прямой, соединяющей центр ворот команды противника с центром мяча так, что мяч находится между воротами и игроком. Расстояние от точки удара до мяча при вычислении этой особой точки фиксировано и является параметром алгоритма. Точка вратаря находится на прямой, соединяющей центр своих ворот с центром мяча так, что она (игрок) находится между воротами и мячом. В разных вариантах алгоритмов фиксировалось либо расстояние от игрока до ворот, либо расстояние от игрока до мяча. В последнем варианте зона ответственности вратаря выбиралась близкой к воротам, чтобы вратарь не передвигался за мячом по всему полю, а защищал ворота. Наконец, точка паса - точка, находящаяся на прямой, соединяющей центр мяча с тем положением робота-адресата паса, которое он достигнет, двигаясь по прямой с текущей скоростью за время, за которое мяч после удара придет в ту же точку.



Рис.18. Схема особых ситуаций (особых точек) для принятия решений.


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

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

4.3. Моделирование и оптимизация алгоритмов.
    Проведено большое количество экспериментов, в том числе использовавших методы "машинной эволюции" с использованием генетических алгоритмов, в ходе которых отбирались наиболее эффективно играющие алгоритмы. Механизм отбора был построен на основе игры сравниваемых алгоритмов, отличающихся значениями определяющих параметров. Победивший вариант алгоритма выбирался для дальнейшей направленной оптимизации. Целью этих экспериментов был поиск наилучших значений параметров и их сочетаний. В результате найдены оптимальные варианты алгоритмов, обеспечивавшие наибольший процент побед в проведенных "матчах". Нужно отметить, что при этом отдельно "тренировались" программы для роботов-вратарей, т.к. в реальной игре эпизодов с участием и, следовательно, тренировкой, вратарей происходит недостаточное количество.
    Затем проводились эксперименты по моделированию, в которых частично некоторыми функциями управления игроками управлял человек-оператор. Целью этих экспериментов была дальнейшая оценка эффективности найденных управляющих алгоритмов. Показано, что автоматические алгоритмы в целом выигрывают у команды, в которой "участвует" человек-оператор.
    Оптимизированные алгоритмы показали достаточно высокое качество игры, на этом основании они были использованы для игры в соревнованиях. С их использованием были построены команды VST (название - аббревиатура от Virtual Soccer Team) и AVST (аббревиатура от Advanced Virtual Soccer Team).

4.4. Соревнования по Виртуальному футболу.
    С использованием созданных моделей организуются регулярные соревнования по Виртуальному футболу роботов, подготовлены регламент таких соревнований и необходимая техническая документация, ведется рассылка всех программных средств моделирования заинтересованным участникам.
    Первые товарищеские соревнования трех команд были проведены 4.10.2001г., этот турнир состоялся в рамках Конференции-Школы "Интеллектуальные и многопроцессорные системы"/"Интеллектуальные робототехнические системы" (ИМС-2001/ИРС-2001), прошедших в Дивноморском, Геленджик, Россия. В турнире участвовали команда из ИПМ им.М.В.Келдыша РАН - МГУ (Москва), команда из НИИ МВС ТРТУ, г. Таганрог, команда из Днепропетровского национального университета, г. Днепропетровск, Украина.
    В настоящее время (весна-лето 2005 г.) в проекте участвуют более 40 команд из более, чем 10 городов России, Украины. Количество команд увеличивается, о своем намерении присоединиться к проекту заявляют новые команды разработчиков Практически все перечисленные команды - это команды различных университетов и ВУЗов, развиваемый проект активно используется в них в том числе и в учебном процессе для обучения студентов и аспирантов.
    В период осень 2001 - весна 2005 г.г. проведены 12 официальных турниров. По всем проведенным турнирам накоплен большой объем статистической информации и записей игр, позволяющий анализировать и совершенствовать создаваемые алгоритмы управления футболистами. Победителями прошедших турниров становились команды из Днепропетровска, Москвы, Таганрога, Санкт-Петербурга.
    Соревнования подтвердили эффективность принятых при разработке моделей игры решений и эффективность реализованной системы моделирования.
    Вместе с тем, в дальнейшем предполагается существенное развитие этой системы. Его цель - повышение логической сложности игры, введение новых игровых функций.

ЗАКЛЮЧЕНИЕ. ПЛАН РАЗВИТИЯ СЕРВЕРА МОДЕЛИРОВАНИЯ.
    На основе проведенных экспериментов определены технические предложения по созданию расширенных алгоритмов управления роботами-игроками, начата разработка алгоритмов с реализацией активного взаимодействия игроков (игры в пас, и т.п.).
    Предполагается также следующее развитие модели игры. Для обеспечения эффективного воздействия игрока на мяч в сервере 2.0 и 2.1 введен "вектора удара" игрока по мячу. Этот вектор соединяет центры игрока и мяча, но при этом не обязательно направлен вдоль продольной оси (или скорости) робота-игрока. Вектор удара реализует удар по мячу различной силы, но и различной точности (при большей силе удара точность удара должна уменьшаться). Этот вектор должен моделировать устройства удара, которыми оснащаются реальные роботы-футболисты, аналогичные показанным выше на рис.1-8.
    В дополнение к этим "устройствам" предполагается введение модели захватного устройства робота, обеспечивающего ведение мяча игроком и соответствующего устройства для вратаря. Предполагается, что эти средства позволят реализовать игру с большим разнообразием ситуаций и более широкими возможностями по управлению роботами и принятию игровых решений.
    Подготовлен также проект следующей версии сервера (версии 3.0), в которой будет реализована "строгая" мультиагентная среда управления виртуальными футболистами. Разработана пилотная версия сервера, реализующего 3D-визуализацию игры.


ЛИТЕРАТУРА.
  1. С.В.Ахапкин, С.В.Васильев, В.И.Городецкий, Л.А.Станкевич. Футбол роботов - многоагентная среда для исследования группового поведения интеллектуальных роботов. // Тр. X науч.-тех. конф. "Экстремальная робототехника", СПб, 1999, изд-во СпбГТУ, с.122-129.
  2. RoboCup Federation. Official materials. http://www.robocup.org .
  3. SoccerServer Manual. ( RoboCup Federation electronic documentation and links on the Internet). http://www.robocup.org/resource .
  4. Materials of CS Freiburg soccer team. http://www.informatik.uni-freiburg.de/~robocup .
  5. FIRA official materials. http://www.fira.net.
  6. France Robotic Festival. http://www.robotik.org.
  7. Д.Е.Охоцимский, В.Е.Павловский, А.Г.Плахов, А.Н.Туганов. Моделирование игры роботов-футболистов и базовые алгоритмы управления ими. // Искусственный интеллект, N 3, 2000, с. 534-540.
  8. Д.Е.Охоцимский, В.Е.Павловский, А.Г.Плахов, А.Н.Туганов, В.В.Павловский. Моделирование игры роботов-футболистов в пакете "Виртуальный футбол". // Мехатроника, N 1, 2002, с. 2-5.
  9. Фестиваль "Мобильные роботы" в МГУ. http://www.robot.ru .
  10. RoboCup Federation. Rules. http://www.robocup.org/regulations&rules.
  11. RoboCup 2002. http://www.robocup2002.org .
  12. В.М..Буданов, Е.А.Девянин. О движении колесных роботов. Прикладная математика и механика (ПММ), том 67, вып. 2, 2003 г.
  13. В.Е.Павловский, В.В.Евграфов, В.В.Павловский. Планирование и реализация гладких движений мобильного робота с дифференциальным приводом.// Тр. 9 Междунар. Конф. "Stability, Control, and Rigid Bodies Dynamics", ICSCD-2005, с.54-55.
  14. В.Е.Павловский, В.В.Евграфов, В.В.Павловский. Синтез и исполнение гладких движений мобильного колесного робота с дифференциальным приводом // Информационно-измерительные и управляющие системы. - М.: Изд-во "Радиотехника", №1-3, т. 4. 2005-2006, с.30-35