# x0gp — Hardware Plan Документ фиксирует решения по физической части проекта: шасси машинки, электроника на борту, трасса в квартире, лэп-тайминг и компьютерное зрение. Дата фиксации архитектурных решений: 2026-06-18. Дата обновления (Bambu A1, своё шасси): 2026-06-18. Дата обновления v2 (compact 1/24/1/27, Orange Pi 5 Pro): 2026-06-18. --- ## 1. Исходные ограничения | Параметр | Значение | Комментарий | |---|---|---| | Самая большая комната | 446 x 319 см (~14.2 м²) | Внутри нужно оставить отступы под мебель и проход | | Рабочая зона трассы (целевая) | 250-300 x 180-200 см | Только прямоугольный периметр, углы под мебель не используем | | Ширина полосы трассы | **20-25 см** | Под компактный масштаб 1/24-1/27, запас на ошибки руления | | Число машинок в PoC | 2-4 шт | Этого достаточно для проверки race orchestration | | Производство | **Bambu A1** (предварительно) + PETG / ASA / TPU | Шасси, барьеры, маунты — печатаем сами, **шасси полностью своё (не покупная дека)** | Целевая длина круга: 6-9 м (в зависимости от конфигурации поворотов). --- ## 2. Масштаб и размеры машинки **Принято v2: машинку уменьшаем до компактного масштаба — 1/24 или 1/27.** Причины: минимизация площади трассы в квартире, дешевле комплектующие, быстрее реакция (меньше инерция), меньше расход батарей. Цена — мельче детали = сложнее CAD/печать/ремонт, меньше выбор готовых RC-узлов. **Два класса машинок в проекте:** | Класс | Масштаб | Длина шасси | Ширина шасси | Ширина полосы | Применение | |---|---|---|---|---|---| | **Compact** | **1/27** | **13-15 см** | **7-8 см** | **20-22 см** | **Основной класс**. Минимальная трасса, помещается в 200×130 см | | Mini | 1/32 | 10-12 см | 6-7 см | 16-18 см | Для ещё более компактных трасс и юниоров | | Standard | 1/24 | 16-18 см | 8-9 см | 22-25 см | Альтернатива Compact, если хочется чуть стабильнее | **Целевой класс — Compact 1/27** (можно делать две версии для сравнения). Реальная F1 ~5 м, 1/27 -> ~18.5 см с кузовом, шасси ~13-15 см. Почему не 1/10: - Слишком крупно для квартиры. Почему не 1/18: - 18-22 см шасси всё ещё занимает заметную площадь. - Ширина полосы 30-40 см требует трассу ~300×200 см — много для квартиры. Почему **1/27 лучше 1/32** как primary: - 1/32 (Tamiya TS/MT мини) — слишком мелкие детали: подшипники 3×6×2 мм, винты M1.4, серво весом 3-5 г. Сложно печатать точно и ремонтировать. - 1/27 — золотая середина: достаточно мелкий для квартиры, достаточно крупный для надёжной 3D-печати и удобного ремонта. Подшипники 4×8×3 мм, винты M2, серво ~5-8 г. Доступны готовые RC-узлы "Mini-Z" размера. --- ## 3. Шасси машинки ### 3.1. Конструктив **Решение: шасси полностью своё, спроектированное и напечатанное нами.** Не покупаем готовую деку — делаем CAD с нуля под 1/27 Compact Formula-стиль (целевой wheelbase 100-115 мм). Это даёт: - полный контроль над геометрией (можно итеративно подгонять под трассу); - уникальный внешний вид (бренд x0gp); - минимум зависимости от поставщиков RC-деталей; - быстрые итерации — неудачная дека перепечатывается за вечер. Базовая идея: кастомное шасси, напечатанное на 3D-принтере, с использованием готовых RC-узлов (подшипники, амортизаторы, серво, мотор, ESC). ДЕКА (нижняя плита + верхняя дека + бамперы + стойки) — напечатана нами. Печатаем сами: - Основная дека (chassis plate) — PETG / ASA, 3-4 мм wall. - Передний и задний бамперы — TPU (амортизация ударов о барьеры). - Маунт серво, маунт ESC, маунт аккумулятора. - Верхняя дека (electronics plate) — отдельная, для быстрого доступа. - Защитный кожух для ESP32-S3 (snap-fit, вентиляция). - Петля IR-датчика (если выбран вариант "петля снизу" — см. раздел 7). - Крепление кузова (body posts) под 1/27 стандарт (100-115 мм wheelbase). Покупаем готовые RC-узлы (в Mini-Z / 1/27 размере): - Амортизаторы (oil-filled, ~25-35 мм) — масштабные. - Шрусы / приводные валы (dogbones). - Подшипники (4×8×3 мм, 3×6×2 мм). - Колёса и шины (1/27 foam или rubber, диаметр ~25-30 мм). - Кузов (поликарбонат, Formula-стиль, лексан 0.4-0.6 мм) — покупаем готовый кузов 1/24 или 1/27 (Tamiya / Mon-Tech / Protoform), потом печатаем свой. ### 3.2. Целевая спецификация шасси - Wheelbase: **100-115 мм**. - Track width: **70-80 мм**. - Вес с батареей: **150-220 г**. - Распределение веса: 40/60 (перед/зад) или 45/55 — настраивается под трассу. ### 3.3. CAD и печать - **Принтер: Bambu A1 (предварительно).** Плюсы: быстрый (CoreXY, ~500 мм/с), закрытая камера (для ASA/ABS), тихий, доступный по цене, AMS Lite для multi-color (полезно для тестовых деталей разного цвета). Минусы: меньше рабочий объём чем у P1S, нет enclosure для высокотемпературных пластиков в базе. Альтернатива: **Bambu P1S** (если решим печатать в enclosure). - CAD: **Fusion 360** (бесплатная лицензия для хобби) или **OnShape** (free tier, удобно для совместной работы). - Слайсер: **Bambu Studio** (нативная поддержка A1) или **OrcaSlicer** (больше настроек). - Материалы: - Дека шасси: **PETG** (прочность, не крошится при ударе, легко шкурится). - Бамперы и амортизирующие элементы: **TPU 95A** (гнётся, не ломается). - Кузов: тонкостенный PETG / PETG-CF (карбон для жёсткости) или покупной поликарбонат лексан 0.5-0.8 мм (для первых тестов — купим готовый кузов 1/18, потом напечатаем свой). - Крепёж, маунты, кожухи: PETG / PLA+ (декоративные детали). - Постобработка: PETG шкурится и клеится эпоксидкой. PETG-CF можно оставить как есть. - Итерации: первая версия печатается за 1 вечер (A1 печатает деку 1/18 за ~2-4 часа), сразу видно косяки. Версия 2 — на следующий день. --- ## 4. Электроника на борту ### 4.1. Силовая часть (drivetrain) | Узел | Спецификация | Комментарий | |---|---|---| | Мотор | Brushless sensorless 2440 / 2830 (или sensored 3650 если место) | 1/18 обычно 2440 серия, 3800-4500 KV для 2S | | ESC | 30-40 A, с поддержкой 100-200 Hz refresh, программируемый (Hobbywing XeRun Mini, Quicrun 16BL30, или 3D-printed enclosure для Mini ESC) | Без поддержки высокого refresh — steering будет "залипать" | | Servo | Mini digital, 9-12 г, скорость 0.06-0.08 s/60deg, момент 1.5-2.5 kg/cm, deadband <= 4 us | Метал-редуктор обязателен | | Аккумулятор | 2S LiPo 350-450 mAh, 50-100 C, XT30 connector | Быстрая замена через батарейный отсек | | BEC | Встроен в ESC (6V, 2-3 A) или отдельный buck 5V/3.3V для ESP32 | | ### 4.2. Управляющая электроника (agent) | Узел | Спецификация | |---|---| | MCU | **ESP32-S3-WROOM-1** (или ESP32-S3-DevKitC) | | Wi-Fi | 2.4 GHz 802.11 b/g/n, поддержка WPA3, ESP-IDF + Wi-Fi DTIM low-power | | Альтернатива MCU | ESP32-C5 (если нужен 5 GHz) или ESP32-S3 + внешний PA для дальности | | Прошивка | Go НЕ идёт на ESP32 напрямую. Варианты: (a) MicroPython + asyncio — быстрый PoC; (b) ESP-IDF C/C++ — production; (c) TinyGo — компромисс | | Питание | Buck 5V/3.3V от BEC ESC, отдельный LDO для аналоговых цепей (серво) | | Сенсоры | MPU-6050 / ICM-20948 IMU (детекция кренов/столкновений), опционально ToF (VL53L0X) для anti-collision | | IR-магнитные | TSOP1738 + ИК-светодиоды (или AS5600 магнитный енкодер для серво) | | Хранилище | Маленькая SPI flash для конфига, OTA | Рекомендация для PoC: **ESP32-S3 + MicroPython**. Простой, быстрый старт. К выходу на production-качество — переписать критичный цикл на ESP-IDF C. ### 4.3. Протокол "агент на борту" <-> "агент в помещении" - Wi-Fi STA mode на ESP32, подключается к выделенной точке. - WebSocket (или просто TCP) к локальному Go-агенту (см. раздел 9). - Бинарный формат (protobuf / msgpack), 60-120 Hz. - Heartbeat каждые 250 мс с состоянием (RSSI, батарея, температура ESC). - OTA-обновления прошивки через Wi-Fi (инициируются из gateway-агента). --- ## 5. Распределение массы и центр тяжести - Батарея крепится по центру (или смещается назад для Formula-стиля). - Мотор сзади, серво спереди. - Вся электроника сверху, доступна через съёмную деку. - Балансировка: подкладываем шайбы в крепления амортизаторов. --- ## 6. Трасса ### 6.1. Геометрия - Форма: сначала прямой овал, потом сложнее. - Полоса: **20-25 см шириной** (под 1/27 Compact). - Покрытие: гладкий ПВХ-коврик или линолеум (не ковёр!). - Барьеры: 3D-printed секции 15-20 см, высота 3-4 см, соединяются пазами. - Разметка: линия старта/финиша, сектора (1/3, 2/3) — магнитная лента. **Целевая рабочая зона трассы** (внутри комнаты 446×319 см с отступами): - **Стандарт**: 200×130 см (прямоугольный периметр, периметр ~6.6 м) - **Compact**: 180×110 см (для самой маленькой трассы, периметр ~5.8 м) - **Aggressive** (сложная конфигурация): 220×140 см, с шиканами (периметр ~7+ м) ### 6.2. Структура - Модульный каркас из 3D-printed уголков и алюминиевого профиля 2020. - Подложка: лист фанеры 6-8 мм или жёсткий ПВХ. - Поверхность: линолеум / резина / гладкий ПВХ — низкое трение = выше скорость. - Стыки модулей: фаски, чтобы не ловить колёсами. ### 6.3. Углы и прямые - Прямые: 40-70 см минимум для разгона (короче, чем 1/18). - Повороты: радиус 20-40 см (внутренний). - Шиканы: 10-18 см шириной. - Апекс-конусы: 3D-printed (маленькие, ~3 см высота). ### 6.4. Хранение и сборка - Модули 40x40 см — складываются стопкой. - Полная сборка трассы 200x130 см: 30-50 минут. - Полный разбор: 15 минут. --- ## 7. Лэп-тайминг и позиционирование Выбран гибрид: **IR-магнитные датчики + overhead-CV**. ### 7.1. Старт/финиш и секторы (IR + магнит) - Магнитная лента 5 мм шириной, утоплена в покрытие. - На машинке: AS5600 / TLE4990 (магнитный енкодер), читает позицию ленты. - На каждой секции старта/секторов: TSOP1738 IR-приёмник + ИК-светодиод на машинке. - Логика: при пересечении линии в определённом направлении — инкремент сектора или фиксация lap. - Точность: 1-2 мс. ### 7.2. Overhead Computer Vision - 1-2 камеры над трассой (крепятся на штативе или раме 2020). - Камеры: USB UVC 1080p 60 fps, глобальный затвор (важно! rolling shutter даст смаз на скорости), например Arducam OV9281 или ELP USB GS-CMOS. - Хост: мини-ПК (см. раздел 9.2) с GPU или без (CPU хватит для 2-4 машинок на Jetson Orin Nano / RPi 5 + Hailo-8). - Стек: Python + OpenCV + YOLO/ByteTrack, или Go + gocv. - Что отдаём серверу: - позиция (x, y, heading) каждой машины @ 30-60 Hz; - ID-трекинг (ByteTrack / SORT); - replay-запись (буфер 60 секунд, по запросу пишется в S3-совместимое хранилище). ### 7.3. Синхронизация времени - NTP на gateway-агенте, drift < 5 мс. - На борту машинки — RTC (DS3231) опционально, для синхронных логов. --- ## 8. Электрика в помещении - Зарядная станция: 4-6 портов ISDT / ToolkitRC, балансир 2S. - Запас батарей: 3-4 комплекта на машину (ротация). - UPS для gateway-агента (на случай кратковременных отключений). - Розетки: 220 В у трассы (для зарядки и gateway). --- ## 9. Локальная инфраструктура (квартира) ### 9.1. Wi-Fi - Один выделенный роутер 2.4/5 GHz, отдельный SSID "x0gp-track" (изолированный VLAN). - 5 GHz предпочтительно для агентов (меньше помех от соседей). - Шифрование: WPA3, только авторизованные MAC (whitelist). - Роутер в центре комнаты, на высоте 2 м, прямая видимость до всех точек трассы. ### 9.2. Gateway-агент (локальный "мозг" в помещении) - Мини-ПК: Intel NUC / Beelink EQ12 / RPi 5 (8 GB). - Софт: Go-агент из репозитория `server` (модуль `cmd/agent-linker`): - подключается к Edge-серверу по WebSocket (TLS); - держит WebSocket-сессии со всеми машинками; - буферизует команды на случай обрыва WAN (до 500 мс); - отдаёт на сервер телеметрию (CV-треки, IR-секторы, состояние ESC); - записывает replay на локальный диск, синкает в S3. ### 9.3. Крепёж и кабели - Камеры на алюминиевом профиле 2020, высота 2-2.2 м. - Кабели по потолку в кабель-каналах. - USB-удлинители с фиксацией. --- ## 10. Roadmap (hardware) | Фаза | Срок (целевой) | Что делаем | |---|---|---| | **H0: PoC на столе** | 1-2 нед | 1 машинка, маленькая трасса 100x60 см, без CV, только IR-сектор. Проверяем end-to-end Wi-Fi канал | | **H1: MVP квартира** | 4-6 нед | 4 машинки, модульная трасса 250x180, overhead-CV, IR-сектор. Полный цикл команды и телеметрии | | **H2: 3D-итерация** | 8-12 нед | Улучшаем шасси, аэродинамику кузова, диффы, подвеску. Сравниваем 1/18 и 1/20 классы | | **H3: Продакшн-помещение** | 3-6 мес | Модульная трасса износостойкая, 8-12 машин, hot-swap батарей, резервный LTE-канал | --- ## 11. Бюджет (примерный, ориентир на РФ, 2026) Масштаб 1/27 Compact — комплектующие и кузова дешевле, чем 1/18, итого бюджет ниже. | Категория | Сумма, тыс. руб. | |---|---| | 3D-принтер **Bambu A1** (или P1S, решим позже) | 60-150 | | Filament: PETG ~8 кг, TPU ~1.5 кг, PETG-CF ~1.5 кг, PLA+ ~2 кг | 12-20 | | Шасси 1/27 Compact на 4 машинки (PETG + RC-компоненты, своё) | 18-35 | | Электроника (Mini ESC + мини-мотор + мини-серво + BEC) x4 | 20-35 | | ESP32-S3 + датчики + IMU x4 | 8-12 | | LiPo батареи 1S/2S 250-350 mAh (12 шт) | 8-15 | | Кузов поликарбонат 1/24-1/27 x4 | 4-7 | | Камеры 2 шт + штатив (компактные) | 6-12 | | **Orange Pi 5 Pro уже есть** | 0 | | Wi-Fi роутер (TP-Link Deco / MikroTik) | 5-15 | | Зарядная станция | 5-8 | | Материалы трассы (профиль 2020, фанера, линолеум, меньше) | 6-12 | | UPS, кабели, мелочёвка | 5-10 | | **ИТОГО PoC + MVP** | **~150-330** | --- ## 12. Открытые вопросы - **Compact 1/27 vs Standard 1/24** — primary 1/27, но CAD должен предусматривать оба варианта (один файл с параметризованным wheelbase). - **Overhead-CV**: 1 широкая камера vs 2 узких (над прямыми и поворотами). - **Точная ширина полосы** (20 vs 22 vs 25 см) — определится после первых заездов с реальной машинкой. - **Нужен ли onboard CV** (ESP32-S3 + камера) для резервного трекинга. - **Bambu A1 vs P1S** — A1 дешевле и быстрее, P1S имеет enclosure для инженерных пластиков. Решим после тестов с PETG-CF и ASA. - **Wheelbase**: 100-115 мм — нужно сверить с доступными Mini-Z амортизаторами (Tamiya / PN Racing / GL Racing). - **Кузов**: первый кузов купим готовый 1/24 (Tamiya F1 / Mon-Tech F1), свой CAD начнём после первых тестов. - **Orange Pi 5 Pro cooling** — RK3588S под нагрузкой греется, нужен радиатор + вентилятор. Уточнить, что уже стоит на твоей плате.