logo logo
Сообщество робототехников

Робот в каждый дом

Робот в каждый дом
Суббота, 25 Октября 2014, в 9:47
Наука

Вождь компьютерной революции, Билл Гейтс, предсказывает, что следующим популярнейшим направлением отрасли станет РОБОТОТЕХНИКА.

Билл Гейтс — соучредитель и председатель правления (совета директоров) Microsoft, самой крупной в мире компании-разработчика программного обеспечения.

Занимаясь в 1970-х годах в Гарвардском университете, Билл Гейтс разработал версию интерпретатора языка программирования Basic для первого микрокомпьютера — «Альтаир» фирмы MITS. Вскоре Гейтс покинул Гарвардский университет, чтобы посвятить себя компании Microsoft, которую он основал в 1975 году вместе с другом детства Полом Алленом. В 2000 году Билл Гейтс и его жена Мелинда учредили фонд Bill & Melinda Gates Foundation, который финансирует деятельность, направленную на улучшение здоровья людей, ликвидацию нищеты и расширение доступа к техническим достижениям по всему миру.

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

Конечно, предыдущий абзац мог бы вполне подойти для описания компьютерной индустрии середины 1970-х годов, когда Пол Аллен и я основали компанию Microsoft. В то время очень громоздкие и дорогие ЭВМ использовались в больших компаниях, правительственных организациях и некоторых других учреждениях. Ученые ведущих университетов и лабораторий создавали основные компоненты таких машин, и все это позволило потом заговорить об эре информации. Фирма Intel выпустила 8-разрядный микропроцессор Intel 8080, а компания Atari занималась продажами электронной игры Pong.
В доморощенных компьютерных клубах энтузиасты старались понять, где еще может быть применима эта новая технология.

Однако, сейчас я думаю о другом — о появлении робототехники, которая развивается почти таким же образом, как компьютерная отрасль 30 лет назад. О промышленных роботах, использующихся на автомобильных сборочных конвейерах взамен вчерашних больших ЭВМ. Роботы используются и в хирургии, и в армии, и дома (например, роботы-пылесосы). Есть роботы-игрушки, которые имитируют людей, собак или, скажем, динозавров.

Тем не менее, целый ряд лучших специалистов продолжает заниматься труднейшими проблемами робототехники, такими, как визуальное распознавание, перемещение и обучение роботов.
И здесь есть определенные успехи. В 2004 году Агентство перспективных исследований Министерства обороны США (ARPA, Advanced Research Project Agency) проводило конкурс, ориентированный на создание первого робота, способного самостоятельно преодолеть калифорнийский полигон Mojave Desert — примерно 230 км по пересеченной местности. Победитель сумел преодолеть 12 км. А уже в 2005 году пять роботов смогли покрыть все расстояние; средняя скорость победителя составляла около 30 км/ч (интересно, что ARPA финансировало также работы, которые привели к созданию сети ARPAnet, предшественницы Internet.)

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

 

Американская роботизация

 

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

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

 

 

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

Слово «робот» было введено в 1921 году чешским писателем Карелом Чапеком, но люди стали рисовать подобные устройства в своем воображении еще за тысячи лет до этого. В древнегреческой и древнеримской мифологии боги металла создавали механических слуг из золота. В I веке н.э. древнегреческий ученый и инженер Герон Александрийский, который изобрел первый паровой двигатель, конструировал причудливые автоматические устройства, в том числе одно, про которое говорили, что оно способно произносить слова. А в конце XV века Леонардо да Винчи сделал эскиз механического рыцаря, способного сидеть и двигать руками и ногами. Этот эскиз считается первым проектом человекоподобного робота. 

 

Робот и персональный компьютер могут быть друзьями

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

В XX веке благодаря книгам (таким, как «Я — робот» Айзека Азимова), фильмам (среди которых, конечно, «Звездные войны»), телешоу (Star Trek — «Звездный путь») о человекоподобных машинах стало хорошо известно широкой публике. Люди стали готовы к тому, что когда-нибудь роботы могут появиться среди нас, выполняя функции помощников и даже компаньонов. И, хотя машины подобного рода уже сегодня играют важную роль в производстве (например, в автомобилестроении, где один робот приходится примерно на каждые десять рабочих), предстоит пройти еще длинный путь, прежде чем реальные роботы станут действительно соответствовать своим научно-фантастическим двойникам. 

 

Будущее роботизации
(краткий обзор)

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

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

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

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

 

Рождение отрасли

Изготовители роботов уже предложили множество полезных машин, имеющих самый разный дизайн.

В 2005 году робот Stanley (рисунок вверху), которого построил коллектив Stanford Racing Team, проехав более 200 км по пересеченной местности без водителя, стал победителем конкурса, проводившегося Агентством перспективных исследований Министерства обороны США. Компания iRobot (Берлингтон, штат Массачусетс), строит робота Packbot EOD, который способен обезвреживать мины, а также робота Roomba
(в центре), который может чистить пылесосом полы из твердой древесины и ковры. Комплект Lego Mindstorms, предназначенный для сборки роботов и подготовки программ для них, стал самым покупаемым товаром за всю историю датского производителя игрушек Lego Group (рисунок справа).

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

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

Сегодня создатели роботов могут использовать также чипы спутниковой навигационной системы (Global Positioning System, GPS), видеокамеры, матричные микрофоны (которые лучше обычных микрофонов выделяют голос из фонового шума) и множество дополнительных датчиков по приемлемой цене. Современные роботы способны, например, почистить комнату пылесосом или помочь обезвредить мину, т.е. выполнять задания, которые были бы невыполнимыми для серийно выпускаемых машин такого рода всего лишь несколько лет назад.

 

Равнение на Basic!

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

Компьютерные испытания в трехмерном виртуальном пространстве помогают создателям роботов анализировать и адаптировать возможности своих устройств до их проверки в реальных условиях. Комплект для разработки ПО Microsoft Robotics Studio: имитация действия сил тяжести и трения.

Тогда же, мои коллеги из компании Microsoft слышали, что люди из научных кругов и коммерческих фирм, связанных с робототехникой, интересуются, выполняла ли наша компания какие-либо работы, способные помочь в их деятельности в этой области. Таких работ у нас не велось, и мы решили лучше познакомиться с данной проблемой. Я попросил Тэнди Трауэра, члена нашего «стратегического штаба», ветерана Microsoft с 25-летним стажем пребывания в компании, продолжить изучение данного вопроса и побеседовать с людьми, связанными с робототехникой. Он обнаружил всеобщий энтузиазм, касающийся будущего робототехники, а также всеобщее желание иметь средства, облегчающие работу. «Многие видят, что робототехника проходит технологическую поворотную точку, где движение в направлении архитектуры ПК приобретает все больший смысл, — написал потом Тэнди в своем докладе. — Как отметили в Университете Карнеги Меллон, возможности аппаратуры большей частью соответствуют выдвигаемым требованиям, вопрос теперь — в получении надлежащего ПО».

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

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

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

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

Чем лучше ПО, тем меньше беспорядка

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

Один из путей здесь заключается в написании многопоточных программ, которые позволяют данным перемещаться по многим направлениям. Однако их создание — одна из труднейших задач программирования. Облегчить ее можно, используя технологию CCR (concurrency and coordination runtime), предполагающую использование программных кодов, каждый из которых выполняет свою определенную функцию. В результате — обеспечивается параллельность действий. Библиотека CCR, задуманная как удобный инструмент использования всех возможностей многопроцессорных и многоядерных систем, оказалась идеальной для робототехники. В результате применения библиотеки для кодирования систем управления роботом, уменьшается период срабатывания системы.

Помимо решения задачи параллелизма, группа Манди успешно поработала над упрощением написания распределенных прикладных программ для роботов, применив так называемую «децентрализацию выполняемого кода» (decentralized software services, DSS). В результате использования этого метода, программный код делится на части, выполняемые независимо друг от друга. Действие DSS напоминает то, как изображения и тексты с нескольких серверов объединяются на web-странице. Причем, в случае отказа какого-либо компонента, не требуется перезагрузка всей системы: можно отключить, перезапустить или даже заменить отдельный компонент. А если использовать беспроводные каналы для передачи данных, то контролировать и настраивать робота можно дистанционно, используя web-браузер.

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

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

 

Будем ли мы называть их роботами?

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

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

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

 

Scientific American, январь 2007 г.

Перевод с английского
Л.Н. Картвелишвили 

рейтинг

3874

просмотров

0

комментариев

порекомендовать друзьям

комментарии

Нет комментариев

Гость

Дорогие друзья! Помните, что администрация сайта будет удалять:

  • Комментарии с грубой и ненормативной лексикой
  • Прямые или косвенные оскорбления героя поста или читателей
  • Короткие оценочные комментарии ("ужасно", "класс", "отстой")
  • Комментарии, разжигающие национальную и социальную рознь