![]() |
![]() |
Команда MVK
|
|||||||
|
х | ||||||
|
|||||||
|
х | ||||||
|
|||||||
|
х | ||||||
|
|||||||
|
х | ||||||
|
|||||||
|
|||||||
|
|||||||
|
Лига RCJ Soccer Open
|
|
![]() Видео
|
![]() Конструкция робота
|
![]() Программное обеспечение робота
|
![]() Стратегия и журнал
|
![]() Плакат
|
Видео |
Краткое описание элементной базы, электроники и особенностей конструкции
Ходовая часть робота состоит из четырех приводов с подшипниковыми узлами и зубчатыми колесами для смещения оси вращения колеса. Тяги к колесам приводят двигатели постоянного тока Pololu 25D 12V High-Power 500 об/мин 6,12 кгс*см со встроенным энкодером, состоящим из двух датчиков Холла и магнитного диска, прикрепленного к ротору двигателя. Самостоятельно разработанные всенаправленные колёса позволяют роботу двигаться в любом направлении, вне зависимости от его ориентации. Дриблер – это механизм захвата и ведения мяча. Благодаря ему, робот может эффективно производить атакующие и оборонительные манёвры. Электромагнитные толкатели, установленные под углом, друг к другу позволяют роботу производить удар по мячу в нескольких направлениях Блок управления роботом-футболистом включает в себя три печатные платы: материнскую плату, светочувствительную плату датчиков и коммутационную плату-адаптер для подключения аккумулятора. Основными компонентами электронной системы управления являются материнская плата и плата датчиков. Материнская плата построена на базе высокопроизводительного микроконтроллера STM32F407VGT6 от STMicroelectronics с ядром ARM Cortex-M4. Она содержит вторичные источники питания, электронику для управления двигателями постоянного тока (H-мост MC33926 от NXP) и электромагнитным ударным механизмом, а также разъемы для периферийных устройств (видеокамера OpenMV M7, BT-модуль HC-05, датчик расстояния VL53L0X, IMU-Сенсор Sparkfun Razor M0, плата датчиков, 2 соленоида и пр.) Нажмите на изображение, чтобы увеличить его |
Описание ПО робота (язык и среда программирования, перечень реализованных алгоритмов, описание структуры программы )
На основе электрических схем плат управления нами была разработана программная архитектура, основанная на принципе конечного автомата. Поскольку электроника построена на базе микроконтроллеров серий STM32F1 и STM32F4 для работы с периферией мы использовали библиотеку SPL, предоставленную производителем, и драйвер CMSIS для ядра ARM Cortex. Программное обеспечение написано на языках C и C++ в интегрированной среде разработки Keil uVision 5 Для описания математических моделей распознаваемых цветных меток и мяча используется алгоритм BFS (поиск в ширину), встроенный в модуль камеры. Похожими по цвету точками считаются все попадающие в диапазон между двумя калибровочными значениями-цветами в трехмерном пространстве LAB Для связи между программируемыми устройствами были разработаны протоколы прикладного уровня с тремя состояниями конечного автомата: • Поиск заголовка в потоке входящих данных • Заполнение данными • Проверка хэш-суммы и логирование данных. Для управления низкоуровневой периферией используются библиотека Standard Seripheral Library и драйвера CMSIS для ядра ARM-Cortex. Распознавание цветных объектов облегчается благодаря использованию библиотеки компьютерного зрения OpenCV и библиотеки линейной алгебры Eigen. |
Стратегия (как решается задача, заданная регламентом лиги) Использование выпуклого зеркала позволяет использовать полярную систему координат, связанную с роботом, при решении задачи его навигации в системе координат, связанной с игровым полигоном. Ориентация происходит в созданной модели инерциальной и глобальной навигации. Объезд и следование за мячом осуществляется по связке эллиптических траекторий и линейных зависимостей. В алгоритме нашего робота – совмещение окружности с изменяющимся радиусом (обратно пропорционально расстоянию до мяча) и прямая езда на мяч. Роботу важно определять, в какой части поля он находится. В алгоритме нападающего мы используем это для отъезда от линии аута. Когда какой-либо датчик на плате датчиков видит белую линию, робот выезжает в направлении центра полигона. Реализация тактики нападающего также представляет из себя конечный автомат с тремя основными состояниями: Здесь роботу также важно определять, в какой части полигона он находится. В алгоритме вратаря мы используем это для точного позиционирования и выравнивания на мяч. |
||
|
Плакат Нажмите на изображение, чтобы увеличить его |
Team MVK
|
|||||||
|
х | ||||||
|
|||||||
|
х | ||||||
|
|||||||
|
х | ||||||
|
|||||||
|
х | ||||||
|
|||||||
|
|||||||
|
|||||||
|
League RCJ Soccer Open
|
|
![]() Video
|
![]() Robot design
|
![]() Robot software
|
![]() Strategy and log
|
![]() Poster
|
Video |
Brief description of the element base, electronics and design features
The undercarriage of the robot consists of four drives with bearing assemblies and gears for shifting the axis of rotation of the wheel. The traction to the wheels is driven by DC motors Pololu 25D 12V High-Power 500 rpm 6.12 kgf * cm with a built-in encoder consisting of two Hall sensors and a magnetic disk attached to the motor rotor. Self-designed omnidirectional wheels allow the robot to move in any direction, regardless of its orientation. Dribbler & ndash; it is a mechanism for capturing and dribbling the ball. Thanks to him, the robot can effectively perform attacking and defensive maneuvers. Electromagnetic pushers mounted at an angle to each other allow the robot to hit the ball in multiple directions The football robot's control unit consists of three printed circuit boards: a motherboard, a light-sensitive sensor board, and an adapter switch board for connecting a battery. The main components of the electronic control system are the motherboard and the sensor board. The motherboard is based on the high-performance STM32F407VGT6 microcontroller from STMicroelectronics with an ARM Cortex-M4 core. It contains secondary power supplies, electronics for controlling DC motors (H-bridge MC33926 from NXP) and an electromagnetic shock mechanism, as well as connectors for peripheral devices (OpenMV M7 video camera, HC-05 BT module, VL53L0X distance sensor, IMU-Sensor Sparkfun Razor M0, sensor board, 2 solenoids, etc.) |
Description of the robot's software (programming language and environment, list of implemented algorithms, description of the program structure)
Based on the electrical circuits of the control boards, we have developed a software architecture based on the principle of a finite state machine. Since the electronics are based on STM32F1 and STM32F4 microcontrollers, we used the SPL library provided by the manufacturer and the CMSIS driver for the ARM Cortex core to work with peripherals. The software is written in C and C ++ in the Keil uVision 5 integrated development environment. The BFS (Breadth First Search) algorithm built into the camera module is used to describe the mathematical models of recognizable color marks and the ball. All points that fall within the range between two calibration values-colors in the three-dimensional LAB space are considered to be similar in color. For communication between programmable devices, application-level protocols with three states of the state machine have been developed: Searching for a header in the incoming data stream * Filling with data * Hash sum check and data logging. The Standard Seripheral Library and CMSIS drivers for the ARM-Cortex core are used to control low-level peripherals. Recognition of colored objects is facilitated by the use of the OpenCV computer vision library and the Eigen linear algebra library. |
Strategy (how the task set by the league regulations is solved) The use of a convex mirror makes it possible to use the polar coordinate system associated with the robot when solving the problem of its navigation in the coordinate system associated with the playground. The orientation takes place in the created inertial and global navigation model. Bypassing and following the ball is carried out along a bunch of elliptical trajectories and linear dependencies. In the algorithm of our robot & ndash; aligning a circle with a varying radius (inversely proportional to the distance to the ball) and driving straight on the ball. It is important for the robot to determine which part of the field it is in. In the attacker's algorithm, we use this to move away from the out line. When any sensor on the sensor board sees a white line, the robot moves towards the center of the polygon. The attacker's tactics are also a state machine with three main states: Here it is also important for the robot to determine which part of the polygon it is in. In the goalkeeper algorithm, we use this to accurately position and align on the ball. |
||
|
Poster |