56.72M
Category: industryindustry

Сортировочная ячейка: зрение, классификация и рука одним контуром

1.

СОРТИРОВОЧНАЯ ЯЧЕЙКА:
ЗРЕНИЕ, КЛАССИФИКАЦИЯ
И РУКА ОДНИМ КОНТУРОМ
Команда «Нулевой закон»

2.

Сортировочная ячейка в MuJoCo
Команда «Нулевой закон»
Владимиров Дмитрий (выступающий), Щеренко Егор,
Владимиров Александр, Лункин Артем
ЦИФРОВАЯ МОДЕЛЬ ЯЧЕЙКИ, ГДЕ ПЯТЬ КАМЕР ГЛУБИНЫ
ОПРЕДЕЛЯЮТ КАТЕГОРИЮ ПО ПРАВИЛАМ ПОСТАНОВКИ,
А ТРАНЗИТ И ШЕСТИОСЕВАЯ РУКА
РАЗВОДЯТ ТОВАР ПО ЗОНАМ
Трек 3

3.

Задача, идея и почему именно так
Категория по геометрии, без остановки
Правило по облаку точек, без обучения
Поток 1 товар в секунду при ленте 1 м/с
5 камер глубины, категория геометрическим правилом
B в сортировщик, C негабарит больше 450 x 320 x 10 мм, D круг в сечении
B уходит транзитом мимо руки, рука снимает только исключения
На входе 11 STL без разметки, товар физически уходит в свою зону
Сомнение идет в кейдж или оператору, никогда в сортировщик
Ошибки несимметричны: отсюда подход
Обучаемая модель на 11 образцах не проверяется и добавляет ошибку
Круглый товар в сортировщике ломает машину
Сорванный захват виден сразу и стоит одного цикла руки

4.

Правила классификации и пограничные
случаи
Габарит не зависит от позы в файле
Круг по сечениям, порог сдвинут к D
Минимальный по объему OBB: 96 направлений, штангенциркули, SO(3),
медиана 47 мс
r/R по сечениям тела: порог 0.80 из постановки, в тракте 0.76
Штатный бокс trimesh: Шлем 406.9 мм вместо 353.5, другая категория
По проекциям Цилиндр 50 x 435 дал бы 0.749 и уехал бы в B
Фильтр значимости 0.15 площади: колпачок 32 мм флакон круглым не делает
Габариты набора сходятся с паспортными в пределах 1 мм
Сначала габарит, потом форма
Пограничные случаи: круглых в B ноль
Ручка круглая (0.998), но толщиной 9 мм: это C
612 случаев, 251 форма, 13 семейств: критических ошибок 0
Вердикт несет zone и route: неуверенный B идет на ручной разбор
126 круглых в кренах: в сортировщик 0, минимальный запас +0.175
Неуверенные C и D идут автоматом, неопровергнутый круг в B не пускает
330 реализаций шума камер D400 и Zivid: в B 0, маршрут верен в 300

5.

Архитектура: один контур от карт глубины
до кейджа
Открытый стек, CPU
MuJoCo 3.10, Python 3.11, trimesh, shapely, scipy; стенд
на three.js
отводящий конвейер
15 версий в lock-файле, headless, Docker
тоннель, 5 камер
Вердикт в маршрут и траекторию:
src/exec/controller.py
отбраковка
накопитель и упор
банк транзита B
лента 1 м/с
Решение готово заранее
кейдж C
рука
завеса и док
шкаф, HMI
Съемка за 5 м до банка
B уходит на ходу, исключения тормозят в накопителе
кейдж D
Рука кладет в C и D, кейдж меняется доком через
завесу

6.

Что было реализовано
Реализовано
Классификатор по STL и по облаку точек, тракты сверяются
Восприятие: 5 камер глубины, шум по даташитам, space carving
Ячейка в MuJoCo: транзит B, рука 8 x 63, укладка, смена кейджа
Автомат: срыв захвата, отбраковка, затор, завеса, аварийный стоп
Стенд в браузере: поток 1 шт/с на том же контроллере, свои STL
Что можно проверить в материалах
• python -m src.exec.run_sim --cv: замкнутый контур одной командой
• python -m src.eval.sweep: 24 артефакта results/ одним прогоном, манифест с
коммитом
• 772 теста, REPORT.md на 19 разделов, docs/calculations.md сверен с моделью
построчно
Статус: код, модель MuJoCo, расчеты, интерфейс стенда.
Физического прототипа нет, все числа сняты с цифровой модели.

7.

Демонстрация работы
Скринкаст, 1 минута 17 секунд
Поток 1 товар в секунду на ленте 1 м/с:
тоннель камер и карта глубины, транзит B на
отводящий конвейер, захват исключения
вакуумной головкой, укладка в ролл-кейдж,
план участка.
Все кадры сняты с той же модели и того же
контроллера, что дают числа отчета: трасса
поз 60 Гц воспроизводится покадрово,
поэтому ролик не зависит от скорости
машины.
Файл screencast.mp4 приложен отдельно.

8.

Результаты и подтверждение
работоспособности
Главный подтвержденный результат
метрика
значение
артефакт
точность маршрута, зрение против эталона 10 из 11
cycle_times.csv
критических ошибок на длинном
горизонте
0 из 612
eval_long_run.md
цикл руки на исключении
медиана 10.1 с, худший 27.0
cycle_times.csv
10 из 11
латентность транзита B
3.31 с
throughput.md
сквозной контур от камер до зоны: 0 столкновений, единственная потеря в
отбраковку, в безопасную сторону
одна рука держит 60 шт/мин до доли
исключений
6.4 %
throughput.md
0
аварийный останов по завесе
670 мс при бюджете 830, выбег estop.md
627 мм
смена ролл-кейджа доком
38.7 с, посадка с промахом 2
мм
dock_swap.json
укладок в критерии 100 мм
84 %, цена 0.35 с на цикл
packing_eval.md
11 из 11
категорий верно по исходным STL, устойчиво к ориентации
круглых товаров ушло в сортировщик на 612 + 330 + 168 случаях
Условия: все числа сняты одним прогоном src.eval.sweep с манифестом, шаг MuJoCo 2 мс, шум камер по
даташитам, отпускание груза по датчику усилия. Стенды сверки не подменяют замкнутый контур:
итоговое число только из run_sim --cv.

9.

Темп участка и синхронизация
Такт задает доля исключений, не поток
Одна рука держит 60 шт/мин до p = 6.4 %
Шаг 1000 мм при 1 м/с: такт подачи 1.0 с, потолок ленты 100 шт/мин
Цикл руки 12.1 с при медиане 10.1 с, 297 перекладок в час
B уходит с осевой на ходу за 1.06 с, рука не участвует
При 5 % исключений одна ячейка, при 7 и 9 % нужны две
T(p) = max(шаг ленты, p x цикл руки / N)
Вторая рука поднимает предел до 12.8 %; смена кейджа 38.7 с входит в такт
Решение готово раньше, чем товар доехал
Модель потока, а не среднее по циклу
Съемка за 5 м до банка: 5 с запаса при бюджете 50 мс
Дискретно-событийная: банк, накопитель, рука, кейдж во времени
Банк, накопитель и рука получают маршрут по времени прихода
Горизонт 900 с, разброс по сидам
Упреждение на торможение ленты 3.49 с
Отвечает, сколько ячеек нужно на 30 и 60 шт/мин при каждой доле

10.

Нештатные ситуации и безопасность
Автомат закрывает ветки, а не падает
11 отказов в физике: 6 сняты сами
Срыв захвата: дрейф больше 50 мм, сброс вакуума, лимит 2 попытки
Препятствие на ленте, ложный затор, срыв на переносе, товар на полу
Товар, который головой не берется, в отбраковку без остановки участка
Переполнение кейджа, кейдж увезли из дока
Таймаут фазы 40 с, недостижимая точка дает отказ с координатами
6 восстановлены сами, 5 эскалированы оператору с названной причиной
Останов 670 мс при бюджете 830
Смена кейджа не останавливает линию
Луч трассируется по сцене 40 точками, человек в физике на пике скорости
Пружинный прижим 481 Н отпускается воздухом: без давления кейдж зажат
Выбег 627 мм, дистанция завесы по ISO 13855 1456 мм
Полный уходит через завесу под мьютингом, пустой заходит из магазина
Квитирование под разорванным лучом отклонено
Посадка по датчику; лента и транзит работают, рука ждет посадки

11.

Ограничения и риски
Что работает неидеально, по имени
Мягкая тара проверяется на железе
Ручка 148 x 13 x 9 мм тоньше разрешения реконструкции: ручной разбор
Сквозная 10 из 11: потеря одна, в отбраковку без адаптивного захвата
Вакуум в модели: weld-связь с порогом удержания, геометрия без
деформации
Зона укладки 62 % дна кейджа: кромку отнимает габарит инструмента
Нужны реальные сканы товаров вместо синтетики
Нужна статистика потока сортцентра вместо принятой доли 7.5 %
Допущения названы, расхождения собраны
Ключевой риск снижен трижды
Выпуклые оболочки, приводы по трапеции, массы по плотности воды
Порог тракта сдвинут к D
Шум камер по даташитам, оператор отвечает за 30 с
Автоматический B запрещен на неопровергнутом круге, сомнение оператору
Физического прототипа нет: docs/reality-gaps.md
612 + 330 + 168 случаев: уходов круглого в B 0, по узлам сетки

12.

Вывод и дальнейшее развитие
КАТЕГОРИЯ ОПРЕДЕЛЯЕТСЯ ПО ДАННЫМ
СЕНСОРОВ И ВЕДЕТ СТРЕЛКУ И РУКУ
В ОДНОМ КОНТУРЕ
Участок держит 60 шт/мин на одной руке при доле исключений до 6.4 %, ошибки
уходят в безопасную сторону. Расчеты, модель и стенд отказов дают числа для
проектирования до железа.
СЛЕДУЮЩИЕ ШАГИ
• Адаптивный захват для Ручки и флакона: два товара из 11
• Вакуум как adhesion и лента через surfacevel в MuJoCo 3.11
• Вторая рука на полосе исключений: предел с 6.4 до 12.8 %
ЧТО НУЖНО ДЛЯ СЛЕДУЮЩЕГО ЭТАПА
Стенд одной позиции: рука, головка 8 x 63, две камеры глубины и ролл-кейдж,
чтобы закрыть разрыв sim-to-real по захвату и укладке. Реальные сканы товаров и
статистика потока сортировочного центра от организаторов.
English     Русский Rules