Обзор библиотеки

Поймите архитектуру и основные концепции библиотеки 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");