Тугая упаковка, или Бизнес-роман о роботах, алгоритмах и о складе без людей — страница 38 из 53

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

Ячейки палетизации тоже изменились. Теперь два робота строили одну палету с двух сторон. Упаковки подавались к концам двух конвейеров внутри ячейки, роботы подхватывали их снизу и ставили на палету. Каждый робот действовал на одной половине палеты, так что путь упаковки до отведенного ей места на палете был короче. Коробки подавались на конвейер уже в той ориентации, в которой должны лежать на палете. Для этого сконструировали специальный механизм на одном из предыдущих звеньев конвейера, разворачивающий коробку на 90 градусов, если такова должна была быть ее ориентация. Так что грипперу – захватному механизму робота – не нужно было поворачиваться самому, что ускоряло цикл укладки каждой коробки.

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

Новая ячейка включала намного больше движущихся деталей, чем ее вариант в Ньюбурге, и стоила в два раза дороже – свыше двух миллионов долларов. Как ни странно, цена самих роботов, укладывающих коробки, составляла малую долю этой суммы – менее $50 000 за штуку. Это были стандартные промышленные роботы шведской компании АББ (ABB: не путать с музыкальным квартетом «АББА»), производящиеся ежегодно десятками тысяч. Гораздо дороже были специальные разработки от «Эксиума». Каждая ось движения, каждое звено конвейера требовали дизайна, мелкосерийного производства, отладки и постоянных доработок, и именно это составляло основную часть общей стоимости. Расчет был на то, что это дорогое устройство позволит добиться рекордно высокой производительности в построении палет. Однако путь к этому был далеко не прост и занял несколько лет.

Когда мы всерьез завязались с «Кока-Колой», быстро выяснилось, что их палеты по структуре сильно отличались от тех, что мы строили в Ньюбурге. «Кока-Кола» использовала два типа палет – длинные и узкие (примерно 140 на 50 см) и квадратные (со стороной около 92 см). Многие упаковки товаров на складах «Кока-Колы» специально подбирались под размер этих палет. Для самых ходовых товаров существовали особые, давно оптимизированные шаблоны укладки на эти палеты. Нужно было кардинально изменить наш софт для такого приложения.

«Кока-Кола» организовала для нас поездки на два своих склада, где уже функционировала автоматическая палетизация. Один из них находился в городе Гранд-Рапидс, штат Мичиган, куда мы прилетели промозглым и ветреным (настолько, что наш самолет приземлился на посадочную полосу только с третьей попытки) февральским утром 2016 г. Здесь, в отличие от нашей системы, не использовали мобильных роботов. Упаковки брали с полок вручную и ставили на длинную сеть конвейеров, доставлявших их к палетизаторам. Палеты строились на уровне пола, как и у нас в Ньюбурге. Гриппер робота-палетизатора позволял брать сразу несколько разных коробок и ставить их на палету рядом друг с другом, причем даже каждую на своей высоте. Замысел был с виду неплохим. Эта концепция компании «Грензебах» (Grenzebach) была отмечена бронзой в премии Эдисона 2013 г. в той же категории, где мы – «Симботик» – получили серебро, когда я сам стоял во фраке рядом с Ларри, принимая награду.

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

У каждой ячейки крутились два или три работника, поправляющих многочисленные ляпы автоматической системы. Если бы коробки просто укладывали вручную, людей требовалось бы даже меньше. Это был явно тупиковый путь. Через несколько лет упоминания о чудесном гриппере, способном подхватить и уложить сразу четыре разные коробки и получившем бронзовую премию Эдисона, перестали появляться даже на сайте самой компании «Грензебах».

* * *

В начале марта 2016-го я впервые посетил нашу собственную новую автоматизированную систему на складе «Кока-Колы» в Нью-Брансуике. Там положение с палетизацией не дотягивало даже до уровня, показанного роботом «Грензебаха». Пока испытывалась в основном механика процесса, но сами планы палет, которые мне довелось увидеть там, были очень далеки от того, что мы хотели сами и обещали «Кока-Коле».

В это же самое время я начал на постоянной основе консультировать команду, переписывавшую софт для палетизации. Теперь у этой компоненты было другое название. От моих инициалов KP избавились, и она стала называться Pallet Build Planner, или сокращенно PBP. Переписывать к этому моменту предстояло еще очень много, и первый проект для «Кока-Колы» поджимал по времени.

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

Фриджпаки представляли собой длинные и узкие упаковки из тонкого картона, содержащие алюминиевые банки, обычно 12 штук. Существовали и другие наборы – например, с 24 банками, – но с ними проблем было меньше. Фриджпак предполагалось открывать с торца и держать в холодильнике, так, чтобы банки были в горизонтальном положении и выкатывались одна за другой к открытой стороне. Таких упаковок – с разными напитками – через склад проходило огромное количество.

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


Рис. 9. Схема расположения фриджпаков


Когда же мы начали тестировать систему и на склад стали поступать настоящие упаковки, выяснилось, что они никогда не склеены. Иногда пара фриджпаков слипалась между собой, но это было исключением, а не правилом. Когда мы указали на это «Кока-Коле», ее представители только пожали плечами. В контракте такого нет, а так – «мало ли кто что сказал».

И тут мы столкнулись с проблемой. Во всем софте палетизации существовало фундаментальное предположение, что каждая коробка – твердое тело, недеформируемое и не разделяемое на части. Но пару фриджпаков нужно было класть на палету вместе, как единое целое, и при этом считать устойчивость и перекрытие с предыдущим слоем по отдельности для каждой коробки. Это изменяло архитектуру PBP, и мы должны были быстро учесть этот фактор. Мы ввели понятие «нетвердых» (non-rigid) коробок, состоящих из нескольких несвязанных частей, и это было лишь одним из множества усложнений, которые пришлось разработать в новом софте.

Фриджпаки представляли для нас проблему не только в этом. Их размер был очень неудобным для планирования многих палет. На квадратной палете 3×3 фута умещалось восемь пар фриджпаков, разложенных по спирали: если смотреть сверху и двигаться по часовой стрелке, мы увидим две пары у левого нижнего угла, ориентированные вдоль, затем примыкающие к ним две пары у левого верхнего угла, уложенные поперек, затем две пары у правого верхнего угла вдоль и т. д.

Именно такое расположение хотела видеть сама «Кока-Кола» – это было одним из множества стандартных шаблонов упаковки разных товаров, выработанных компанией за много десятилетий.

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

Еще хуже фриджпаков были упаковки двухлитровых бутылок (см. цв. вкл., рис. 12). Американские потребители проглатывают их содержимое («Кока-Колу», «Спрайт», «Маунтин Дью» и многие другие бренды) в чудовищных количествах, и таких упаковок через склад проходило даже больше, чем фриджпаков. Чертовы двухлитровки! Я сам не покупаю эти совершенно не полезные для здоровья шипучки и отказываюсь от них на вечеринках и летних пикниках.