Skip to content

Репозиторий команды SUAI TECH для соревнования True Tech Champ 2024

Notifications You must be signed in to change notification settings

thatusualguy/MTS_micromouse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

147 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MTS True Tech Champ: Micromouse

Репозиторий команды SUAI TECH для соревнования True Tech Champ 2024

Состав команды

Стек

  • python
  • requests
  • git
  • все :)

Этапы

Все этапы соревнования состоят в управлении роботом "мышкой" (micromouse) в лабиринте. Целью соревнования является добраться от стартовой ячейки до центра лабиринта размером 16*16 клеток.

Робот имеет 4 колеса, 6 датчиков расстояния, гироскоп и энкодеры (начиная с финала).

Датчики расстояния смотрят:

  • вперед
  • вперед-вправо под 45*
  • вправо
  • назад
  • влево
  • вперед-влево под 45*

Колеса с каждой из сторон управляются одним мотором через систему шестерней, т.е. используется "танковое" управление. Колеса не поворотны.

Побеждает робот, добравшийся до центра лабиринта быстрее остальных. В некоторых случаях возможно несколько заездов на одном лабиринте - для исследования и выбора наилучшего маршрута, а затем забега на время.

Управление роботом через HTTP API. Доступа к прошивке нет.

Квалификация

Индивидуальное участие. Участникам предложат 3 задачи в виртуальном лабиринте: сканирование пространства и сбор данных, выход из тупика, скоростное прохождение робомыши от старта к финишу.

Задачи:

  1. На локальном эмуляторе исследовать лабиринт и отправить его полную карту
  2. На локальном эмуляторе исследовать лабиринт и на скорость добраться до его центра
  3. Аналогична второй, но имеет более реалистичное управление

Решение 1 и 2 задач:

  • движение через встроенные команды
  • использование 4 кардинальных датчиков для определения ближайших стен
  • сохранение лабиринта в виде графа
  • поиск кратчайшего маршрута через дейкстру
  • отсутствие оптимизаций

Сложности:

  • перенос обхода графа из абстрактной задачи в реальную
  • из-за ошибок проверочной системы, решение было проверено только после аппеляции

Результат:

  • 1 задание - 100% счета
  • 2 задание - топ 20 по времени выполнения
  • 3 задание - не решено
  • проход в следующий этап

Полуфинал (топ 500)

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

Задача:

  • На физическом роботе, проход до центра лабиринта на время
  • Встроенные команды управления или прямое ШИМ управление

Сложности:

  • Встроенные команды на протяжении большей части этапа имели ужасную точность. Ближе к концу этапа все ошибки в прошивке были исправлены организаторами.
  • Долгое время обновления датчиков расстояния. В прошивке они опрашивались последовательно, поэтому для получения валидных результатов датчиков необходимо было подождать 1.3 секунды после движения до опроса датчиков расстояния (гироскоп обновлялся мгновенно)
  • Индивидуальные особенности роботов в виде повышенного сопротивления на некоторых колесах

Ограничения:

  • Отсутствие постоянного доступа к роботу
  • У каждой команды есть всего 5 подключений к удаленному роботу на 30 минут каждое. В один из слотов необходимо совершить забег на время

Решение:

  • После множественных итераций и уточнения особенностей лабиринта - возвращение к прохождению по правилу правой руки
  • Откладывание попыток до момента исправления багов в прошивке
  • Корректирование расстояния от стен путем врезания в них (дополнительный эффект - устранение накопительных ошибок при поворотах)
  • запись маршрута для последующего воспроизведения полностью без запроса датчиков - следовательно, ускорение на 1.3 секунды после каждого движения

Результат:

  • успели квалифицировать на исследовательском проходе. Время - 93 секунды
  • не успели попробовать воспроизведение. Предполагаемое время - около 40 секунд
  • заняли 20 место, прошли в финал.

Финал (топ 24)

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

Задача:

  • На физическом роботе, прохож до центра лабиринта на время
  • Встроенные команды управления или прямое ШИМ управление
  • Новые двигатели с энкодерами
  • Новая прошивка

Ограничения:

  • 4 удаленных сессии по 1 часу
  • 11 часов с физическом роботе в ночь перед финалом
  • 15 минут для показания лучшего времени на лабиринте во время Фестиваля

Облегчения:

  • возможность хардкода маршрута робота
  • возможность ручного управления роботом

Сложности:

  • ужасно нестабильная прошивка робота на старте. Фактически, все онлайн сессии оказались бесполезны из-за непредсказуемого поведения робота. Встроенные команды ехали почти в случайную сторону. Прямое ШИМ управление иногда включало двигатели в разное время. Датчики 2 из 10 измерений выдавали ошибку.
  • Датчики не видят стену на расстоянии больше 1.5 клеток, видят пол
  • доработка прошивки другими участниками исправила быстродействие датчиков, исправила управление ШИМ, добавила опрос энкодеров в API

Сложности из-за сборки робота организаторами:

  • наша команда получила робота на 8 часов позже обещанного
  • у нашего робота работал только задний датчик расстояние, остальные 5 либо отсутствовали, либо смотрели внутрь корпуса робота и были бесполезны
  • у нашего робота направления подключения моторов было перепутано (вперед = назад и наоборот)
  • отсутствие запасного аккума для длительных тестов
  • отсутствие обещанных резиновых колес, предоставленные пластиковые скользили при любой нагрузке

Решение:

  • использование прошивки от других участников вместо официальной
  • отказ от использования датчиков расстояния, кроме заднего
  • использование гироскопа для поворотов
  • использование энкодеров для точного движения

Из-за малого количества времени из-за позднего получения робота (в 22:30, финал в 10 следующим утром), данный вариант реализован в полноценном виде не был. Разница в хакарактеристиках материала нашего самодельного лабиринта и финального сбила все коэффициенты.

Однако, главной проблемой мы считаем помехи от 136!!! других сетей WIFI на площадке во время финала. Управление роботом по WIFI имело огромную и непредвиденную задержку.

В результате нам пришлось использовать ручное управление, написанное за 10 минут до нашего забега.

Результат

  • время ручного забега - около 180 секунд
  • не прошли в суперфинал

Суперфинал (топ 9)

Сложности:

  • Дым и пиротехника, мешающие датчикам расстояния
  • Вращающиеся стенки

К сожалению, мы не вошли в суперфинал

About

Репозиторий команды SUAI TECH для соревнования True Tech Champ 2024

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages