Другие журналы

научное издание МГТУ им. Н.Э. Баумана

НАУКА и ОБРАЗОВАНИЕ

Издатель ФГБОУ ВПО "МГТУ им. Н.Э. Баумана". Эл № ФС 77 - 48211.  ISSN 1994-0408

Роботы, играющие в воздушный хоккей

#6 июнь 2007

Милькова Нина Олеговна

лицей ╧ 17, г. Химки, 11 класс

 

Научный руководитель:

Зенкевич Станислав Леонидович,

доктор физико-математических наук,

профессор кафедры «Робототехнические системы»

МГТУ им. Н.Э.Баумана

 

Введение

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

 

Цель работы

Целью данной работы является создание базового алгоритмического и программного обеспечения игры, включающего:

         Вычисления траектории движения шайбы после удара (абсолютно упругого) и при отражении ее от бортов;

         Решение прямой и обратной задачи о положении плоского трехзвенного манипулятора;

         Нахождение области достижимости для трехзвенного манипулятора;

         Определение условий попадания шайбы в ворота;

         Определение необходимых условий для удара ракеткой манипулятора по шайбе;

         Нахождение координат шайбы в определенный момент времени для отражения ее ракеткой.

 

Содержание игры

Игра происходит на прямоугольном столе с бортами, в торцах которого расположены ворота. Участниками являются два плоских трехзвенных манипулятора. Задача играющих – забить как можно больше голов в ворота противника и как можно меньше пропустить в свои ворота. Удары по воротам могут быть прямые, под углом и рикошетные от борта (рис. 1).

 

 

Рис. 1.

На основе настоящей работы предполагается компьютерную модель воплотить в реальных роботах, где человек будет играть против реального манипулятора.

Управление манипуляторами осуществляется с помощью системы управления, которая имеет аппаратную и логическую структуры.

 

Структура системы управления

Аппаратная структура системы управления

Аппаратная структура системы управления представлена на рис. 2. В нее входят:

·         блоки систем управления манипуляторами (для каждого свой);

·         центральная система управления;

·         камера технического зрения.

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

 

 

Рис. 2.

Логическая структура системы управления

Логическая структура системы управления представлена на рис. 3. Она включает в себя два уровня: моторный и стратегический.

 

Рис. 3

На стратегическом уровне обрабатывается информация, получаемая от СТЗ. Производятся вычисления целевой точки для манипулятора, определяется момент попадания ракетки манипулятора в данную точку.

Моторный уровень получает всю информацию от стратегического уровня и на ее основе управляет движением манипулятора.

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

 

Вычисление траектории движения шайбы с учетом отражений ее от бортов

Эти расчеты осуществлены методом построения (рис. 4).

 

 

Рис. 4.

 

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

Так выглядит решение прямой задачи.

Дано: a, b – стороны прямоугольника, (x0; y0) – начальные координаты шайбы, – количество отражений шайбы от бортов, .

Найти: .

Решение:

1.       При  соединим начальную и целевую точки.

2.       При  отсчитываем от прямоугольника с т. O  прямоугольников. В -ом прямоугольнике откладываем отрезок  от вертикальной стороны прямоугольника, ближайшей к начальному прямоугольнику. Обозначим найденную точку A. Соединим т. O и т. A.

3.       При  отсчитываем от прямоугольника с т. O  прямоугольников. В -ом прямоугольнике откладываем отрезок  от вертикальной стороны прямоугольника, ближайшей к начальному прямоугольнику. Обозначим найденную точку B. Соединим т. O и т. B.

Решение обратной задачи также выполнено методом построения.

Исследование движения шайбы включает в себя также определение скорости шайбы после ее удара об один из бортов или о ракетку.

 

Модель удара

Считая удары о ракетку и о борт абсолютно упругими (см. рис.5 и рис. 6) и в соответствии с [3], имеем удар о неподвижную ракетку:

 

 

 

 

Из приведенных формул видно, как при ударе шайбы о неподвижную ракетку изменяется направление скорости шайбы. При этом модуль ее скорости остается постоянным.

При ударе шайбы о разные борта изменяют знак соответствующие составляющие скорости. Удар шайбы о борт – это частный случай удара шайбы о неподвижную ракетку.

 

Вторая группа задач состоит в управлении манипулятором.

Рис. 5.                                                            Рис. 6.

 

Прямая и обратная задачи

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

Кинематическая схема манипулятора (рис. 7).

 

 

Рис. 7.

Решение прямой и обратной задачи о положении плоского трехзвенного манипулятора необходимо для управления им.

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

Дано: .

Найти: .

Решение:

Из простых геометрических соображений (см. рис. 7) можно получить следующие соотношения:

1.                                                                                                                     (1)

                                                                                                                         (2)

2.             (3)

                        (4)

3.    (5)

      (6)

                                                                                                                 (7)

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

Дано:  

Найти:

В соответствии с [1] имеем следующие соотношения:

                                                                                  (8)

                                                                                       (9)

                                                                                                                  (10)

Обратная задача имеет два решения. Далее для определенности выбираем конфигурацию а (см. рис. 8).

 

Рис. 8.

 

 

Планирование траектории манипулятора

Траектория манипулятора планируется так, чтобы конец его третьего звена плавно перемещался по прямой от начальной до целевой точки (см. рис. 9). Операции, обеспечивающие это, приведены в обобщенном виде.

 

 

Рис. 9.

 

хstart = xcur = 180.;ystart = ycur = 0.;phi0 = 0;

CalcBallPos(xcur, ycur, vBx,vBy, /*zone=*/-zone[random(2)], &xBfin, &yBfin, &tf);

Zero2(xBfin, yBfin, &xfin, &yfin);

tPath = tf;

path = sqrt((xcur-xfin)*(xcur-xfin)+(ycur-yfin)*(ycur-yfin));

tPath = tf;

vx = (xfin - xcur)/tPath;

vy = (yfin - ycur)/tPath;

phifin = phifin[random(2)];

omega = (phifin - phi0) / tPath;

Все точки траектории манипулятора должны принадлежать области достижимости.

 

Область достижимости

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

или после элементарных преобразований.

                                                               (11)

Если выполняется соотношение (11), то выполняется условие  (из соотношения (8)).

При фиксированном  (т.е. в плоскости, параллельной ) область достижимости представляет собой кольцо с центром в точке , ограниченное внешней и внутренней окружностями с радиусами  и  соответственно (см. рис. 10).

 

 

Рис. 10.

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

 

 

Рис. 11.

 

Используемые системы координат

В игре используются четыре системы координат (см. рис. 12). Две из них – собственные системы координат манипуляторов. Их центры расположены в точках крепления манипуляторов к столу. В программе эти системы координат обозначены как первая и вторая. Одна из двух оставшихся систем координат – абсолютная (нулевая); ее центр расположен в центре стола. В эту систему координат переводятся координаты манипуляторов из их собственных систем координат.

 

 

 

Рис. 12.

 

Перевод из первой в нулевую систему координат осуществляется с помощью следующей функции:

void One2Zero(float x,float y,float *px0,float *py0)

{

*px0 = -y;

*py0 = yA + x;

}

Перевод из второй в нулевую систему координат осуществляется с помощью следующей функции:

void Two2Zero(float x,float y,float *px0,float *py0)

{

*px0 = y;

*py0 = yC - x;

}

В нулевой системе координат задаются также координаты шайбы. Во всех этих системах координат значения длины измеряются в сантиметрах.

Четвертая система координат – пиксельная (компьютерная). Ее центр расположен в левом верхнем углу монитора. В эту систему переводятся координаты из нулевой системы координат:

void Cm2Pix(float x0,float y0,float* pu,float* pv)

{

*pu = u0 + scale * y0;

*pv = v0 - scale * x0;

}

Значения длины в этой системе координат измеряются в пикселях.

 

Работа манипуляторов

Работа самих манипуляторов циклична. Циклы их работы смещены один относительно другого во времени. Это отображено на схеме (см. рис. 13).

 

Рис. 13.

 

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

 

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

Программное обеспечение реализует все разработанные алгоритмы: моделирование в реальном времени движения шайбы с учетом отражения от бортов и ракетки, моделирование движения обоих манипуляторов, а также графическое отображение игры. Режим реального времени достигается за счет использования системных часов.

 

Заключение

В работе созданы алгоритмы моторного уровня систем управления манипуляторами. Разработаны также соответствующие программные средства, обеспечивающие моделирование игры, когда ее участниками являются два манипулятора.

Исследовано движение шайбы с учетом отражений от бортов, изучены методы решения прямой и обратной задачи кинематики для трехзвенного манипулятора.

В дальнейшем планируется создать алгоритмы для стратегического уровня.

 

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

1.       Зенкевич С.Л., Ющенко А.С. Основы управления манипуляционными роботами. – М.: Издательство МГТУ имени Н.Э. Баумана, 2004.

2.       Труды научной школы-конференции «Мобильные роботы и мехатроные системы». – М.: Издательство МГУ им. М.В. Ломоносова, 1999.

3.       Павловский В.Е. Моделирование игры в виртуальный футбол. // Труды научной конференции «Мобильные роботы и мехатронные системы». – М.: Издательство МГТУ им. Н.Э. Баумана, 2000.


Тематические рубрики:
Поделиться:
 
ПОИСК
 
elibrary crossref ulrichsweb neicon rusycon
 
ЮБИЛЕИ
ФОТОРЕПОРТАЖИ
 
СОБЫТИЯ
 
НОВОСТНАЯ ЛЕНТА



Авторы
Пресс-релизы
Библиотека
Конференции
Выставки
О проекте
Rambler's Top100
Телефон: +7 (915) 336-07-65 (строго: среда; пятница c 11-00 до 17-00)
  RSS
© 2003-2017 «Наука и образование»
Перепечатка материалов журнала без согласования с редакцией запрещена
 Тел.: +7 (915) 336-07-65 (строго: среда; пятница c 11-00 до 17-00)