Другие журналы
|
научное издание МГТУ им. Н.Э. БауманаНАУКА и ОБРАЗОВАНИЕИздатель ФГБОУ ВПО "МГТУ им. Н.Э. Баумана". Эл № ФС 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. Публикации с ключевыми словами: система координат, траектория, мехатроника, робототехнические системы, блоки систем управления манипуляторами, центральная система управления, камера технического зрения Публикации со словами: система координат, траектория, мехатроника, робототехнические системы, блоки систем управления манипуляторами, центральная система управления, камера технического зрения Смотри также: Тематические рубрики: Поделиться:
|
|
||||||||||||||||||||||||||||||||
|