Обзор библиотеки
Поймите архитектуру и основные концепции библиотеки UNI.
Архитектура
Экосистема UNI разработана для робототехнической платформы UniBase. Она состоит из двух основных компонентов:
1. UniBase (ESP32)
Основная библиотека работает на микроконтроллере ESP32 на борту робота. Она управляет:
- PID контроль моторов: Обеспечивает точную скорость и дистанцию, используя энкодеры.
- Одометрия: Вычисляет положение (X, Y) относительно точки старта.
- Абстракция оборудования: Управляет OLED, светодиодами, датчиками напряжения и IMU.
2. UniBaseControl (Arduino Nano / Удаленное)
Дополнительная библиотека для управления роботом с вторичного процессора через UART.
- Отправляет высокоуровневые команды (например, "move 100mm") на ESP32.
- Получает данные с датчиков (одометрия, батарея) от ESP32.
- Идеально подходит для образовательных наборов, где студенты программируют Arduino Nano, подключенную к роботу.
Основные концепции
Неблокирующие операции
Большинство команд движения в библиотеке UNI (такие как moveDist или
rotate) разработаны так, чтобы быть интуитивно понятными.
Однако, под капотом ESP32 использует задачи FreeRTOS для обработки высокочастотных PID-циклов, не
блокируя ваш основной код.
Система координат
Робот использует стандартную 2D декартову систему координат:
- Ось X: Направление вперед от стартовой точки.
- Ось Y: Направление влево от стартовой точки.
- Угол (Theta): 0 градусов - направление вперед. Положительные углы - поворот ПРОТИВ часовой стрелки (Left), отрицательные - ПО часовой стрелке (Right).
Имя робота
Вы можете назначить пользовательское имя вашему роботу при инициализации. Это имя отображается на OLED-экране при запуске.
robot.begin("WALL-E");