ГБОУ Президентский физико-математический лицей № 000

Центр робототехники

RoboCup Russia Open 2018

RoboCupJunior Soccer Lightweight

NEON

Инженерный журнал

Дмитриев Владимир

Саськов Лев

Волков Михаил

Руководитель:

Санкт-Петербург

2018 г.

Введение

Предыстория


Наша история очень коротка и не интересна, но я думаю, что в будущем мы оставим значительный след в истории Мирового автономного футбола RoboCup. Мы все сейчас учимся в школах без углублённого изучения Английского языка, поэтому мы не очень хорошо знаем Английский язык.


Наши успехи

С новым концептом футболистов мы успели поучаствовать только в RoboCupJunior Soccer Lightweight на RoboCup Russia Open 2018 (14-17 Апреля), где мы одержали победу в всех матчах, что позволило нам занять первое место в России.


Опыт участников

Дмитриев Владимир: 3 место в RoboCupJunior Soccer Lightweight на RoboCup Russia Open 2017, 1 место в RoboCupJunior Soccer Lightweight на RoboCup Russia Open 2018.

Саськов Лев: 1 место в RoboCupJunior Soccer Lightweight на Открытых состязаниях Санкт-Петербурга по робототехнике 2018, 1 место в RoboCupJunior Soccer Lightweight на RoboCup Russia Open 2018.

Волков Михаил: 1 место в RoboCupJunior OnStage Secondary на RoboCup Russia Open 2017,
1 место в RoboCupJunior Soccer Lightweight на RoboCup Russia Open 2018.


Княжицкий Роман: 1 место в RoboCupJunior Soccer Lightweight на RoboCup Russia Open 2018.

Роли в команде

Дмитриев Владимир – капитан, программист логики и тактики роботов, специалист по комплексному решению проблем. Написал часть программы, в которой роботы отъезжают от линии, следят за мячом, а также позиционируются на поле.

НЕ нашли? Не то? Что вы ищете?

  Саськов Лев – специалист по прототипированию, электронике специалист по 3D моделированию, механике. Создал все 3д модели
  для роботов. Для реализации 3д моделей использовал3дпринтер, фрезерный станок с ЧПУ, лазерный станок и токарный станок.

  Волков Михаил – специалист по 3D моделированию, механике. Создал материнскую плату и плату датчиков в электронном виде при помощи программы DipTrace. Реализовал эти платы при помощи травления и пайки.

  Княжицкий Роман – программист, работающий с камерой PIXY. Написал код, с помощью которого роботы могли видеть ворота противника, определять на каком расстоянии робот находится от ворот противника, а также где именно находиться вратарь противника.

Наша команда на Открытых состязаниях Санкт-Петербурга по робототехнике 2018 (3 человека слева (Слева направо: Лев, Миша, Вова))

Наши роботы

Оборудование и их характеристики

Микроконтроллер

Мы использовали Robotdyn Atmega 2560  pro и Atmega 328P. Atmega 2560 является главным мозгом наших роботов, а Atmega 328P служат для чтения трёх лазерных датчиков CJVL53LOXV2.

Atmega2560, как и все его аналоги: Atmega2560 rev3, Atmega2560 16au, Atmega320 «Про Мини», Atmegach340g, Atmegach340g Pro Mini, Atmega640 Pro Mini, Atmega168 20au, Atmega328, Atmega2560 16au Pro Mini, Atmegar3 Pro Mini, Atmega168 20au «Про Мини» представляет собой 8-разрядный микроконтроллер низкой мощности, изготовленный на базе ядра типа AVR с архитектурой типа RISC. Он способен выполнять большое количество различных инструкций одновременно. Именно поэтому его производительность может достигать 1 миллиона операций за 1 секунду. Его тактовая частота при этом равна 1 мегагерцу.
 

Моторы

Мы использовали 4 мотора Polulu 31:1 Metal Gearmotor 20Dx41L mm 12V CB. Они работают от 12 вольт, которые мы подаём с аккумулятора с регулировкой шим сигналом.

Рабочее напряжение: 12 В
Передаточное отношение: 31:1
Скорость без нагрузки: 450 об/мин
Вес: 44 гр

Колёса

Мы использовали омни колёса 50mm Omni Wheel - 4mm Bore Иранского производства.
Диаметр – 50 мм        
Диаметр валиков – 4 мм
Материал колеса - Сталь
Материал маленьких колёсиков - Алюминий
Материал валиков - Резина

Датчики

Мы использовали несколько типов датчиков.

    Дальномеры

    В качестве дальномеров мы использовали лазерные датчики CJVL53LOXV2.
    Минимальное расстояние – 10  мм
    Максимальное расстояние – 2 м
    Питание – 5 Вольт
    Протокол передачи данных – I2C

    Датчики линии

    В качестве датчиков, которые видят линию, мы использовали самодельные датчики линии основанные на qrd1114. На плате датчиков находятся 16 таких датчиков (по 4 с каждой стороны), что помогает в 99% случаях видеть линию.

    Особенности - самодельная плата, этапы создания, которые вы можете посмотреть на странице

Питание – 5 Вольт
Протокол передачи данных – Аналоговый
Режим работы – не контактный, работают на высоте до 3 сантиметров

    Инфракрасные датчики мяча

    В качестве датчика, который видит мяч, мы использовали HiTechnic NXT IRSeeker V2.

    Особенности - Датчик имеет 5 маленьких инфракрасных датчиков, выдаёт массив из 6 значений: силы сигналов на каждом из датчиков, а также направление сигнала (от 1 до 9)
    Протокол передачи данных – I2C

    Компас
    В качестве компаса мы использовали SparkFun 9DoF Razor IMU M0,
    Особенности: датчик имеет 3-х позиционный гироскоп и акселерометр,
    магнитометр, датчик давления и датчик температуры, но мы
    используем только компас.
    Протокол передачи данных – Serial
    Питание – 3.3 V


Аккумулятор

В качестве аккумуляторы мы использовали 3-ёх баночный аккумулятор nano-tech 2200mah 3 cell 11.1v

Тип – Литий-полимерный
Ёмкость – 2200 mah
Количество банок - 3
Максимальное выходное напряжение - 12.5 v

Материнская плата

Материнскую плату мы спроектировали и создали своими руками. На плате имеются: Atmega 328p, которая паяется на плату (используется для чтения трёх лазерных датчиков), RobotDyn mega 2560 pro, которая одевается на главную плату (исполняет всю логику, которую мы прописали), для каждого из 4 моторов распаян по одному драйверу drv8870, два понижающих стабилизатора питания: 12-9 в и 9-5 в (9 вольт идёт на питание Atmega 2560 и Atmega 328P, а  5 вольт идёт на питание всех датчиков), а также реле, с помощью которого мы пинаем соленоидом

Драйвера моторов

Мы использовали drv8870, которые мы распаяли на плате датчиков.

Количество каналов – 1
Максимальное рабочее напряжение – 45 В
Максимальный ток– 3.7 А

Пинающий механизм

    Реле

    Соленоид

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

    Arduino IDE - программирование Solidworks и Autodesk Inventor - 3D моделирование Layout 6 и DipTrace – моделирование плат ArtCam – для фрезеровки изделий Cura – для подготовки 3D модели к печати RW Works – для лазерной резки

Создание плат

Step 1 Подготовка текстолита (резка и чистка).

Step 2 Фрезеровка текстолита на фрезерном станке (сверловка отверстий и фрезеровка контура).

Step 3Нанесение фоторезиста на текстолит при помощи ламинатора.

Step 4 Засвечивание маски фоторезистре при помощи люминесцентной лампы.

Step 5 Травление в хлорном железе, клепание при помощи наковальни и молоточка, лужение при помощи сплава Розе.

Step 6 Пайка всех элементов на плату.

Стратегия

Нападающий

Главная цель нападающего – это забить мяч. Робот ищет мяч, всегда смотря в сторону ворот противника. После нахождения мяча робот смотрит, где он находится на поле в этот самый момент. Нападающий узнаёт свою позицию при помощи лазерных датчиков, расположенных справа, слева и сзади, камеры, а также при помощи программного позиционирования (программное позиционирование – это воображаемая координатная плоскость с осями x и y, находящаяся в памяти микроконтроллера, при каждом перемещении робот изменяет своё положение на этой плоскости.) После этого робот набирает свою максимальную скорость и устремляется в сторону ворот противника для того, чтобы забить в него мяч, что приводит к голу. Если робот узнаёт при помощи камеры, что в воротах стоит вратарь противника, то он бьёт в самый дальний угол относительно вратаря при помощи соленоида. Датчики линии помогают роботу не выезжать за линию аута.

Вратарь

Главная цель вратаря – это не допустить гола в свои ворота. Робот всегда перемещается в штрафной зоне, не выезжая за её пределы благодаря датчикам линий. Робот перемещается влево вправо в зависимости от расположения мяча на поле. При опасном приближении мяча к воротам, роботы выезжает на него, чтобы отбить мяч, после чего возвращается обратно в ворота. Если мяч долгое время стоит на чёрной метке, то он пытается забить забить гол путём выезда на мяч и удара его соленоидом.

Работа с другими командами

Мы консультировались у нескольких команд, которые помогали решить некоторые вопросы с железом, а именно: Kepler (Команда занявшая первое место в младшей возвратной категории в футболе на Robocup Russia Open 2017, а также участвовавшая на мировом этапе в 2017 году в Японии), Uran 239 (Команда занявшая первое место в старшей возвратной категории в футболе на Robocup Russia Open 2017, а также участвовавшая на мировом этапе в 2017 году в Японии), Samovar (Команда занявшая первое место в RoboCupJunior Rescue Maze на Robocup Russia Open 2017, а также участвовавшая на мировом этапе в 2017 году в Японии) и также с командой из Ирана «Sadrarobot6», которая участвовала в мировом этапе в Японии, сейчас это команда VCC.

Планы на будущее