Команда СН

Туленинов Михаил, капитан, программист ▼
Обучение 3 года обучения: Основы робототехники (1-й, 2-й, и 3-й годы обучения), Основы Теории автоматического управления, Программирование на С++, 3D моделирование
Практический опыт роботостроения Для: следование по линии, лабиринт для начинающих, большое путешествие, практическая олимпиада по робототехнике, лабиринт туда и обратно, Rescue Maze
Достижения и награды в робототехнике

1. Весенние состязания роботов ФМЛ №239 - 2019, практическая олимпиада для начинающих - I место;

2. Весенние состязания роботов ФМЛ №239 - 2019, большое путешествие, младшая категория - III место;

3. Соревнования II недели II смены X всероссийского летнего робототехнического лагеря, выставка 3D проектов - III место;

4. Открытые онлайн-состязания Санкт-Петербурга по робототехнике 2020, Rescue Maze - II место;

5. Международный онлайн-марафон робототехники РобоФинист 2020, Rescue Maze - III место;

6. Открытые зимние онлайн-состязания Санкт-Петербурга по робототехнике 2020, лабиринт туда и обратно - I место;

7. Открытые состязания Санкт-Петербурга по робототехнике 2021, Rescue Maze - I место;

8. RoboCup Russia Open 2021 - номинация "Best poster" ("Лучший плакат").

х
Лотоцкий Никита, конструктоp ▼
Обучение  
Практический опыт роботостроения  
Достижения и награды в робототехнике  
х
Филиппов Сергей Александрович, руководитель

Лига RoboCup Junior Rescue Maze

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

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

Видео

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

Робот имеет 6 колес, соединенных зубчатой передачей, понижающей скорость в 2 раза (у ведущей шестерни 24 зуба, у ведомой – 48). Робот приводится в движение двумя средними моторами от Lego Mindstorms. Робот не заезжает на стены и не цепляется за них благодаря бамперу, поставленному вокруг всего корпуса робота. Для измерения температуры и определения подогреваемых жертв установлены инфракрасные тепловые датчики от компании Mindsensors, замечающие жертву во время движения. Цветные метки распознаются датчиками цвета. Сигнал о нахождении жертвы производится пятисекундным отключением моторов и индикацией красным светом кнопок на контроллере робота. За измерение расстояния и движение по лабиринту с корректировкой по стенкам отвечают ультразвуковые датчики расстояния от Lego EV3, поставленные слева, справа и спереди робота. Измерение угла поворота робота производится благодаря гироскопу, также от Lego. Поскольку стандартный контроллер EV3 имеет только четыре порта для подключения датчиков, на роботе стоят два разветвителя Mindsensors Sensormux, имеющие возможность подключения аналоговых датчиков от Lego Mindstorms. У каждого разветвителя есть по 3 порта для подключения датчиков и один – для подключения разветвителя к роботу. На роботе установлена система выдачи спасательных наборов, имеющая два отсека для их загрузки, каждый отсек имеет по шесть наборов. Выдача наборов производится при помощи реечной передачи, которая выталкивает набор. После того как рейка встала в изначальное положение, резинка подает следующий набор. Движение рейки обеспечивает один средний мотор от Lego Mindstorms.

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

Программное обеспечение робота состоит из 4-х модулей. Управляющая программа загружена на контроллер Lego Mindstorms EV3. Программа написана на языке RobotC. Модули программы: А) Движение по лабиринту Робот движется по лабиринту по правилу правой руки. Во время движения вперёд робот корректируется по стенам лабиринта и синхронизирует моторы. Повороты осуществляются по гироскопу. Все эти пункты позволяют роботу не застревать и не сбиваться в лабиринте. Б) Составление карты лабиринта По приезду в новую клетку робот заносит её стены в массив. В зависимости от положения стены (спереди, сзади и пр.) в массив заносится определённая степень числа 2 (1, 2, 4 или 8). Таким образом, в ячейке массива может оказаться число от 0 до 15. В) Сканирование лабиринта Завершив исследование лабиринта линейных стен (то есть стен, до которых можно добраться по правилу правой или левой руки, что одно и то же), робот приступает к сканированию лабиринта. В памяти контроллера о каждой клетке хранится информация (в виде массива логических переменных), был ли робот в этой клетке или нет. Если робот обнаруживает клетку, в которой не был (то есть в массиве значение этой клетки – «ложь»), то он проверяет, можно ли с имеющимися данными о лабиринте добраться до этой клетки. Эта проверка проходит при помощи алгоритма волновой трассировки. Алгоритм предназначен для поиска кратчайшего пути от стартовой ячейки к конечной ячейке. Если в заданную клетку можно добраться, то туда строится маршрут при помощи массива, созданного во время волновой трассировки. Клетки маршрута записываются в линейный массив из структур. Затем, по построенному маршруту, робот движется к заданной клетке и исследует новую зону лабиринта. Как только лабиринт исследован полностью, робот возвращается в стартовую клетку, построив в неё маршрут. Г) Поиск жертв и выдача спасательных наборов В процессе движения по лабиринту роботу могут встречаться 3 типа жертв: цветные (красный, жёлтый или зелёный квадратик), подогреваемые (источник повышенной 10 температуры, от 28 до 40°С) и визуальные (чёрные буквы U, S или H). Наше программное обеспечение позволяет определять 2 типа жертв – подогреваемые и цветные. Подогреваемые жертвы определяются при помощи датчика температуры, способного определять температуру вокруг него и перед ним. К сожалению, ввиду особенностей разветвителя (датчики цвета не работают в режиме RGB) невозможно определять цветные жертвы по моделям RGB, HSV и подобным. Поэтому приходится ограничиваться значениями освещённости в режиме Reflected Light. Если значение датчика освещённости отличается от значения определённого цвета не более чем на какую-то фиксированную величину (например, 5%), то робот считает, что цветная жертва обнаружена. Обнаружив жертву, робот выбрасывает определённое количество спасательных наборов.

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

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

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

Плакат

Раздел в разработке

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

Team СН

Tuleninov Mikhail, captain, programmer ▼
Education  
Hands-on experience in robotics  
Achievements and awards in robotics  
х
Lotockii Nikita, engineer ▼
Education  
Hands-on experience in robotics  
Achievements and awards in robotics  
х
Filippov Sergey, head, head

League RoboCup Junior Rescue Maze

Main

Изображение 1
Изображение 2
Изображение 3
Video
Robot design
Robot software
Strategy and log
Poster

Video

 

Brief description of the element base, electronics and design features

 

 

Description of the robot's software (programming language and environment, list of implemented algorithms, description of the program structure)

 

Strategy (how the task set by the league regulations is solved)

 

    Engineering log

Poster

Section under construction

 

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