РОБОТЫ

Благодаря Джорджу Лукасу и другим кинематографистам-фантастам мы давно воспринимаем роботов как атрибут ближайшего будущего и даже вполне представляем, как они будут выглядеть. Первые персональные роботы-игрушки, такие, как собаки Sony Aibo, детский конструктор Lego MindStorm, коты Omron NeCoRo и Sega NECOT, а также те, что находят применение в быту (пылесос Rumba, сторожевая собака Banryu), уже стали появляться в городских квартирах.

"Плоть и кровь" каждого робота тщательно разрабатывается инженерами и учеными. На программистов возлагается миссия вдохнуть жизнь в создаваемые ими устройства. Поведение, адаптация в пространстве и реакция робота на окружающий мир описываются набором сложных программ, работающих, как правило, в среде специализированной операционной системы, написанной для конкретной модели робота, либо под управлением стандартной ОС с открытым интерфейсом прикладного программирования. Примером последней является Linux, получившая широкое распространение не только как серверная и настольная операционная система, но и как ОС для бортовых компьютеров и встраиваемых микро-ЭВМ. Так, известные японские роботы-гуманоиды Fujitsu HOAP-1 (Humanoid for Open Architecture Platform) и Isamu работают на RT Linux. Шарообразный робот-помощник астронавта, созданный в NASA, также базируется на Linux для процессорной архитектуры IA-32.

Роботы выполняют задание по поиску в помещении. Regis Vincent.

Популярность Linux в этом секторе обеспечили несколько факторов. Во-первых, это открытый для модификации исходный код и лицензия, разрешающая свободное распространение ОС. Во-вторых, Linux портирована на различные аппаратные платформы, включая процессоры для мобильных и встраиваемых ЭВМ (такие, как Intel xScale, Motorola DragonBall, процессоры производства Hitachi, и др.) В-третьих, встраиваемые версии Linux не требуют большого объема оперативной памяти. И, наконец, в-четвертых, стандартные приложения и коммуникационные возможности Linux, унаследованные ею от UNIX, существенно облегчают процесс отладки ПО роботов. Скажем, оконный интерфейс пользователя X Windows, поддерживающий вывод на удаленный графический терминал, позволяет программистам, подключившись по беспроводной локальной сети к роботу, наблюдать показания датчиков, снимать изображение с видеокамеры в масштабе реального времени, а также отлаживать ПО в пошаговом режиме.

Центр искусственного интеллекта Стэнфордского исследовательского института (Artificial Intelligence Center of Stanford Reseach Institute, www.ai.sri.com) разработал прототип решения с использованием группы одинаковых роботов, ориентированных на работу в условиях чрезвычайных ситуаций. Проект под названием Centibots финансируется Агентством перспективных исследований Министерства обороны США (DARPA). После первой демонстрации действующих машин с коллективным разумом Centibots стали пионерами в области прикладных распределенных робототехнических систем (distributed robotics).

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

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

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

По условиям контракта между Минобороны США и Стэнфордским исследовательским институтом роботы Centibots должны легко тиражироваться путем использования стандартных компонентов и технологий, доступных на потребительском рынке.

"Нашествие клонов". SRIn Intl.

Одну из демонстраций совместной работы роботов Центр искусственного интеллекта провел в Сан-Франциско на выставке LinuxWorld 2003 в рамках тематической конференции "Попробуй Linux" (Test of the Linux). Роботы должны были найти игрушечного пингвина в лабиринте, представлявшем собой замкнутый прямоугольный короб площадью примерно 25 кв. м, в середине которого установили стены в виде буквы "Н". Сначала был запущен робот-разведчик, оборудованный точным лазерным дальномером. В его задачу входило произвести осмотр лабиринта и составить его цифровую модель. Затем сотрудники центра спрятали плюшевого пингвина и поставили на исходные позиции в двух разных точках роботов-исследователей. По команде с пульта управления роботы начали обход лабиринта в соответствии с планом, полученным ими от робота-разведчика. Проходя вдоль стен, они делали остановку и круговой пируэт, осматривая окружающее пространство в поисках игрушки. Пингвин был найден в считанные минуты. Как пояснил аудитории исследователь Чарли Ортиз, демонстрация дает лишь приблизительное представление о возможностях Centibots, поскольку площадь конференц-зала не позволяет воспроизвести сложный и большой лабиринт. Г-н Ортиз также отметил, что роботы пока оснащены упрощенной системой распознавания объектов. Если бы не розовый куб, установленный под пингвином, роботы не смогли бы найти игрушку. Совершенствование систем распознавания образов и автонавигации - задачи следующего этапа разработки Centibots.

Роботы прошли лабораторное тестирование на одном из этажей Стэнфордского института площадью 2790 кв. м. Максимальный пролет прямой видимости составил 123 м с примыкающим к нему петлеобразным коридором длиной 34 м. На этаже располагалось 52 офисных помещения. В данных условиях самой длительной процедурой явилось составление роботами-разведчиками плана помещения. Одному разведчику требуется около 6 ч, чтобы составить план этажа. Время поиска можно сократить, если использовать несколько роботов одновременно. Роботы могут работать и в полуавтоматическом режиме. С пульта управления человек-оператор может установить робота в исходную позицию и распределить сектора поиска между несколькими разведчиками. В полуавтоматическом режиме Centibots справляются с задачей в три раза быстрее, чем в автоматическом.

По словам исследователей, на момент начала работ над проектом в их распоряжении был большой набор ПО с открытым кодом, функциональные возможности которого могли быть использованы в роботах. Однако сначала необходимо было адаптировать и объединить в единое целое этот набор программного обеспечения для Centibots. Исследователи предпочли аппаратную платформу ПК IA-32 специализированному шасси для встраиваемых систем, руководствуясь соображениями экономии. Все роботы функционируют под управлением Debian Linux, являющегося вторым по распространенности дистрибутивом после Red Hat Linux. Выбор был сделан в пользу Debian благодаря его развитой системе управления установкой и обновлением программного обеспечения (software package management). Утилита FAI (Fully Automatic Installation, www.informatik.uni-koeln.de/fai/) существенно облегчила и ускорила процесс инсталляции ОС на системные блоки ста роботов. FAI позволяет выполнить инсталляцию по локальной сети с сервера, содержащего дистрибутивный диск с Debian. Обновление модулей ОС и прикладного ПО, разрабатываемого исследователями, производится на каждом роботе автоматически с помощью утилиты Debian debmirror c центрального сервера-зеркала, содержащего необходимые компоненты обновления. Так как команда Centibots состоит из роботов двух типов (разведчики и исследователи), система автоматизированного обновления существенно экономит время разработчиков, упрощает поддержку двух разных версий ПО и гарантирует, что на всех роботах установлено ПО одинаковой версии.

На сегодняшний день сделано 20 машин-разведчиков и 80 машин-исследователей. Роботы-разведчики представляют собой стандартное шасси фирмы ActiveMedia Robotics (www.activmedia.com) Pioner 2 серии AT или DX со встроенным бортовым компьютером на базе одноплатных ПК Versalogic VSBC-6 (PII 400 МГц) и VSBC-8 (PIII 850 МГц). Каждый из них оснащен видеокамерой, встроенной системой навигации фирмы Crossbow, одометром и восемью ультразвуковыми эхолокаторами для навигации и обхода препятствий. Дальность действия эхолокатора ограниченна, и точность его показаний обратно пропорциональна расстоянию до объекта. Для достоверного снятия плана помещения разработчики оснастили разведчика лазерным дальномером фирмы SICK, имеющим высокую точность измерения. Мощности Pioner хватает, чтобы нести на себе дальномер массой 4,5 кг, но поскольку потребляемая последним электрическая мощность сравнительно высока, то в целях экономии ресурсов аккумуляторов робот лишен возможности пользоваться им для навигации. Бортовая навигационная система Crossbow позволяет точно определять направление движения роботов, относительное смещение и угол поворота шасси.

Роботы-исследователи также сделаны на шасси фирмы ActiveMedia Robotics типа Amigobot, оборудованном восемью ультразвуковыми эхолокаторами и двухколесным приводом. Amigobot в отличие от шасси Pioneer не оснащен бортовым компьютером, а имеет лишь выводы интерфейсов управляющих цепей и датчиков шасси. Разработчики решили использовать в качестве бортовой ЭВМ обычную "персоналку", установленную на корпус Amigobot. Компьютеры роботов-исследователей построены на базе системной платы VIA Epia M9000 с процессором VIA C3 933 МГц, имеющей формат Mini-ITX. Партнер разработчиков компания ActiveMedia создала для роботов специальный компактный корпус. В полевых условиях эти роботы взаимодействуют посредством беспроводной локальной сети.

Разведчик оснащен сетевой картой фирмы Orinoco, подключаемой через адаптер PCMCI PC/104 к одноплатному ПК, а робот-исследователь использует внешний беспроводный адаптер М101 фирмы Netgear, подсоединенный к порту USB. Система видеонаблюдения разведчиков построена на базе камеры Unibrain Fire-1, подключаемой к интерфейсу Fire Wire (IEEE 1394), и позволяет снимать видеоизображение с частотой 30 кадр./с с разрешением 640x460. Исследователи оборудованы камерой Logitech 4000 Pro, подключаемой к интерфейсу USB, что дает возможность снимать видеоизображение с частотой 5 кадр./с и разрешением 320x240. Несмотря на то что все использованные компоненты являются стандартными, разработчики тем не менее вынуждены были проектировать специализированную плату конвертора электропитания, преобразующую напряжение питания аккумуляторных батарей 12 В в напряжение питания системной платы +12 В и -5 В. Стоимость робота-разведчика составляет примерно 15 тыс. долл., робота-исследователя - около 5 тыс. долл.

Для написания прикладного ПО исследователи использовали обширный набор программ. Основной код роботов был подготовлен с применением прикладных библиотек SAPHIRA. Эта интегрированная архитектура для создания подсистемы, отвечающей за восприятие роботами окружающей обстановки и за действия роботов в зависимости от сигналов внешних раздражителей, родилась в стенах Центра в 1994 г., в период разработки робота Flakey. Она содержит описание алгоритмов определения местоположения машины, работы с планом местности, поиска и распознавания людей и т. д.

Алгоритм планирования пути прохождения роботов на заданном плане местности был реализован в соответствии с градиентной методикой Курта Конолайга (см. его работу A Gradient Method for Real time Robot Control, IROS 2000, www.ai.sri.com/~konolige/papers/gradient.pdf). Свои программы разработчики создали на основе модулей, написанных в то время, когда они трудились над проектом SAPHIRA 8, а сейчас улучшили и адаптировали их для Centibots. Для модулей управления шасси робота и снятия показаний датчиков программисты использовали прикладной пакет разработчика ARIA (www.activrobots.com/SOFTWARE/aria.html), предоставленный производителем шасси компанией ActiveMedia Robotics. ARIA (ActiveMedia Robotics Interface Application) - это пакет библиотек для Linux и Win32 с интерфейсом прикладного программирования на языке С++.

Как упоминалось выше, для составления плана помещения роботы-разведчики используют лазерный дальномер. Для отсчета относительной дистанции до искомой точки применяется одометр. Алгоритм исследования помещения составлен таким образом, что любой робот может независимо от других начинать работу из различных точек помещения. Части плана, полученные от разведчиков, соединяют в единую карту. Если два робота замечают, что их планы, возможно, пересекутся на одном и том же участке, они назначают встречу в общей, по их мнению, точке. Если им удается встретиться, то план считается составленным правильно, если нет, - то участок помещения исследуется еще раз.

Для сжатия потокового видео, поступающего с видеокамер роботов, использовалась прикладная библиотека с открытым исходным кодом Libcu30, написанная Аароном Розенбергом и Дереком Смитесом. Библиотека, доступная на SourceForge. Net, является реализацией программного видеокодека, описанного в документе Американской ассоциации инженеров в области электроники и электротехники (см. документы группы IEEE "Transactions on Circuits and System for Video Technology", April 1999, "A Software-only Videocodec using Pixelwise Conditional Differential Replenishment and Perceptual Enchancment").

Беспроводные локальные сети стандарта IEEE 801.11b (11 Мбит/c) являются основным средством обмена информацией между роботами во время выполнения ими рабочего задания. Однако реальные условия работы и состояние окружающей среды могут ухудшить качество связи. Чтобы добиться слаженной работы в таких условиях, специалисты решили использовать технологию Jini для обеспечения протокола взаимодействия между системами Centibots. Jini - это своего рода сетевой Plug’n’Play, представляющий собой набор компонентов-клиентов и компонентов-серверов и собственно протокол обмена Jini. С помощью этого набора можно создать достаточно хорошую инфраструктуру для обмена данными между устройствами даже в условиях ненадежной физической связи. Jini использует механизм отложенной сетевой транзакции, который в случае потери физического сетевого соединения сохраняет сетевой запрос до момента восстановления связи. Технология может работать одновременно в IP-сетях как со статическим, так и с динамическим адресным пространством. При этом предполагается, что топология сети тоже не постоянна. Библиотеки Jini написаны на языке Java и включают модули обрамления (враперы) для вызова этих библиотек из других языков программирования.

Надо учесть, что звездообразная топология беспроводной локальной сети совершенно не подходит для связи роботов в полевых условиях, так как трудно гарантирировать равноудаленность машин от центрального сетевого концентратора. Поэтому разработчики спроектировали роботов в соответствии с архитектурой равноправных (peer-to-peer) узлов вычислительной сети, где каждый узел может производить маршрутизацию сегментов информации прикладного уровня от соседа к соседу, находящемуся на дистанции уверенного приема-передачи. Следует отметить, что исследователи не отказались и от применения проводной локальной сети. Надежная сеть со скоростью 100 Мбит/с используется для синхронного обновления операционной системы и прикладного программного обеспечения роботов. Для обновления ПО и подзарядки аккумуляторов роботы устанавливаются на специальные лабораторные стенды.

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

Фото принадлежат Стэнфордскому НИИ.

Версия для печати