Сказ о том, как Ozon сортировку автоматизировал
На День программиста гонял на E-CODE - ежегодную конфу Ozon Tech. Там дофига всего было: про их tech и опенсорс, как они AI/ML внедряют, и даже как под капотом устроен Морковск, кек. Но я особо прикололся с истории, как они с нуля сделали 3D-сортировщика для склада. Эта фрагмент из блока про роботизацию (её и другие записи выступлений можно глянуть
тут), а я сейчас расскажу основное.
Итак, в чём, собсна, была проблема. На сорт-центр Ozon заезжает до 100 тысяч товаров в час (100 ТЫЩ В ЧАС). Приезжают все они в коробках, в каждой лежит (в среднем) 27 штук товара, всё вперемешку.
Но в вашем ПВЗ вы забираете не спиночесалку, которую дядя Вася заказывал, а ровно то, что заказали вы. То есть, товары нужно быстро, чётко и (желательно) максимально эффективно отсортировать. И первый этап сортировки - это "раскидать" все товары по 400-600 направлениям, примерно столько обслуживает один сорт-центр.
Но есть нюанс - никто не знает, в какой коробке что лежит, поэтому каждая сортировочная машина должна уметь пулять товар во все направления сразу. А их, напомню, аж 400-600 штук.
По классике такую задачу решают через "кросс-белт" - конвейер с лентами-скидывателями, вдоль которого стоят коробки. Но под 400 направлений он вытянется на сотни метров, а если встанет, то... лучше даже не представлять.
Поэтому ребята решили поменять подход и "делать наверх". Они взяли алюминиевый профиль, станочные направляющие, два сервопривода (один ездит по горизонтали, второй по вертикали) и ленточную каретку, которая скидывает товар налево или направо. Получился своеобразный робот-кран, поэтому штуку назвали... "Робокран". Машинка относительно небольшая, но направлений берёт много. Подробнее можете глянуть на картинках.
Но тут всплыла ещё одна проблема. Товар Озона - это не аккуратная коробочка одного размера. Он может быть очень разный - мелкий/большой, твёрдый/мягкий, отскакивать и т.д. И чтобы он точно попадал в каретку - её пришлось научить "подныривать" под подающий буфер. Это было непросто, потому что товар буквально "зажёвывало" (как бумагу в принтере), и приходилось каждый раз звать кожаного, что руинило весь смысл роботизации. Пришлось калибровать до долей миллиметра, но справились. Чтобы упростить разработку на этом этапе - каждому разрабу выдали свой "виртуальный кран".
Потом упёрлись в человека ещё раз. Один Робокран делает 360-450 товаров в час, а оператор кладёт до 1000 в час. Решение - сделать сдвоенный Робокран. Но на 10 тысяч товаров в час нужно 28 таких, а на весь поток сорт-центра - ещё раз в десять больше.
Но всё равно, даже когда полностью убрали человека с сортировки - появилась новая ручная работа. Кто-то должен снимать заполненные коробки с Робокрана и ставить на него пустые, чего при ручной сортировке не было вообще (там человек сам разложил-закрыл- отдал). В итоге, добавили модуль, который сам снимает и ставит ящики.
Я пока слушал - прям экс-консалтерскую скупую слезу пустил. Сразу флешбеки, как автоматизируешь один шаг процесса, а рядом вываливается новый прикол, которого раньше вообще не было. В итоге, идёшь шаг за шагом, пока не упакуешь в новый формат весь процесс от и до. А Ozon в процессе ещё и полноценного нового робота изобрёл (которого можно даже в отдельный продукт завернуть), прикольно.
Дизраптор