Введение 4
Постановка задачи 10
Обзор литературы 10
Глава 1. Программная составляющая 12
1.1. Клиент для симулятора «grSim» 12
1.2. Язык программирования и фреймворк 12
Глава 2. Алгоритмы и методы необходимые для обучения нейронной сети 12
2.1. Алгоритм постановки робота на штрафную линию .... 13
2.2. Алгоритм нанесения удара 14
2.3. Алгоритм поворота налево или направо на постоянный угол 14
2.4. Алгоритм определения забитого гола 15
Глава 3. Обучение нейронной сети 16
3.1. Структура нейронной сети 16
3.2. Использование двух нейронных сетей 17
3.3. Метод памяти воспроизведения 17
3.4. Полученные результаты 18
Глава 4. Анализ результатов 18
Заключение 18
Список литературы 19
Приложение А. Репозиторий GitLab, клиент для симулятора и описание работы с ним 21
Приложение Б. Код класса Penalty.Actions 23
Приложение В. Класс PenaltyEnvironment 23
Приложение Г. Фрагмент программы, посвященный обучению нейронной сети 25
Робофутбол
С 1996 г. для содействия научным исследованиям в областях робототехники, искусственного интеллекта, технического зрения, навигации, группового взаимодействия роботов и мехатронных устройств начал проводиться чемпионат мира по робофутболу «RoboCup»»[10]. За это время в них принимало участие множество университетов со всего мира. В рамках турнира существуют и иные виды соревнований, не связанных с робо-футболом — танцы роботов, бытовые роботы, роботы-спасатели, промышленные роботы и другие. Главной целью соревнований ставится создание к середине 21-го века команды полностью автономных человекоподобных роботов-футболистов, подобных изображенным на Рис. 1 , которые способны выиграть футбольный матч, соблюдая правила FIFA у победителя Чемпионата мира по футболу среди людей.
Рассмотрим соревнования по робофутболу подробнее. Всего существует несколько лиг: RoboCupSoccer Humanoid League - состязание автономных человекоподобных роботов футболистов, RoboCupSoccerStandard Platform League (ранее Four Legged League) - лига где команды состоят из одинаковых роботов, которые работают полностью автономно без какого- либо контроля со стороны человека или компьютера (централизованного управления), RoboCupSoccer Middle Size League - состязание роботов футболистов средних размеров, RoboCupSoccer Simulation League - одна из старейших лиг, в которой соревнуются компьютерные программы, моделирующие процесс игры в футбол на виртуальном компьютерном поле независимо движущимися программными игроками, и последняя лига это Small Size League (SSL) [11], которую отличает наличие единого вычислительного центра, управляющего всей командой, роботы здесь перемещаются с помощью четырехколесной омниплатформы, имеют два ударных устройства (кикера) один используется для удара вдоль поверхности поля, а другой для навесов. Крышки роботов маркируются цветными кругами, благодаря которым система компьютерного зрения распознает игроков и отличает друг от друга, а также определяет их положение на поле. Далее речь будет идти о роботах из SSL, представление об устройстве которых можно получить, изучив Рис. 2 ниже, на котором изображен матч чемпионата мира RoboCup в лиге SSL.
В результате выполнения данной выпускной квалификационной работы была выполнена поставленная цель - решение задачи забивания гола со штрафной линии. Попутно был разработан клиент для работы с симулятором и разработаны некоторые методы и алгоритмы, которые могут быть полезны при дальнейших разработках.
Осталось только модернизировать полученное решения для наиболее оптимального решения поставленной задачи, что планируется сделать в дальнейшем, также планируется решить поставленную задачу при наличии неподвижных и движущихся препятствий. При успешных результатах последующей разработки данные алгоритмы планируется использовать в реальных условиях в команде роботов-футболистов СПбГУ «URoboRus».
[1] Макмахан Брайан, Рао Делип «Знакомство с PyTorch: глубокое обучение при обработке естественного языка»—2020—256 с.
[2] GitHub репозиторий разработчиков симулятора «grSim»: [Электронный ресурс]. URL: https://github.com/RoboCup-SSL/grSim. (Дата обращения : 24.05.2021).
[3] Noda, I., Matsubara, H., Hiraki, K., Frank, I. (1998). Soccer server: A tool for research onmultiagent systems.Applied Artificial Intelligence,12, 233-250
[4] Chen, Foroughi, Heintz, Kapetanakis, Kostiadis, Kummeneje,Noda, Obst, Riley, Steffens, Wang, and Yin (2003) : [Электронный ресурс]. URL: https://github.com/rcsoccersim. (Дата обращения: 24.05.2021).
[5] Инструкция от разработчиков PyTorch:[Электронный ресурс]. URL: https://pytorch.org/tutorials/beginner/basics/tensorqs_tutorial.html.
(Дата обращения: 24.05.2021).
[6] Саттон Р.С., Барто Э.Г. «Обучение с подкреплением»—2-е изд. —2014 —402 с.
[7] Николенко С., Кадурин А., Архангельская Е. «Глубокое обучение» — 2018—480с.
[8] Franco Ollino,Miguel A. Solis, Hector Allende «Batch Reinforcement Learning on a RoboCup Small Size League keepaway strategy learning problem»—2018—Proceedings of the 4th Congresson Robotics and Neuroscience
[9] Stone P, Sutton RS Kuhlmann G. «Reinforcement
learning for RoboCup soccer keepaway»—2005/ URL:
https: / / www2.cs.duke.edu/ courses / spring07 / cps296.3/keepaway.pdf(Дата обращения: 24.05.2021).
[10] Сайт RoboCup: [Электронный ресурс] URL: https://www.robocup.org/(Дата обращения:24.05.2021).
[11] Сайт лиги SSL RoboCup: [Электронный ресурс] URL:
https://ssl.robocup.org/(Дата обращения:24.05.2021).
[12] Petr Konovalov, Dmitry Korolev, Dmitry Kapustin, Galina Reneva, AnastasiiaVoloshina, Alexander Kalitin, and Alexander Fradkov «URoboRus 2020 Team Description Paper»—2020
[13] Kotova O. A., Pavlovskij V. E. Teoretikoigrovie kinematicheskie modeli virtual’nogo futbola [Game-theoretic kinematic models of virtual football]. Moscow, Institut prikladnoj matematiki imeni M. V. Keldysha RAN Publ., 2010 20 p. (Preprint. Institut prikladnoj matematiki imeni M.
V. Keldysha RAN, no. 77). Available at: http://library.keldysh.ru/ preprint.asp?id=2010- 77 (accessed 29 March 2019) (In Russian).
[14] Lipkovich M. M., Luchin R. M., Soharev A. Yu. Educational and research stand for multi- agent control systems (using the example of robot football). Proc. of the Intern. Scientific Conf. of Students and Young Scientists “Theoretical and Applied Aspects of Cybernetics”, Kiev, Bukrek, 2011, pp. 161-164 (In Russian).
[15] Z. Chen et al. Champion Team Paper: Dynamic Passing-Shooting Algorithm Based on CUDA of The RoboCup SSL 2019 Champion. Zhejiang University, Zheda Road No.38, Hangzhou, Zhejiang Province, P.R.China.
[16] Trevor Hastie, Robert Tibshirani, Jerome Friedman. «The Elements of Statistical Learning: Data Mining, Inference, and Prediction». New York: Springer— 2001— Print.
[17] Метод воспроизведения памяти: [Электронный ресурс] URL:
https: //pytorch.org/tutorials/intermediate/reinforcement_q_learning.html (Дата обращения: 24.05.2021).
[18] П.А. Коновалов, А.И. Волошина, А.О. Калитин, Д.М. Королев, А.Л. Фрадков. Команда роботов-футболистов UROBORUS-2020 для соревнований ROBOCUP SSL.Тезисы докладов Всероссийской конференции «Информационные технологии в управлении» (ИТУ- 2020). АО «Концерн «ЦНИИ «Электроприбор», Санкт-Петербург, 6-8 октября 2020 г.
[19] Коновалов Петр Алексеевич, Корнилова Анастасия Валерьевна, Королев Дмитрий Михайлович, Ренева Галина Вадимовна, Фрадков Александр Львович, Широколобов Илья Юрьевич, Ярош Дмитрий Сергеевич «Команда роботов-футболистов для соревнований RoboCup в лиге SSL: система и алгоритмы»—2019