Сортировочные центры Почты России: как устроены «заводы», которые обрабатывают миллионы отправлений ежедневно

    Каждый день через сортировочные узлы Почты России проходят миллионы писем и посылок. Наша задача — быстро распределить весь этот поток по направлениям. В местах, через которые проходят внушительные объемы отправлений (как, например, во Внуково, куда прилетают самолеты с посылками из Китая), без крупных сортировочных комплексов не обойтись. Поэтому в больших городах — Москве, Санкт-Петербурге, Казани и Новосибирске и других — мы строим огромные автоматизированные центры.

    Автоматизированный сортировочный центр похож на завод – по сути, он им и является. Площадь самого большого на сегодняшний день сортцентра Почты, который расположен во Внуково, – 64 тысячи квадратных метров. Мощность производства такого АСЦ — 3 миллиона почтовых отправлений ежедневно и 125 тысяч стандартных писем в час. Производственный процесс здесь идет круглосуточно.

    В этой статье расскажем как устроены эти «заводы», что за машины там работают и как именно автоматизация сортировки помогает ускорить доставку ваших писем и посылок.

    Как устроена сортмашина


    Сортировочная машина — это промышленный робот, который представляет собой конвейерную ленту c выходами. К примеру, машина для сортировки посылок выглядит так:



    А если представить сортмашину схематично, то так:



    Прежде чем запустить посылки на сортировочную ленту, мы загружаем в сортмашину план направлений, в котором содержатся правила, по которым происходит сортировка. Его мы просчитываем в системе математического моделирования МРПЛ раз в квартал или в полгода сразу на всю страну, и каждый сортировочный узел Почты работает по нему. О том как составляются такие планы, мы рассказывали в статье «Покинуло сортировочный центр»: как устроена логистика Почты России.

    Из чего состоит сортировка


    Процесс начинается с того, что отправления выкладывают на ленту сортировщика. Письма, мелкие пакеты и обычные посылки сортируются на разных машинах. А заказные и мелкие пакеты еще и в отдельные сессии — это разделение связано со способом распознавания адреса, о чем поговорим чуть ниже.


    Так выглядит выкладка отправлений на ленту. Здесь операторы поворачивают посылки специальным образом, чтобы сканеры считывали штрих-код.

    У каждой сортмашины есть предельные габариты. Например, на ленту для посылок не поместятся лыжи. Подобные находки сотрудники отсеивают на первичном разборе и отправляют на ручную сортировку.

    На ручной сортировке тоже не обошлось без автоматизации. Здесь используют наручные сканеры для быстрой идентификации отправления. С помощью устройства операторы считывают штрихкод, чтобы узнать, в какой выход положить письмо или посылку.

    Загруженные для автоматической сортировки отправления с разных выходов стекаются на одну линию и едут к камере, где расположены сканеры штрихкодов, а также фото- и видеокамеры, которые фотографируют посылку со всех сторон, чтобы найти необходимую для сортировки информацию: штрихкод или индекс.


    Красный огонек на фото – это работающий сканер

    Когда сортируется заказная почта, машина работает в режиме считывания штрихкода. Если через камеру проехала посылка, которую сортмашина не опознала (у нее поврежден или не виден штрихкод), то она отправляется в специальный выход «Отбраковки», расположенный в конце ленты. Там сотрудники вручную разбираются, в чем проблема. Если поврежден штрихкод, они определят индекс самостоятельно и отнесут отправление в нужный выход.

    Если же сортируется простая почта, на которую не наносят штрихкод, то работает система оптического распознавания символов (OCR, Optical Character Recognition). Работает OCR так: письмо на ленте попадает под камеру, которая фотографирует отправление в пяти проекциях, находит и распознает текст, ищет индекс и адрес и пытается сопоставить одно с другим. Если текст написан неразборчиво или индекс вообще забыли указать, то фотография отправляется на монитор к специальному сотруднику, который находит и вбивает индекс в систему вручную. Поэтому каждый раз, когда кто-то ленится указать индекс или пишет его неразборчиво, письмо проводит на сортировке на несколько секунд дольше.

    Получив данные со сканера, сортмашина сопоставляет их с индексом из плана направлений и, по указанным в правилах сортировки атрибутам (индексу, весу), определяет, в какой выход отправить посылку. И, когда отправление подъезжает к правильному выходу, сталкивает ее туда. Это происходит благодаря синхронизации движения ленты и сталкивателя.

    Машина знает, какие индексы отправляла на заполненный выход, и передает нам сообщение «в этом выходе лежат отправления по таким-то индексам». В этот же момент автоматически формируется транспортная единица — зная, какие отправления собраны в конкретном выходе, информационная система Сортмастер присваивает ящику порядковый номер и выводит его на печать на принтер, расположенный над лентой. Сотрудник закрывает ящик крышкой и наклеивает этикетку, на которой указано, куда тот поедет дальше.

    Чтобы не таскать собранные ящики к выходу вручную, их ставят на дополнительную конвейерную линию THS, которая умеет сортировать именно готовые емкости. На такой ленте спусков нет, ее функция — развести груз ближе к воротам.

    А вот в новом сортировочном центре в Новосибирске, который мы в ближайшее время запустим в эксплуатацию, процесс разгрузки и погрузки планируется автоматизировать. Здесь отправления будут попадать на ленту и выезжать с нее с помощью телескопического конвейера, который раскладывается прямо в кузов автомобиля.


    На этом новом конвейере есть сканер, который сразу распределяет емкости по линиям сортировки. Он определяет, что лежит на ленте, и отправляет емкость по конвейерной системе на развилку — на сортировщик писем, крупных или мелких посылок.

    Скорость сортировки и что на нее влияет


    Нам нужны сортеры, способные работать годами по 22 часа в сутки, не ломаться и не останавливаться. Поэтому нашими поставщиками стали компании мирового уровня: Toshiba, Siemens, Vanderlande — они производят подобные машины уже не один десяток лет.

    Эти компании поставляют свои устройства как программно-аппаратный комплекс. По умолчанию такие машины работают по статическим сортировочным планам, которые вносят при их первой настройке. Сортировочный план – это файл, где указано, какие индексы кидаем в выход №1, какие в выход №2 и так далее. Закупка машин вместе с ПО привела к тому, что мы получили стороннюю систему управления, которая выполняет только заранее заложенную в нее логику сортировки. Нам же был нужен динамический сортировочный план, и вот почему.

    У каждой машины есть свои пределы производительности. В среднем одна письмосортировочная машина сортирует 40 000 писем в час, во Внуково у нас их две. Соответственно, производительность этого объекта довольно высокая – до 80 тысяч писем в час.


    Посылочная машина сортирует до 8 тысяч посылок в час, лента сортировщика двигается со скоростью 1,8 м/с. Она могла бы ехать и быстрее, но тогда из-за встречного потока воздуха мелкие пакеты начнут взлетать и разлетаться по цеху, что вряд ли поможет ускорить процесс.


    В случае статического плана за каждым выходом при планировании сортировки закрепляются свои группы индексов, которые мы не могли заменить. И вот представим, что у нас есть 200 направлений, среди которых Питер, Москва, Ярославль, Краснодар и мы раскладываем отправления только по ним.

    Но, допустим, что поток писем в Краснодар увеличился, а в Ярославль — уменьшился. И после одного цикла сортировки выход для Ярославля у нас простаивает. Со статическим планом у нас были бы связаны руки — мы не можем внести изменения в логику работы машины и задействовать пустующий выход для более детальной сортировки выросшего направления.

    Мы всегда заранее знаем, что едет к нам на сортировку, а значит можем предугадать, что какой-то из выходов будет простаивать, в то время как другое направление перегружено. Значит, чтобы сортировать эффективнее и загружать машины по максимуму, нам надо научиться менять сортировочные планы в реальном времени — перейти на динамический план сортировки.

    От статики к динамике


    Чтобы перейти на динамические планы, мы в Почтатехе разработали собственный программный продукт, который называется SMAB — sorting machine automation bridge.

    Sorting Machine Automation Bridge состоит из нескольких микросервисов:

    • Portal Back — обрабатывает запросы с фронта, формирует отчётность, позволяет управлять правами пользователей.
    • Management — предназначен для валидации и регистрации сортировочных станций посредством подключения к серверам OPC. А также хранит структуру всех сортировочных станций и обеспечивает настройки сервиса процессинга.
    • Processing — сервис, который поддерживает асинхронную работу с сортировочным оборудованием, получает события из MQTT брокера (протокол, который передает данные о событиях между устройствами), выполняет сортировку почтовых отправлений через сортировочные сервисы (Сортмастер, TIAM и др.), вызывает методы на OPC серверах, пишет состояние сортировочной сессии в базу данных.

    SMAB связывает нашу собственную информационную систему Сортмастер (мы рассказывали про нее в статье про то, как устроена логистика Почты) с контроллерами машины. Как раз контроллеры отвечают за сталкивание посылки в нужный выход в определенный момент. А это значит, что теперь мы сами можем менять логику сортировки — говорить машине что куда сортировать и менять команды на лету.

    SMAB обменивается данными с физическим контроллером машины и с Сортмастером по протоколу OPC UA — мировому технологическому стандарту общения с промышленным оборудованием. Этот протокол позволил найти универсальное решение для общения с устройствами разных производителей.

    Когда мы видим, что распределение потоков изменилось — в Ярославль писем нет, а вот в Краснодарский край поток увеличился, то вместо одного общего выхода (в Краснодар), мы можем разделить отправления сразу на два — на Краснодар и на Сочи. Так мы задействуем простаивающий без дела выход и сэкономим время и ресурсы ручной сортировки в региональных центрах. А значит доставим отправления получателям еще быстрее.

    Сама сортировка теперь работает так: сперва мы просим машину физически идентифицировать отравление и через OPC UA сервер сообщить результат IT-системам «Почты России», а точнее, нашему SMAB. Детектор, расположенный на ленте, считывает информацию об отправлении — распознает штрихкод или считывает индекс и отправляет данные в MQTT — протокол обмена данными, который получает и передает нам события, происходящие с отправлениями на ленте.

    Сервис процессинга получает сообщение с детектора и асинхронно отправляет запросы на сортировку в сортировочные сервисы. Проще говоря, машина сообщает «такое-то отправление на ленте» и спрашивает что с ним делать. Для принятия решения у нас есть примерно одна секунда до первой развилки. Сервис процессинга получает ответы от сортировочных сервисов с массивами выходов, в которые нужно отправить письмо или посылку и, учитывая приоритет сортировки, отправляет запрос на сортировку в OPC сервер соответствующего сортировщика. В результате Сортмастер возвращает номер выхода, который мы передаем машине. Отправление, доехав до нужного выхода, сбрасывается в него сталкивателем.

    Работой выталкивателей управляют контроллеры (PLC — programming logic controller), в каждом из которых находится OPC UA Server. SMAB обменивается информацией с этим сервером — так машина узнает когда крутить, а когда остановить привод, чтобы вытолкнуть отправление в нужный выход.

    Также SMAB позволит нам уйти от ручного закрытия емкостей, теперь машина может автоматически закрывать выход для сортировки, когда в нем оказывается определенное количество посылок или заданный вес. Это возможно, потому что мы видим все параметры посылок в Сортмастере.

    Если обобщить, то сортировка со SMAB выглядит так: Сортмашина сканирует отправление и спрашивает Сортмастер «куда положить индекс 107037?». Сортмастер анализирует ситуацию и отвечает «давай в выход № 1» и передает эту команду на контроллер. Все происходит практически в реальном времени — в течение секунды мы говорим, что отправление, которое ты только что сфотографировал, надо положить в выход № 1.

    В следующей сортировочной сессии правила могут поменяться и этот выход может принимать уже другой набор индексов, если ситуация изменится.

    Причем логика сортировки теперь может быть намного сложнее, чем просто по индексам. Мы можем использовать любые атрибуты отправления для того, чтобы принять решение, куда его положить. Этого могут быть также вес или тип отправления — обычное или первый класс. Например, если выложить на Сортмашину со статическим планом первый класс и обыкновенные посылки вперемешку, то она не сможет разделить их по типу отправления и положит первый класс и обычную посылку с одинаковым индексом в один выход. Когда мы используем дополнительную логику, где в сортировке указываем еще и тип отправления, то появляется возможность разложить в два выхода разные типы отправлений с одинаковым индексом. Так в выходе № 1 у нас будут обыкновенные посылки в Петербург, а в выходе № 2 — первый класс туда же. Это только один из примеров того, что мы можем делать при помощи новой системы. И теперь все новые машины, которые будут появляться в Почте России, будут подчиняться этой логике.

    Технологический стек


    Комплекс машин внутри одного сортировочного центра мы называем сортировочной станцией. Для каждой станции мы делаем единую настройку OPC UA сервера, в которой учитываем все возможные параметры:

    • Структуру машин: они могут быть кольцевыми или линейными, с разным количеством выходов, с обычным или реверсивным конвейером — который может ехать в две стороны.
    • Внутреннюю логику состояния сортузлов: в какую сторону едет конвейер — на вход или на выход.
    • Условия перехода между состояниями: при каких условиях работает OCR, а при каких — сканируем штрихкоды.

    Настройка сервера полностью отображает физическую структуру машины — для каждого выхода, каждого OCR, каждого считывателя штрихкодов есть свой метод. Благодаря этим настройкам мы знаем, что машина, А сортирует письма, и когда получаем от нее сообщение, то понимаем, что речь идет о письмах и отправляем нужный запрос в Сортмастер.

    Все сервисы, кроме процессинга, построены на стеке Spring, с использованием баз данных PostgreSQL. Сервис процессинга построен на последней версии Vert.x. В качестве discovery используется Consul, CI/CD построен на основе GitLab CI с использованием Docker. Фронтовая часть написана на React.

    Теперь все новые машины Почты России будут работать через SMAB, что позволит сортировать отправления более гибко и быстро менять правила в зависимости от текущей нагрузки.

    Сейчас у нас 1 100 сортировочных узлов — макрорегиональных, региональных и локальных, расположенных в небольших городах. Большая их часть автоматизирована, и теперь мы планируем постепенно переводить все центры на управление с помощью SMAB. Кроме этого, к 2022 году мы хотим расширить сортировочную сеть еще на 36 центров.

    Чтобы реализовать все задуманное, нам нужны люди. К примеру, в команду, которая будет развивать информационную систему для управления сортировочными машинами мы ищем DevOps инженеров и Java разработчиков. Эти и другие вакансии в команде Почтовых технологий можно найти на pochta.tech.
    Почтатех
    Компания

    Комментарии 24

      +3
      Сопоставляет ли комплекс сортировки такие данные, Как индекс и город назначения? Предположим, я четко и ясно написал индекс и адрес, но ошибся в индексе (либо неправильно его запомнил и нанес на отправление). На каком этапе это выявят? Неужели, как в прошлом веке, только в конечном отделении, на которое указывает индекс?
        +1

        Москве сейчас так, да, в начале доставляют по индексу, потом уже проверяют адрес. Неправильно указал индекс — логистическая система Почты России будет везти посылку в отделение на расстояние в двух километрах два или три дня.

          0
          Не в Москве, но что-то не похоже. Ситуация такая: есть отделение в 500 метрах, всегда к нему относились, но вот около года-двух назад что-то там у ПР изменилось и какая-то ерунда началась. Какое-то посылочное отделение организовали в отделении на 1 км дальше. Ближнее всё так же работает, принимает и выдает письма, бандероли и посылки, да и посылочное для своего микрорайона — самое обычное. Но автоматические заполнители индекса теперь по адресу ставят индекс дальнего отделения. Тяжелые бандероли и отправления от официальных учреждений идут на дальнее. Мелкие граммовые отправления, посылки на старое ближнее. При этом все заказы всё так же делаю по индексу ближнего привычного, но приходят они по разным отделениям, которые надо высматривать мелким шрифтом на извещениях. И приходят они не сначала по индексу и затем на дальнее, сразу по разным.
            0
            Возможно, это называется «Центр выдачи посылок»? У меня тоже такой открылся, главный плюс был (может, и остаётся, я переехал из того района) в круглосуточной работе, ну и очередь между отделениями распределялась.
          +1

          Отличный вопрос! Спасибо)


          Когда работает OCR мы можем увидеть ошибку прямо в то время, пока отправление едет по конвейеру. Например, мы увидим, что индекс для г. Москва, ул Ленина д.1 не 100001, а 100002 и сразу отсортируем его в нужном направлении. Это возможно благодаря интеграции SMAB и сервиса адресов ГИС ПА (геоинформационной системы Почтовый адрес)


          А в случае с заказной почтой (когда на отправлении уже есть штрих-код, в котором записан адрес) подобную ошибку скорее всего исправят при оформлении или приеме.

            +1
            Это очень здорово, что была предусмотрена такая возможность производить проверку корректности всех данных, а не только индекса.
          0
          Всё это конечно хорошо, но почему логистика такая кривая. Смотрю по трекерам — посылка из известного китайского сайта идёт такими дикими окольными путями в Новосибирск, что оторопь берёт. Хотя в Новосибирске и таможня есть, и логистический центр, и даже самолёты прямые летают…
            0
            Попуткой.
            Даже, предполоожил бы, что отправляют туда, где есть свободное место транспорте.
              0

              Могут и сами не знать. Что там на уме у нейросети — никому неизвестно.

              +1

              Вопрос. Почему посылки с алихи за 3-5 дней уже зависают на границе. А дальше по всей России едут месяц и больше! А кто эту систему ввел канечно гении. Работы по развертываюнию только годы заняли. Молодцы.

                +1
                лента сортировщика двигается со скоростью 1,8 м/с. Она могла бы ехать и быстрее, но тогда из-за встречного потока воздуха мелкие пакеты начнут взлетать
                а если все это в условную «трубу», в которой воздух сам постепенно начнет двигаться (увлекаемый ленттой с отправлениями)? а еще если и организовать дополнительный воздушный поток хотя бы 1 м/с — скорость ленты можно будет и увеличить?
                Или это я просто считаю себя слишком умным, а на самом деле вы такое пробовали?
                  0
                  Возможно, стеночки на транспортере, перпендикулярные направлению движения решили бы проблему со сдуванием. Но вся остальная механизация на это явно не рассчитана.

                  А так — hyperloop. Ну или на Луне сортировать :)
                  +4
                  Спасибо за вашу работу. В последнее время посылки идут гораздо быстрее, плюс полная информация о прохождении этапов. Желаю дальнейших успехов. Вот еще бы почтовые отделения увеличили и укомплектовали, по нынешним временам приходится по 10-15 минут на морозе стоять, пока внутрь запустят. Благо выдача по смартфону теперь очень быстрая, но «бизнесмены», отправляющие десятки писем и посылок, напрягают, надо бы эти потоки как-то развести.
                    0
                    плюс полная информация о прохождении этапов.

                    Я заметил что это только для внутрироссийских посылок работает, а вот с али — предпоследний пункт обычно на границе, и затем уже в отделении следующий трекается.
                      0
                      Вот как раз на последнюю посылку с Али мне пришло штук двадцать сообщений на почту и в приложение по всем промежуточным пунктам — получено/отправлено. Я даже отключил их, а то приходили в основном по ночам ))
                        0
                        Есть отправления регистируемые, о них приходит уведомление о каждом этапе. И есть нерегистрируемые, доставка которых зависит от настроения почтальона, фазы луны и тому подобных факторов. Регистрируемые приходят практически все, нерегистрируемые — приходила 1/4, пока не не перестал пользоваться «безтрековой доставкой».
                      0
                      С безтреком стало интересно — в системе всё равно больая часть оформляется автоматически, что треком, что без.
                      Почему нельзя в ЛК ПР отдавать информацию?
                        +1
                        Здравствуйте.

                        Могли бы Вы рассказать, можно ли что-то сделать с алгоритмами, просчитанными в системе математического моделирования, которые везут заказные письма, отправленные, например, из отделения 119121 адресату в том же отделении (119121), через сортировочные центры, расположенные за МКАД, теряя при этом минимум сутки времени?
                          0
                          которые везут заказные письма, отправленные, например, из отделения 119121 адресату в том же отделении (119121), через сортировочные центры, расположенные за МКАД, теряя при этом минимум сутки времени?

                          А почему вы считаете, что приоритет логистики — время? Или, например, кратчайший путь для каждого письма? Приоритет — быстрая обработка кучи писем. При этом неизбежно можно подобрать такой случай, который будет обрабатываться неоптимально.
                          +1

                          Мне все равно как это работает. Последние 5 отправлений почта россии доставляла на неделю и на две недели дольше, чем другие компании. Так, что найдены способы доставки товаров с алишки за пару недель. Теперь только так. Ну а про сортировку это отдельная тема. Если индекс не соответствует адресу, то сначала доставят по индексу. Потом перенаправят через главную в городе сортировку в ваше отделение- лишние несколько дней потеряны. Про автоматику можно долго рассказывать, но это не работает.

                            0
                            Такой сценарий с индексами действительно может встречаться в старых сортцентрах, где пока что не внедрен SMAB.

                            Сортцентры, в которые мы ставим новое оборудование под управлением SMAB и Cортмастера будет решать эти вопросы, исправляя неверно написанный адрес (typo) или исправляя ошибки в индексе.
                            0
                            А вся эта машинерия со сталкивателями понимает признак «хрупкое»?
                              0
                              Если прилагательное превратилось в глагол, то сталкиваем на утилизацию.
                              0
                              Познавательная статья))
                              Инетересно, организовываются экскурсии длялюбознательных в такой сортировочный центр? (город Санкт-Петербург)

                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                              Самое читаемое