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

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

Мы останавливались в «Мандалай-Бэй» – одном из громаднейших отелей Лас-Вегаса. Шесть лет спустя, в октябре 2017 г., здесь произошел самый крупный по числу жертв массовый расстрел в Америке. На том же 32-м этаже, где был и наш номер, Стивен Пэддок, дважды разведенный 64-летний пенсионер, завсегдатай казино и любитель видеопокера, заготовил в номере целый арсенал автоматических винтовок и в течение нескольких минут расстреливал из них толпу на концертной площадке около отеля, убив 60 человек и ранив более 400, после чего застрелился сам. В последовавшей за расстрелом давке пострадала еще почти тысяча посетителей концерта. Кажется, недоброе ощущение от того места передалось нам еще за несколько лет до трагедии.

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

* * *

В ноябре 2011 г. рабочий код моего алгоритма был включен в Ньюбурге на постоянной основе. Из ячеек выходили палеты совсем другого качества, нежели всего месяц назад. Сразу появились первые отзывы от супермаркетов, куда отправлялись фуры с этими палетами. Перемену заметили и уже слали запросы: можно ли увеличить число палет, выходящих из автоматизированной системы? Получатели уже знали про них и воспринимали их лучше, чем палеты ручной сборки.

В середине декабря, почти ровно через год после того, как я всерьез задумался о проблеме палетизации, я снова поехал в Ньюбург, чтобы несколько часов понаблюдать за работой моего алгоритма. Палетизация начиналась обычно около восьми вечера и заканчивалась рано утром, часов в шесть или семь. Шесть роботов в трех ячейках палетизации почти непрерывно ставили коробки на палеты (см. цв. вкл., рис. 8). В каждый момент времени простаивала в среднем одна ячейка: система не успевала доставить туда новую порцию упаковок или же рабочие подбирали упавшие на пол коробки и ставили их обратно на палету.

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

Я ходил по мостику, протянувшемуся над всеми ячейками, и разговаривал с обслуживающими их операторами, коим среди прочего приходилось укладывать на место упавшие коробки. Как ни странно, они узнавали меня как автора нового метода и даже знали, что стоит за сокращением KP. Я извинялся перед ними за баг с метрикой перекрытия и за падающие столбы и обещал все исправить. Они же только посмеивались в ответ: «Это мелочи. Эти палеты все равно настолько лучше прошлых, ну просто небо и земля! Сколько падало коробок с тех палет – не сосчитать! Приходилось прерываться на каждой палете и часть коробок поправлять по нескольку раз, а иногда рушилась и вовсе вся палета целиком. Теперь, даже с этими столбами, нам работать куда проще!» Это было самое приятное и воодушевляющее, что я мог услышать про свою работу.

Глава шестаяОт Casepick к Symbotic

ФЕВРАЛЬ – НОЯБРЬ 2012

В конце 2011 г., когда завершался проект KP, большой начальник Рик привел в компанию «КейсПик» первого «настоящего CEO» Джима Баума. До этого функции CEO в небольшой компании исполнял Роб Салливан, один из основателей, человек с бэкграундом инженера-электронщика. Роба тихо-мирно отправили на почетную синекуру в консалтинг, а вскоре – в полную отставку. Через пару лет он, впрочем, вернулся как новый вице-президент по хардверу, еще через несколько лет, при Гахагане, был опять отправлен на необременительную должность, а затем уволен, о чем я уже писал в главе 2.

Когда Джима Баума представили как нового CEO вместо Роба на общем собрании компании, контраст между ними бросался в глаза. Роб – в мешковатых джинсах, с брюшком, простой речью и довольно плебейскими манерами. Рядом – Джим, на полторы головы выше, в хорошо подогнанном костюме и с тщательно уложенной прической. Он производил впечатление эталонного СЕО из бизнес-публикаций или приглашенного спикера на конференциях и презентациях. Ни дать ни взять – тот, кто должен был вывести компанию на новый уровень.

Одним из первых предложений Джима Баума на посту CEO было полностью включить нашу лабораторию в «КейсПик». К ноябрю 2011 г. это оформили официально. Ларри стал CTO (Chief Technology Officer), а вся наша маленькая лаба – Chief Technology Office, или, в некоторых документах, CTO Group. В начале 2012 г. я был назначен директором небольшой группы в составе CTO. Под моим началом были Роб Г., работавший над детальной симуляцией основных компонент системы, и Ке Фу, занимающийся роботами палетизации, – оба пришли в компанию на год раньше меня. И еще Дэвид Эренберг – основной программист, переводивший мой алгоритм в рабочий код.

Еще одной инициативой нового CEO было изменение названия компании. На одном из собраний он сказал, что «КейсПик» – хорошее название для проекта, но не для всей компании. Нужно что-то более звучное и менее прозаичное. Был объявлен конкурс, в течение которого сотрудники могли представить свои предложения. Из многих вариантов выбрали название Symbotic, достаточно благозвучное и ассоциирующееся с «симбиозом» – или симфонией в исполнении наших мобильных роботов и других механизмов. Имя прижилось.

В феврале 2012 г. для всех сотрудников новокрещенной компании «Симботик» (в количестве около 160 человек) организовали выезд на автобусах в Ньюбург, чтобы все могли воочию увидеть нашу первую систему, поужинать в банкетном зале и послушать выступления начальства и почетных гостей о славном будущем нашего растущего коллектива. Главным приглашенным спикером был Колин Энгл, основатель компании iRobot, известной по всему миру автоматизированными пылесосами «Румба» и моющими механизмами, такими как «Скуба» и «Браава». Его выступление мне запомнилось среди множества бизнес-спичей, которые пришлось выслушать за годы моей карьеры.

Как и многие технари, с детства увлеченные электроникой, он был фанатом «Звездных войн». Но его внимание привлекали не главные герои-роботы – нервозный антропоморфный C-3PO и флегматичный кастрюлеобразный R2-D2. Колин знал, что все это возможно лишь где-то в далекой-далекой галактике и в ближайшем будущем нам не светит. Его интерес возбуждали служебные роботы, периодически появлявшиеся в кадре: они чистили пол, увозили прочь всякий мусор и осуществляли другую прозаическую деятельность. И первым продуктом своей компании он решил сделать именно такого робота – пылесос, который ездил по сравнительно ровному полу, а не бегал по пересеченной местности на чужих планетах. Даже такая задача, при всем современном развитии микроконтроллеров и механических устройств, оказалась весьма сложной, о чем свидетельствуют целые коллекции неисправных «Румб», пылящиеся во многих американских домах (и в моем тоже). Похожий урок в последующие годы нам предстояло усвоить и с нашими мобильными роботами. Не слишком мудреная, казалось бы, задача – подхватить вилками коробку со стеллажа хранения и отвезти ее на другой подобный стеллаж – таила в себе сотни возможных вариантов ошибок и непредвиденных ситуаций, доставляющих неизбывную головную боль инженерам и операторам наших ботов.

* * *

После успешного внедрения моего алгоритма палетизации основной проблемой нашей системы в Ньюбурге была низкая производительность ботов, развозящих коробки на стеллажи хранения и затем на палетизацию. Вертикальные конвейеры MVC, доставляющие упаковки к трем ячейкам с шестью роботами-палетизаторами, были рассчитаны на общий поток коробок более чем 4000 в час. Сами палетизаторы могли укладывать несколько меньшее число коробок на палеты в идеальных условиях (когда коробки не падали и не случалось других перерывов в работе). Но главным узким местом с точки зрения производительности была доставка коробок к платформам MVC. Боты должны были успеть привезти коробки к заранее выбранной поднимающейся вверх платформе в строго определенный момент. Если они не успевали, весь конвейер MVC должен был сделать полный оборот (90 секунд), и коробки на других платформах, укладываемые на палету после пропущенной, не могли сгружаться с MVC и крутились вместе с конвейером, не оставляя места новым коробкам. Боты на разных ярусах застывали на десятки секунд или даже на несколько минут, мигая разноцветными светодиодами, словно от скуки. Роботы-палетизаторы надолго останавливались в ожидании очередной партии коробок. Общий поток коробок на все шесть палетизаторов в Ньюбурге едва ли достигал 1500 в час, менее 40 % от максимально возможного.