From e923afd4c710319c0facfbd5e18d392e56249d2b Mon Sep 17 00:00:00 2001 From: drho1y Date: Fri, 3 Jul 2026 02:39:23 +0700 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BD=D0=B0=D0=B1=D1=80=D0=BE=D1=81=D0=BE=D0=BA=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BD=D0=B2=D0=B5=D0=B9=D0=B5=D1=80=D0=B0,=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D0=BC=D0=B5=D1=80=D0=BD=D1=8B=D0=B9=20=D1=81=D0=BF=D0=B8?= =?UTF-8?q?=D1=81=D0=BE=D0=BA=20=D0=B7=D0=B0=D0=BF=D1=87=D0=B0=D1=81=D1=82?= =?UTF-8?q?=D0=B5=D0=B9.=20=D0=98=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D0=B0?= =?UTF-8?q?=D0=BB=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D1=8B=D0=B5?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=D0=B1=D0=BB=D0=B5=D0=BC=D1=8B=20=D0=B8=20?= =?UTF-8?q?=D1=80=D0=B5=D1=88=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=82=20?= =?UTF-8?q?=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- schemes/mvp_1.drawio | 277 +++++++++++++++++++++++++++++++++++++++++++ schemes/mvp_1.jpg | Bin 0 -> 59494 bytes schemes/mvp_1.md | 114 ++++++++++++++++++ 3 files changed, 391 insertions(+) create mode 100644 schemes/mvp_1.drawio create mode 100644 schemes/mvp_1.jpg create mode 100644 schemes/mvp_1.md diff --git a/schemes/mvp_1.drawio b/schemes/mvp_1.drawio new file mode 100644 index 0000000..d50949f --- /dev/null +++ b/schemes/mvp_1.drawio @@ -0,0 +1,277 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schemes/mvp_1.jpg b/schemes/mvp_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5373e553e0d140a6cf0a912a01c71d0361016cba GIT binary patch literal 59494 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 z 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 E9}~)ZDF6Tf literal 0 HcmV?d00001 diff --git a/schemes/mvp_1.md b/schemes/mvp_1.md new file mode 100644 index 0000000..945e23c --- /dev/null +++ b/schemes/mvp_1.md @@ -0,0 +1,114 @@ +# Наброски будущей схемы конвейера + +![](mvp_1.jpg) + +## Пояснение к схеме + +### todo + +## Список материалов: + +В этот список необходимо доложить энкодер для двигателя! + +| Название | Сумма, ₽ | Количество | +| :--- | :--- | :--- | +| Медная лента для удаления припоя / Оплетка для выпайки диаметр 2 мм длина 1.5 м | 164 | 1 | +| Набор проводов для пайки | 1 030 | 1 | +| Набор проводов для пайки | 855 | 1 | +| Флюс гель универсальный безотмывочный, для пайки микросхем и компонентов Flux RMA-223-UV-10г | 162 | 1 | +| Припой для пайки с канифолью 1мм 50гр ПОС-61 на катушке (ГОСТ) | 423 | 1 | +| ALIENTEK Паяльник 140 Вт, 7 предметов | 4 985 | 1 | +| Преобразователь DC-DC понижающий с 8-60V до 1-36V 15A max | 805 | 1 | +| Беспаечная макетная плата (breadboard) MB-102, 830 точек, для Arduino и прочих устройств | 1 112 | 2 | +| 120 шт. Провода перемычки для макетных плат, соединительные провода для модулей, контроллеров arduino (10 см) 3 вида по 40 шт папа-папа, мама-мама, папа-мама | 636 | 3 | +| Homeled, Блок питания, 12V, 200W, 180-265 вольт. С клеммами. Импульсный для светодиодных лент и светильников | 599 | 1 | +| Двигатель для шуруповерта 12v без шестерни | 834 | 2 | +| Сервопривод MG996R, 10 шт, 180 , металлические шестерни, для Arduino, роботов и RC, размеры стандарт | 2 990 | 1 | +| PWM PCA9685 драйвер на 16 сервоприводов расширитель портов с I2C интерфейсом для Led и Servo (12 bit, I2C) в IIC/I2C/TWI/SPI c тестером сервоприводов 3 режима, набор | 1 178 | 2 | +| Датчик расстояния ультразвуковой HY-SRF05 для Arduino | 1 310 | 5 | +| Модуль MOSFET силовой ключ, опторазвязка, 40В, 50А, AOD4184 | 898 | 4 | +| Arduino UNO R3 Atmega328P (CH340G), с кабелем | 1 377 | 3 | +| Плата расширения Ethernet Shield W5100 | 1 376 | 2 | +| ИТОГО | 20 732 | | + +[Ссылка на товары](https://www.ozon.ru/cart?share=IxNShaU) + + +## Возможные проблемы в программно-аппаратной автоматической сортировке товаров на конвейерной линии + +### 1. Проблемы визуального распознавания + + - Сложность освещения: Непредсказуемое освещение может затруднить распознавание объектов + - Схожие внешние признаки: Товары с похожими формами/цветами могут быть распознаны неправильно + - Неправильная калибровка камер: Ошибки в определении координат объектов + +### 2. Проблемы сенсорной системы + + - Недостаточная чувствительность датчиков: Пропуск объектов или ложные срабатывания + - Влияние пыли/влаги: Затруднение работы сенсоров + - Нестабильность работы датчиков: Необходимость постоянной калибровки + +### 3. Проблемы управления движением + + - Неправильная синхронизация: Несовпадение времени сортировки и движения конвейера + - Недостаточная мощность приводов: Задержки в перемещении + - Конфликты в движении: Пересечение траекторий сортировщиков + +### 4. Проблемы программного обеспечения + + - Недостаточная обработка ошибок: Простой системы при возникновении проблем + - Неправильная логика принятия решений: Неправильная классификация объектов + - Проблемы с обновлением модели ИИ: Устаревшие алгоритмы распознавания + +### 5. Проблемы механики + + - Недостаточная прочность конструкции: Повреждение при высоких скоростях + - Неправильное размещение сортировщиков: Конфликты при перемещении + - Проблемы с удержанием объектов: Потеря товаров при сортировке + + ## Решения от ИИ: + +Когда мы переходим к прототипу на **Arduino + отдельный сервер**, архитектура меняется. Теперь у нас есть «Мозг» (сервер), который видит и думает, и «Руки» (Arduino), которые исполняют. + +Главная проблема здесь — **задержка (latency)** при передаче данных между сервером и контроллером. Если сервер скажет «толкай» в тот момент, когда объект уже проехал, система провалится. + +Вот как я бы решил эти проблемы в контексте такого прототипа: + +### 1. Визуальное распознавание (Серверная часть) +Поскольку сервер мощный, мы можем использовать тяжелые модели (YOLO, TensorFlow), но должны ограничить влияние среды. + +* **Освещение:** Для прототипа я бы сделал «световой короб» из белого пластика или картона с LED-лентой внутри. Это создаст мягкий свет без теней, что критично для дешевых веб-камер. +* **Схожие признаки:** На сервере я бы реализовал многоэтапную проверку: сначала определение класса объекта, затем — анализ его геометрии (площадь, периметр), чтобы отличить, например, красный кубик от красного шарика. +* **Калибровка:** Чтобы сервер понимал, где находится объект в реальном мире, я бы использовал «маркеры привязки» (например, черные метки по углам ленты). Сервер видит метку -> понимает масштаб -> вычисляет координаты объекта в миллиметрах. + +### 2. Сенсорная система (Arduino часть) +Датчики на Arduino будут служить «триггерами» для сервера. + +* **Чувствительность:** Я бы добавил ИК-датчик в начале линии. Как только объект пересекает его, Arduino посылает сигнал на сервер: «Объект в зоне, сделай фото!». Это избавит сервер от необходимости анализировать видеопоток 24/7. +* **Пыль/Влага:** В прототипе это менее критично, но я бы использовал простые пластиковые колпачки-козырьки над датчиками, чтобы на них не оседал мусор. +* **Нестабильность:** Программный «антидребезг» (debouncing) в коде Arduino, чтобы один объект не засчитывался как несколько из-за помех. + +### 3. Управление движением (Arduino часть) +Здесь решается проблема рассинхронизации между «медленным» сервером и «быстрым» конвейером. + +* **Синхронизация (Критический узел):** Я бы **не** использовал команду «Толкай сейчас». Вместо этого сервер отправляет пакет данных: `ID объекта` и `Тип (куда сортировать)`. Arduino записывает этот объект в очередь (массив) и отслеживает его движение с помощью энкодера на моторе или датчика прохождения. + * *Логика:* «Я знаю, что объект №5 — это 'Красный', и он должен быть сброшен через 500 импульсов энкодера». +* **Мощность приводов:** Использование внешнего блока питания для моторов (не от Arduino!), чтобы избежать просадок напряжения и перезагрузок контроллера при старте ленты. +* **Конфликты:** Ограничение скорости подачи. В прототипе проще всего реализовать «дискретную подачу»: один объект заходит в систему -> обрабатывается -> вылетает -> только тогда подается следующий. + +### 4. Программное обеспечение (Взаимодействие) +Разделение ответственности между Python (сервер) и C++ (Arduino). + +* **Обработка ошибок:** Внедрение «контрольного сигнала» (Heartbeat). Если Arduino не получает сигнал от сервера в течение 2 секунд, он останавливает конвейер, чтобы товары не улетели в пустоту. +* **Логика принятия решений:** Сервер отправляет не просто команду, а структуру данных. Например: `{"id": 12, "action": "divert", "target": 2, "confidence": 0.98}`. Если `confidence` низкий, Arduino отправляет объект в корзину «Ошибка». +* **Обновление модели:** Преимущество сервера в том, что я могу обновлять модель ИИ, не перепрошивая Arduino. Весь «интеллект» живет в Python-скрипте. + +### 5. Механика (Прототип) +Для прототипа важна модульность и легкость замены деталей. + +* **Прочность:** Использование 3D-печатных деталей с заполнением (infill) более 40% в точках крепления моторов и использование подшипников в осях, чтобы избежать люфта. +* **Размещение:** Установка сортировщиков (сервоприводов) на стандартных профилях или рельсах, чтобы их можно было сдвинуть на пару сантиметров вперед/назад для точной подстройки под камеру. +* **Удержание объектов:** Вместо жестких толкателей я бы использовал «мягкие» лапки из силикона или резины на сервоприводах. Это предотвратит опрокидывание легких предметов и снизит ударную нагрузку на пластиковые детали. + +**Резюме по архитектуре:** +`Датчик (Arduino) -> Триггер (Сервер) -> Распознавание (Сервер) -> Команда в очередь (Arduino) -> Отсчет расстояния (Arduino) -> Сброс (Механика)`. \ No newline at end of file