Робот в каждом доме

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

Конечно, предыдущий абзац может быть описанием состояния компьютерной промышленности где-то в середине 70-х, когда Поль Ален и я основали "Микрософт". В то время большие, дорогие вычислительные машины обслуживали операционные отделы крупных компаний, государственных учреждений и других организаций. Исследователи ведущих университетов и промышленных лабораторий создавали основные структурные блоки, которые сделали возможным век информатики. Компания "Интел" только что выпустила 8080-й микропроцессор, а "Атари" продавали популярную электронную игру "Понг". В доморощенных компьютерных клубах энтузиасты ломали голову, пытаясь представить, что хорошего может дать эта новая технология.

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

Тем временем лучшие умы мира бьются над решением таких сложнейших проблем роботехники, как визуальное распознавание, ориентировка и самообучение автоматов. И им это удается. В 2004 году "Большой Вызов" Агентства перспективного планирования научно-исследовательских работ Министерства обороны США (DARPA) поставил перед участниками задачу создания первого роботизированного средства передвижения, способного передвигаться автономно по пересеченной местности и пройти маршрут в 142 мили в пустыне Моджейв. В тот раз самый лучший результат показал участник, которому удалось пройти всего 7,4 мили, прежде чем сломаться. Однако уже в 2005 году пять аппаратов покрыли это расстояние целиком, а победитель гонки двигался со средней скоростью 19,1 мили в час. (Другой интригующей параллелью между роботехнической и компьютерной промышленностью является то, что именно DARPA финансировало создание сети Arpanet, предшествовавшей интернету.)

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

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

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

От научной фантастики к реальности

Слово "робот" ввел в употребление в 1921 году чешский писатель Карел Чапек, но люди тысячелетиями мечтали о создании роботоподобных устройств. В греческой и римской мифологии боги металлургии строили механических слуг из золота. В начале первого тысячелетия нашей эры Герон из Александрии (великий инженер, которому приписывают изобретение первой паровой машины) придумывал интересные автоматы, в том числе, как утверждается, и способные говорить. Леонардо да Винчи в 1495 году нарисовал механического рыцаря, который мог приседать и двигать руками и ногами, - его и принято считать первым чертежом человекоподобного робота.

На протяжении прошлого столетия антропоморфные машины становятся знакомыми фигурами популярной культуры благодаря таким книгам, как "Я, робот" Айзека Азимова, таким фильмам, как "Звездные войны", и таким телешоу, как "Стар Трек". Популярность роботов в художественных произведениях указывает на то, что люди положительно воспринимают идею нахождения машин среди нас в качестве помощников и даже спутников. Тем не менее, хотя роботы играют жизненно важную роль в автомобилестроении (где на каждых десять рабочих приходится примерно один робот), нам еще предстоит пройти долгий путь, прежде чем реальные роботы догонят воображение научных фантастов.

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

Тем не менее исследователи уже находят решения. Им, в частности, помогло то, что компьютеры стали чрезвычайно производительными. Мегагерц процессорной мощности, стоивший более $7 тыс. в 1970-м, сегодня можно купить за гроши. Цена мегабайта хранения информации уменьшалась так же стремительно. Доступ к дешевым компьютерным мощностям позволил ученым подойти к решению множества фундаментальных для практической роботехники проблем. Сегодня, например, программы голосового распознавания довольно хорошо распознают слова, но следующей большой задачей станет построение машин, которые смогут понимать значение этих слов в контексте. По мере расширения возможностей компьютеров проектировщики роботов получат в свое распоряжение необходимые вычислительные мощности, которые позволят им взяться за решение еще более сложных вопросов.

Другим препятствием для развития роботов стала высокая стоимость аппаратного оборудования, такого как, например, сенсоры, позволяющие роботам определять дистанцию до объекта, а также моторы и сервомеханизмы, дающие роботам возможность манипулировать объектами как с силой, так и с нежностью. Но цены быстро падают. Лазерные локаторы, используемые в роботехнике для точного определения дистанции, всего несколько лет тому назад стоили около $10 тыс. - сегодня их можно купить где-то за $2 тыс. А новые, более точные сенсоры на основе ультраширокополосного радара доступны по еще меньшей цене.

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

BASIC-ный подход

В феврале 2004-го я посетил несколько ведущих университетов, включая университет Карнеги Меллон, Массачусетский технологический институт, Гарвардский университет, Корнелльский университет и Иллинойский университет; в ходе этих встреч я говорил о той громадной роли, которую могут сыграть компьютеры в разрешении самых насущных проблем общества. Моей целью было помочь студентам осознать, насколько увлекательной может быть компьютерная наука, я также надеялся убедить некоторых из них подумать о построении своей карьеры в технологии. В каждом из университетов после своей речи я имел возможность непосредственно ознакомиться с некоторыми из самых интересных исследовательских проектов компьютерных кафедр. Как правило, все они оказывались связанными с роботехникой.

В то же время на связь с моими коллегами по "Микрософту" постоянно выходили люди из академических сфер и коммерческих фирм, занимающихся роботехникой, с вопросами о том, не связана ли наша компания с разработкой роботов, что могло бы помочь им в их собственных усилиях. Мы этим тогда не занимались и решили внимательно рассмотреть этот вопрос. Я обратился к Тэнди Троверу, члену моего стратегического персонала и ветерану "Микрософт" с 25-летним стажем, с просьбой провести сбор фактов и переговорить со специалистами в сфере роботехники. Мы выяснили, что энтузиазм в отношении потенциала роботехники достаточно велик и, кроме того, во всей этой промышленности остро чувствуется необходимость в инструментах, которые облегчили бы разработку. "Многие считают, что роботостроительство находится в той точке, когда имеет смысл переходить на архитектуру ПК, - писал Тэнди в своем докладе по окончании своей миссии. - Как недавно указывал Ред Уиттэйкер, ведущий проекта университета Карнеги Меллон на Большом Вызове DARPA, аппаратные возможности уже почти есть, остается создать правильное программное обеспечение".

На заре эры персональных компьютеров мы отдавали себе отчет в том, что нам необходим некий компонент, который позволит всем передовым разработкам достичь критической массы и срастись в настоящую промышленную отрасль, способную производить действительно полезные изделия в рыночных масштабах. Оказалось, что нам был нужен Microsoft BASIC. Когда мы создали этот язык программирования в 70-х, мы предложили общую базу, которая позволяла программам, разработанным для одного типа аппаратного оборудования, работать на другом. Кроме того, BASIC сделал компьютерное программирование намного проще, что привлекало в промышленность все больше и больше людей. Хотя огромное количество людей внесло свой вклад в развитие персонального компьютера, Microsoft BASIC был одним из ключевых катализаторов прорыва в сфере развития программного и аппаратного обеспечения, который сделал возможным революцию ПК.

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

Роботехническая группа Тэнди сумела найти применение целому ряду передовых технологий, разработанных командой, которую возглавляет Крейг Мунди, ведущий научный и стратегический сотрудник "Микрософт". Среди этих технологий есть такая, которая поможет решить одну из самых трудных задач, стоящих перед создателями роботов, - задачу одновременной обработки данных, поступающих от множества сенсоров, и посыл соответствующих команд на моторы роботов, так называемую проблему согласованности. Привычный подход предполагает написание традиционной, последовательной программы, выполняющей только одну задачу в каждый конкретный момент времени, - петлю, которая сначала считывает все данные от сенсоров, затем обрабатывает эти входные данные и, наконец, выдает исходящие данные, которые определяют поведение робота, прежде чем начать петлю с самого начала. Недостатки такого подхода очевидны: если робот получает свежие сенсорные данные, свидетельствующие о том, что машина стоит на краю пропасти, а программа все еще находится в начале петли, просчитывая траекторию и передавая команду колесам крутиться быстрее на основании предыдущего сенсорного ввода, то, скорее всего, робот покатится с лестницы прежде, чем сможет обработать эту новую информацию.

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

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

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

Эти технологии стали ключевой частью Microsoft Robotics Studio, нового пакета разработки программ, созданного командой Тэнди. Microsoft Robotics Studio также включает в себя инструменты, которые упрощают создание приложений для роботов с использованием широкого спектра языков программирования. Примером этого может служить симулятор, позволяющий создателям роботов тестировать свои приложения в трехмерной виртуальной среде, прежде чем опробовать их в реальном мире. Нашей целью в рамках данного релиза было создание доступной, открытой платформы, позволяющей разработчикам роботов легко интегрировать аппаратное и программное обеспечение для своих целей.

Стоит ли называть их роботами?

Как скоро роботы станут частью нашей повседневной жизни? По оценке Международной федерации роботехники, в 2004 году в мире действовало около двух миллионов персональных роботов, а к 2008 году войдут в строй еще семь миллионов. Министерство информации и связи Южной Кореи надеется ввести робота в каждый дом к 2013 году. Японская Ассоциация роботехники предсказывает, что к 2025 году всемирная индустрия персональных роботов будет оцениваться в $50 млрд в сравнении с $5 млрд в наши дни.

Как и в случае с индустрией ПК в 70-х, сейчас невозможно предсказать, какого рода применение станет движущей силой индустрии. Вполне вероятно, что роботы будут играть важную роль в оказании физической помощи пожилым людям и даже станут их спутниками. Роботизированные устройства, возможно, будут помогать передвигаться людям с ограниченными возможностями, а также увеличат силу и выносливость солдат, строительных рабочих и медиков. Роботы будут обеспечивать работу опасных промышленных агрегатов, обращаться с опасными материалами и вести наблюдение за удаленными нефтепроводами. Они помогут работникам медицинского обслуживания диагностировать и лечить пациентов, которые могут находиться за тысячи миль от них, а также займут центральное место в системах безопасности и поисково-спасательных операциях.

Хотя некоторые из будущих роботов и могут быть похожи на человекоподобные устройства, которые мы видели в "Звездных войнах", большинство никак не будет походить на гуманоида C-3PO. На самом деле, по мере того, как мобильные периферийные устройства становятся все более и более привычными, все труднее определить точно, что же такое робот. Так как новые машины будут настолько специализированными и повсеместно распространенными (и при этом мало похожими на двуногих андроидов, знакомых нам из научной фантастики), мы, наверное, даже не будем называть их роботами. Однако по мере того, как эти устройства будут становиться доступными потребителю, они смогут оказывать такое же глубокое влияние на то, как мы работаем, общаемся, обучаемся и развлекаемся, какое оказали ПК за прошедшие тридцать лет.

Перевод Ольги Шляхтиной

© Содержание - Русский Журнал, 1997-2015. Наши координаты: info@russ.ru Тел./факс: +7 (495) 725-78-67