Skip to content
/ WRO Public

Документация к роботу Blue Ice WRO 2022

Notifications You must be signed in to change notification settings

cosheimil/WRO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WRO logo

WRO FE 2022

Задача:

Задача сезона не просто создание беспилотного автомобиля – это гонка на время. На трассе не будет одновременно нескольких автомобилей. Вместо этого автомобиль за попытку должен достичь лучшего времени, проехав несколько кругов полностью автономно. Дорожные знаки указывают сторону полосы движения, по которой должен следовать автомобиль. Если на пути красный столб – автомобиль должен держаться правой стороны полосы, если зеленый - левой стороны полосы. Задание считается выполненным, если автомобиль проехал 3 круга. Запрещено сбивать или сдвигать с места дорожные знаки. Направление, в котором автомобиль должен двигаться по трассе (по часовой стрелке или против часовой стрелки), будет варьироваться в разных матчах. Стартовая позиция автомобиля, а также количество и расположение дорожных знаков определяются случайным образом во время жеребьевки перед матчем (после карантинного времени). Основа робота - камера OpenMV H7 Plus. С помощью ее и micropython на борту возможно отслеживание объектов внутри кадра и управление пинами GPIO. Так как эта камера фактически pyboard, но с камерой. A pyboard это оффициальная плата с GPIO выводами. Также выполнен шилд расширения для данной платы на микросхеме drv8833 для управления мотором задней оси и стабилизацией питания на 5в для пиатния камеры.

Фото Вид
robot1 Спереди
robot2 Сбоку
robot3 Сзади
robot4 Сбоку
robot5 Снизу

Конструкция:

Управление роботом также, как и в настоящей машине: один мотор, передняя ось с соблюдением угла аккермана. Управление передней оси осуществляется с помощью сервопривода MG 90S. А задняя ось приводится в движение с помощью обычного коллекторного мотора с соотношением 150:1 на 6в.

Реализация конструкции:

Все части робота были выполнены в CAD Компас 3D V19. в данном CADе присутствуют осовные операции для моделирования и сборка элементов, что идеально подходит для данной задачи. Все детали напечатаны на 3d-принтере пластиком PLA. Данный пластик идеально подходит для поставленной ранее задачи, так как обладает хорошей прочностью и легким весом.

Программная часть:

Камера программируется на MicroPython в среде от производителя - OpenMV IDE. В данной среде возможно программировать, отлаживать и загружать код на плату. Также в данной среде поддерживается подсветка синтаксиса и документация к функциям, что делает программирование данной платы очень удобным.

Алгоритм:

Алгоритм делится на 3 части:

  1. Движение робота до 1 поворота (до первой оранжевой или синей линии на повороте)
  2. Движение, если виден кубик
  3. Движение при кубике вне кадра

1

Кадр делится на 2 равные части (разрез по вертикали), определяется кол-во черного в правой и левой. Робот поворачивает в ту сторону, где меньше черного. После того как будет замечена оранжевая или синяя линия (по определенному цветовому диапозону находится прямоугольник некоторого размера) алгоритм переходит ко 2 или 3 части в зависимости от ситуации

2

На некотором расстояние определяется кубик одного из цветов. В зависимости от цвета совершается такой поворот робота (стоит ПИД-регулятор), чтобы центр определенного кубика находился на 20 пикселя от правого (зеленый куб) или от левого (красный куб) края кадра. В таком случае поворот получается достаточно плавным, чтобы не врезаться в куб или стенку

3

Если куба в кадре нет, то робот будет действовать так: Определяет кол-во черного цвета в правой (если движение против часовой) или в левой (если движение по часовой) половине кадра. Направление движения робота (против часовой или по часовой) определяется по первой увиденной линии на 1 повороте (если оранжевая, то по часовой, если синяя - против часовой). Далее робот с помощью ПИД-регулятора стремится сохранять определенное подобранное кол-во черного в этом секторе.

Тормозит робот после прохождения 12 поворотов (3 круга)

Процесс сборки

Для сборки робота необходимо напечатать на 3d принтере все компоненты из папки models. И также докупить компоненты motor, servo, motor driver, OpenMV H7 Plus В итоге пакет деталей должен выглядеть примерно так:

  • основа робота
  • передние кулаки x2
  • держатели передних кулаков x2
  • основа камеры
  • крепление камеры
  • бампер камеры
  • батарейный отсек
  • крепление для дифференциала
  • колеса x4
  • вал переходник
  • OpenMV H7 Plus
  • сервопривод MG 90S
  • качалка от сервы
  • качалка на 3d-принтере
  • аккамулятор
  • лего детали
  • мотор
  • горстка винтов, гаек и шайб
  1. В основу робота надо вкрутить два передних кулака с использованием шайб m3 и винтов такого же размера
  2. В основу необходимо вставить сервопривод и надежно его закрепить внутри самой платформы
  3. На сервопривод необходимо одеть качалку с откусанными лепестками и поверх данной конструкции саму качалку, напечатанную на 3d принетере
  4. Скрепляется рычаг с кулаки передней оси и продевается в углубление качалки из 3-его шага
  5. В основу камеры вкручивается держатель для камеры
  6. На камеру одевается бампер
  7. Система из шага 6 и 5 скручивается винтами m3
  8. Конструкция из шага 7 вкручивается в основу винтами m3
  9. Батарейный отсек, внутри которой уже заложен аккум, вкручивается в платформу
  10. В крепление дифференциала вкручивается сам лего дифференциал
  11. Сборка из шага 10 закручивается в платформу
  12. На камеру одевается шилд, спаянный по схеме
  13. Все провода подключаеются согласно схеме

Электронные компоненты

OpenMV H7 Plus

Мы решили использовать именно эту камеру, так как она обладает хорошим процессором и flash памятью, что позволяет быстрее обрабатывать кадры по сравнению с ее собратьями из данной серии

MG 90S

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

pololu motor 6v 150:1

Данный мотор, потому что именно он смог работать адекватно на 7.4v вместо заявленных 6v и не перегреваться

преобразователь питания

Использовался китаец под кодовым названием 0j10393, так как за свою цену и размеры он работает идеально

DRV8833

Для управления двигателями используется драйвер DRV8833, который позволяет одновременно управлять двумя коллекторными двигателями. Внутри микросхемы драйвера содержится два независимых Н-моста, рассчитанных на напряжение от 2,7 до 10,8 В, с рабочим током каждого канала до 0,5 А без радиатора или до 1,5 А с радиатором, установленным на микросхеме.

Content

  • models в этой папке хранятся все файлы робота, напечатанные на 3d-принтере. Все файлы моделей робота, не включая конечную сборку.
  • schemes содержит принципиальные схемы робота
  • src вся програмная часть
  • team-photos фото команды (оффициальное и в процессе работы)
  • vehicle's-photos фото робота (с разных видов)

About

Документация к роботу Blue Ice WRO 2022

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages