Компания постепенно росла, но как-то неравномерно. Она становилась, что называется, top-heavy, «тяжелой на голову». В «Симботике» отчаянно не хватало инженеров и программистов, но самый быстрый прирост происходил в верхнем эшелоне, среди вице-президентов и директоров. На совещаниях высокого уровня я чуть ли не каждую неделю видел новые лица, которым жаловали все более размытые титулы и должности с названиями, в разных комбинациях включающими фразы «развитие бизнеса», «исследование рынка», «связь с заказчиками» и т. п. К осени 2012 г. в «Симботике», насчитывающем все еще менее 200 сотрудников, было уже свыше 30 разного рода вице-президентов и директоров.
Тут и там назревали территориальные конфликты: все эти вице-президенты с расплывчатыми титулами и кругами обязанностей неизбежно топтались на полянках друг у друга. Конфликты между департаментами хардвера и софтвера практически не прекращались никогда в истории компании, какие бы новые люди ни приходили руководить ими (что происходило в среднем чуть реже, чем раз в год).
Естественно, не обходилось и без непотизма, хотя и в масштабах, далеких от вакханалии времен правления Гахагана. На должность ответственного за развитие технологии ботов наш CEO Джим Баум привел своего давнего приятеля Рика Дорвала, с которым когда-то делил комнату в студенческой общаге. Через несколько месяцев Дорвала назначили вице-президентом по всему хардверу.
В стратегии Баума больше внимания уделялось маркетингу и продажам, чем перспективному развитию технологии. На совещаниях и презентациях постоянно появлялись все новые имена широко известных компаний, крайне заинтересованных в сотрудничестве с «Симботиком» и скором подписании контрактов на наши автоматизированные системы. «Найк», «Фрито-Лэй», «Старбакс», «Сиско» (не Cisco Systems, делающие маршрутизаторы для компьютерных сетей, а Sysco – компания, доставляющая еду в рестораны, школы и другие заведения по всей Америке) – всех я уже не припомню. Приезжали представители этих компаний, обсуждались возможные проекты, детализировались различные опции. Все на словах были восхищены нашей технологией. Но ни до чего конкретного пока не доходило. Строящийся калифорнийский склад для «Таргета» оставался нашим единственным реальным проектом (кроме первой экспериментальной системы в Ньюбурге) – весьма значительным, но требующим дальнейшего развития.
Технология нуждалась в очень серьезной доработке. Вся наша система была слишком дорогой и недостаточно производительной, чтобы быстро привлекать новых заказчиков. Одним из главных улучшений, сделанных к концу 2012 г., была новая версия бота под названием «Бот-7». В отличие от предыдущего поколения – «Ботa-6», работающего в Ньюбурге, – это изделие уже походило на массовый промышленный образец, а не кустарный механизм, собранный в гараже. У новых ботов вся электроника была достаточно хорошо упакована внутри пластмассового корпуса зеленого цвета, выбранного брендовым цветом «Симботика», без торчащих отовсюду проводов, как у «Ботов-6», и с грамотно сделанным теплоотводом. Но главное отличие было в механизме удержания коробки внутри кузова бота. Большинство коробок было значительно меньше емкости кузова (24 на 24 дюйма), и необходимо было ограничивать их положение, чтобы они не болтались по всей его длине и ширине.
Вилки «Бота-6», подхватив коробку, помещали ее в кузов на цилиндрические роллеры. Те начинали вращаться и укатывали коробку к правому краю кузова (если смотреть на его открытую часть, откуда выдвигаются вилки). После этого пластина у задней стенки выезжала в направлении движения вилок, уменьшая пространство кузова, и прижимала коробку к небольшому бордюру у переднего края бота. Именно поэтому необходимо было выдерживать одинаковое расстояние от края коробки до первой вилки бота и один из краев коробки должен был находиться строго на краю одной из hat sections. Такой механизм снижал плотность хранения (в среднем около четырех сантиметров длины стеллажа на каждую коробку), но порой создавал еще одну проблему: у роллеров бота не получалось выкатить коробку, и она могла застрять под углом к стенке или касаться ее топорщившимся куском упаковки. Из-за этого коробки иногда не укладывались на стеллажи в нужной позиции и занимали больше места, чем им отведено, задевая и смещая соседние коробки (при их наличии).
В «Боте-7» контроль положения коробки относительно кузова был продуман более основательно. Слева и справа от коробки находились подвижные лопасти, способные сдвинуть ее с точностью до пары миллиметров по отношению к стенкам кузова. Таким образом можно было положить коробку на стеллаж со значительно большей точностью и возможностью контроля. Край коробки больше не нужно было совмещать с вертикалью hat section. Между коробками все равно необходимо было выдержать некоторый зазор (минимальное безопасное расстояние было определено в 30 мм), но он был значительно меньше, чем в «Ботах-6», и позволял только за счет этого более чем на 6 % повысить плотность хранения.
Но в остальном дизайн системы оставался примерно таким же, как и в Ньюбурге. Основной проблемой была недостаточная производительность ботов и высокая стоимость всего автоматизированного склада. Как ни странно, значительную ее часть составляли не только боты, конвейеры, ячейки палетизации и другая автоматика, но и «тупое» железо: десятки километров стеллажей, рельсов, сотни тысяч профилей hat sections, покрытие transfer deck (зоны развязки) – пола, по которому ездили боты вне стеллажей хранения, – и прочие неподвижные детали. Все это стоило намного дороже, чем стандартные стеллажи обычного склада, где хранились палеты.
Низкая производительность системы была главным образом связана с необходимостью, чтобы бот оказался точно на месте в момент передачи коробки к платформе MVC. Координация этой передачи была весьма затруднительна, и боты часто опаздывали к своей платформе или, наоборот, приезжали раньше и долго ждали ее.
Для первого коммерческого проекта «Симботика» – большого склада «Таргета» в Калифорнии – условия были значительно проще. Палетизация там не предполагалась, и коробки можно было доставлять практически в любой последовательности в течение целой смены или даже целых суток. Бот мог поставить коробку на любую свободную платформу MVC или даже выбрать любой из нескольких MVC, соединенных с выходными конвейерами. Тем не менее и на складе «Таргета», введенном в эксплуатацию в 2014 г., производительность ботов едва превышала 20 коробок (входных или выходных) в час, то есть одна транзакция – доставка коробки от входных платформ MVC до стеллажей или от стеллажей до выходных платформ – занимала почти три минуты. Идеальное время доставки (если бы все работало без каких-либо задержек, на грани механических возможностей ботов) было в два с лишним раза меньше: при самом благоприятном раскладе производительность одного бота составляла бы около 45 транзакций в час.
На первый взгляд MVC выглядели очень элегантным решением задачи вертикального перемещения коробок. Платформы плавно, почти бесшумно двигались по циклу вверх и вниз с постоянной скоростью: никаких рывков или возвратно-поступательных движений. Механизм был хорошо сбалансирован, и вся многотонная махина потребляла чуть больше пяти киловатт – совсем немного для своего размера. Но это была несколько обманчивая идиллия. Система не имела достаточной жесткости, и постепенно в ней накапливались отклонения и перекосы, почти незаметные глазу, усиливающие механические стрессы и вызывающие рост потребления энергии и вибрации. В конце концов карусель приходилось останавливать для серьезного ремонта.
Помимо этого, MVC таили в себе еще одну проблему. Почти всегда обмен коробками между ботами и платформами MVC проходил нормально. Но в редких случаях на входе, принимая коробку с платформы, бот, только что подхвативший свой груз, не успевал задвинуть вилки в кузов, и следующая платформа придавливала коробку на вилках сверху. Мне не довелось наблюдать это вживую, но я помню видео, зафиксировавшее такой инцидент. Платформа смяла коробку, находящуюся на вилках бота, и те, толкаемые вниз, заставили его «встать на дыбы». Тяжелый корпус оторвался от пола, и через секунду бот опрокинулся на бок на краю яруса. Послышался грохот: несколько вилок отломились под высокой нагрузкой. Следующая платформа придавила бот, стоящий на боку, и остановилась. Все остальные платформы MVC резко тряхнуло, а деформированная коробка с поврежденных вилок бота полетела вниз. Это была настоящая катастрофа, на много часов остановившая всю систему. В нескольких других подобных случаях сам 100-килограммовый бот падал, разбиваясь и даже оставляя вмятину в цементном полу. Иногда повреждались и платформы MVC.
В технических обсуждениях с Ларри и всей командой мы начали задумываться об альтернативах MVC, и вскоре это стало одним из главных фокусов нашей работы.
Глава седьмая«Система-X»
В середине ноября 2012 г. внезапно объявили общее собрание компании (all-hands meeting). Все сотрудники на тот момент еще помещались в главном зале, уставленном кубиклами, где сидели инженеры. Через пару лет на общих собраниях большинству приходилось слушать докладчиков по видеосвязи на компьютерах. CEO Джим Баум объявил, что уходит в отставку по личным причинам. Это было неожиданно и выглядело неубедительно. Мы догадывались о существующих между ним и Риком разногласиях, и тогда они, по-видимому, достигли непреодолимого масштаба. Рик стремился развивать новое поколение нашей технологии, хотя контуры его еще не были определены даже примерно. Джим в большей степени хотел почивать на лаврах, заниматься маркетингом и продажами того, что есть, с постепенными улучшениями и оптимизацией расходов.
Я припоминал, как на одном руководящем совещании Баум начал рассуждать, что скоро в «Симботике» возникнет проблема – чем занять набранный за последнее время инженерный состав, поскольку дизайн технологий «Системы-7» подходил к завершению и с этой системой нам предполагалось существовать много лет. Рик недовольно поморщился и резко перебил Джима: «А что, все проблемы мы решили? Производительность – как надо, 40 транзакций (на один бот) в час?»