Команда МК

Кальвияйнен Ярослав, капитан, программист ▼ 
Обучение 6 лет обучения: Спортивная робототехника, Автономные летательные аппараты, Основы компьютерного зрения и навигации, Основы ROS
Практический опыт роботостроения 3 года участия в RoboСup Junior Rescue Maze
Достижения и награды в робототехнике Победы и призы на различных этапах RoboСup, создание своего курса "Программирование мобильного робота на основе микроконтроллера STM32"
х
Марков Иван, конструктор, механик ▼
Обучение 6 лет обучения: Основы робототехники (NXT, EV3), электротехника, Beam-роботы, 3D-моделирование, Программирование на C++ для роботов
Практический опыт роботостроения Творческие проекты, робот для Rescue Maze
Достижения и награды в робототехнике

1 место RoboCup Junior Asia-Pacific, Rescue Maze, команда MK

9 место соревнования RoboCup2019 Rescue Maze, команда MK. И награда за лучшую систему выдачи спасательных наборов.

3 место RoboCup Junior Euro, Hannover, June 2019, Rescue Maze, команда MK

1 местоRoboCup Russia Open 2019, в категории Rescue Maze, команда МК.

1 место Открытые состязания Санкт-Петербурга по робототехнике 2019. категория RoboCup Junior Rescue Maze, команда МК.

1 место Робофинист (точное земледелие WRO2018 средняя категория ), Санкт-Петербург

1 место Городской конкурс профессионального мастерства"Шаг в профессию" (проектирование прототипов).

1 место в Творческой средней категории WRO 2017.

1 место Робофинист. Свободная творческая категория.

1 место Открытый городской фестиваль технического творчества «ТехноКакТус» (Протопирование).

2 место Весенние состязания роботов ФМЛ239. Футбол автономных роботов WRO

х
Мерзлякова Юлия, электронщик ▼
Обучение 6 лет обучения: Курс от ЦНИИ РТК в летнем робототехническом лагере, 3D-моделирование, Спортивная робототехника, Одноплатные компьютеры Raspberry Pi, Творческая радиоэлектроника (RoboCup)
Практический опыт роботостроения Несколько роботов для классических видов соревнований (кегельринг, эстафета, управляемый футбол, несколько проектов для творческой категории), много роботов для Кубка РТК, RoboCup Junior Rescue Maze (4 разных робота), комплект плат управления мобильной робототехнической системой для собственного курса "Программирование микроконтроллера STM32" (в соавторстве)
Достижения и награды в робототехнике

Победы и призовые места на различных Открытых соревнованиях по робототехнике в Санк-Петербурге (категории: Эстафета, Кубок РТК, Кубок РТК Мини, Проекты творческой категории)
2 место на финале Кубка РТК 2016
Победитель практической олимпиады по робототехнике (Робофинист 2017)
Победитель Регионального этапа ВСОШ по технологии (номинация робототехника) 2019
Призер Регионального этапа ВСОШ по технологии (номинация робототехника) 2020
Победитель регионального и всероссийского этапа RoboCup Junior Rescue Maze
3 место на RoboCup Junior Euro Rescue Maze 2019
1 место на RoboCup Junior Asia-Pacific Rescue Maze 2019

х
Королев Дмитрий Михайлович, руководитель
Китаев Николай Анатольевич, руководитель
Казанцева Ольга Юрьевна, руководитель

Лига RoboCup Junior Rescue Maze

Разработка 2020

Видео
Конструкция робота
Программное обеспечение робота
Стратегия и журнал
Плакат

Видео

Краткое описание элементной базы, электроники и особенностей конструкции

   

Нажмите на изображение, чтобы увеличить его

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

Электроника: чтобы разместить всю электронику и обеспечить надежное соединение, был разработан комплект плат, состоящий из: материнской платы, платы распределения питания, четырех коммутационных плат драйверов двигателей, платы пользовательского интерфейса, платы индикации пострадавших, платы-адаптера аккумулятора, двух плат модуля датчиков. Для того, чтобы уменьшить место, занимаемое соединениями, основные платы в конструкции расположены друг над другом и соединяются за счет PLS- разъемов. Такое решение также позволило избежать большого количества проводки.

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

Нажмите на изображение, чтобы увеличить его

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

1. Алгоритм картографирования

2. Алгоритм локализации

3. Алгоритм построения маршрута

4. Алгоритм проезда робота по построенному маршруту

5. Алгоритм исследования лабиринта

6. Алгоритм распознавания температурных жертв по телевизору

7. Алгоритм распознавания визуальных пострадавших

8. Алгоритм подъезда к пострадавшим, и выдачи им спасательных наборов

Основной идеей ПО робота стал отказ от привязки движения к длине клеток. Поэтому, в качестве основного датчика ориентации в пространстве был выбран лидар, а для обеспечения необходимых вычислительных мощностей был выбран одноплатный компьютер NVIDIA Jetson nano. Для создания программы было решено использовать пакет ROS. На роботе используется ROS Melodic, а все программы написаны на языке C++. Отладку робота было необходимо начать до того, как робот появился физически, поэтому было решено использовать симулятор Gazebo, встроенный в ROS.

Стратегия (как решается задача, заданная регламентом лиги)

 

Общая стратегия.
На протяжении трех лет команда МК представляет своих роботов на RoboCup Junior Rescue Maze. На основе анализа предыдущего опыта, в этом году мы решили изменить концепцию робота, выбрав лидар в качестве основного датчика ориентации в пространстве для того, чтобы отказаться от дискретного перемещения по клеткам лабиринта. Чтобы робот мог преодолевать препятствия и, вместе с этим, удерживать лидар параллельно полу, реализована оригинальная конструкция подвески. Также разработан специальный комплект из восьми печатных плат позволяющий рационально с минимальным количеством проводов подключить всю необходимую электронику, включая микрокомпьютер Jetson nano, и поместить всё в уменьшенные габариты нового робота.

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

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

Плакат

Нажмите на изображение, чтобы увеличить его

 

Разработка 2019

Главное изображение

Изображение 1
Изображение 2
Изображение 3
Видео
Конструкция робота
Программное обеспечение робота
Стратегия и журнал
Плакат

Видео

Краткое описание элементной базы, электроники и особенностей конструкции

Конструкция разделена на 2 модуля. 1 – ходовая часть с датчиками положения колес и освещенности. 2 – модуль с периферией, где расположены лазерные датчики расстояния (VL53L0X), бесконтактные датчики температуры (MLX90614), камеры (OpenMV), гироскоп-акселерометр, кнопки и система выдачи спасательных наборов. Движущая части состоит из моторов, подшипниковых узлов, внешних редукторов, датчик позиции.

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

Нажмите на изображение, чтобы увеличить его

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

Основная программа робота была разработана на языках C и C++ в среде Keil uVision 5, и представляет из себя конечный автомат, который каждый цикл опрашивает датчики. Каждый этап алгоритма был реализован с помощью отдельных состояний конечного автомата.

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

Программа для камер использует библиотеку OpenMV (предустановленную в данном модуле), а программа для STM32 использует системные библиотеки SPL и CMSIS.

Нажмите на изображение, чтобы увеличить его

Стратегия (как решается задача, заданная регламентом лиги)

Задание лиги, кратко: Робот должен исследовать лабиринт и найти в нём «жертв», представляющих собой теплые маяки или условные знаки в виде букв. Основная задача робота состоит не в том, чтобы найти кратчайший маршрут в лабиринте, а в том, чтобы обследовать как можно большую его часть.

Изначально робот едет по правилу правой руки, составляя список ячеек, которые он проезжает мимо. Параллельно движению, робот стоит карту, состоящую из 2 двухмерных массивов типа bool, в один из которых сохраняются посещенные ячейки лабиринта, а в другой расположение стен в лабиринте. Когда робот обнаруживает, что клетка, в которую он должен поехать, уже была посещена, он берет последнюю добавленную точку из списка, который он составил пока ехал по правилу правой руки, и двигается туда. Такой алгоритм позволяет исследовать весь лабиринт, включая точки, в которые нельзя проехать только по правилу правой или левой руки.

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

Плакат

Нажмите на изображение, чтобы увеличить его

E-mail отправителя *:
Тема письма:
Ваш вопрос... *:
Вы робот? *: