Стандарты робототехники и открытые платформы
Сергей Бобровский
По оценкам организации ActivMedia Robotics (www.activmedia.com), занимающейся исследованиями в области робототехники, рынок мобильных роботов вырастет с 1 млрд. в 2001 г. до 5 млрд. долл. в 2005-м. Столь значительное увеличение интереса компаний и частных покупателей к самоходным аппаратам объясняется резким удешевлением последних и одновременно существенным расширением их функциональных возможностей (производительности, точности действий, гибкости и простоты настройки). Кроме того, промышленные корпорации в развитых странах стараются компенсировать рост зарплаты (примерно 1% в год) за счет полной автоматизации производственных линий, а массовый рынок пока восторженно принимает практически каждую интеллектуальную модель, что подталкивает разработчиков к ускоренному созданию новых устройств.
Однако стремительное развитие молодого рынка привело к ряду побочных эффектов. Не существует единой технологической концепции, универсальной платформы, независимого набора интерфейсов, которых придерживались бы создатели роботов. Так сложилось исторически, что каждая модель проектировалась на базе оригинальных алгоритмов и аппаратных решений, выдвинутых небольшими группами разработчиков или научными лабораториями. Кроме того, рынок робототехники очень пестрый, насчитывает десятки средних и мелких игроков, которые часто скрывают заложенные в свои продукты идеи и совершенно не заинтересованы в стандартизации. Представляется маловероятным, что в ближайшие годы удастся согласовать различающиеся по внутренней идеологии решения и выработать единый стандарт, который примет основная масса производителей. Более того, тенденции в этой области свидетельствуют, что со временем проблемы программной и аппаратной нестыковки роботов и их периферийных элементов будут только возрастать.
В проигрыше из-за такой ситуации оказываются прежде всего крупные компании. По мере насыщения рынка широко распространенными решениями все чаще возникает потребность объединить деятельность роботов разных производителей на одном предприятии и даже в одной технологической цепочке. Наверняка ощущается и давление со стороны военного комплекса - крупнейшего инвестора в потенциальных "универсальных солдат", больше других заинтересованного в едином стандарте.
Поэтому клиент, не желающий "подсаживаться" на решения одной компании, все чаще делает выбор в пользу, возможно, не столь распространенного, известного и дешевого продукта, но который проще и быстрее интегрируется с другими системами. Здесь растущую активность проявляют малые компании, и ведущие производители не могут с ними не считаться - ведь не исключено, что какое-нибудь удобное решение, совместимое со множеством существующих аппаратов, неожиданно завоюет широкую популярность, как это уже не раз бывало на ИТ-рынке. Но более вероятно, что в качестве стандарта будет выбрано общедоступное открытое решение, проверенное на практике.
Стандарты: что сделано и делается
Организация ISO (прежде всего ее технический комитет ISO/TC 184 "Системы промышленной автоматизации и интеграция") предложила немало стандартов на функционирование промышленных роботов и их программное взаимодействие (в частности, серию ISO 10303). Стандарты детально определяют универсальную информационную модель, описывающую создаваемое машинами изделие, что упрощает автоматизацию обмена информацией о рабочих процессах между всеми участниками технологической цепочки и облегчает ввод новых производственных технологий. Но пока эти стандарты ориентированы на промышленные роботы, используемые стационарно. Тем не менее ISO и ей подобные структуры со временем наверняка охватят и сферу мобильных роботов, только этот процесс будет небыстрым.
Коснется он в первую очередь областей робототехники, имеющих достаточную общественную значимость. Возможно, это будут шагающие и лазающие роботы с повышенной проходимостью. Они обладают очень высоким промышленным потенциалом и могут быть использованы службами спасения, в космических исследованиях, при ремонте АЭС, заводских химических комплексов, шахт, трубопроводов и в ряде других задач, участие человека в которых опасно или невозможно. По этой причине Евросоюз сформировал сеть CLAWAR (Climbing and Walking Robots, www.clawar.com/home.htm), объединяющую проектировщиков и производителей подобных роботов. В ее рамках решаются вопросы модульного построения шагающих аппаратов и специальных датчиков для них, проводятся обучающие семинары и вырабатываются подходы к возможной стандартизации автономных аппаратов. Пока CLAWAR занимается объединением усилий и поиском взаимопонимания между производителями и пользователями таких систем.
По инициативе ряда немецких научных и промышленных организаций была создана европейская ассоциация развития открытой архитектуры управляющих систем OSACA (www.osaca.org), не привязанная к конкретному оборудованию. Ассоциация выдвинула ряд спецификаций, рекомендованных к применению участникам OSACA.
Одна из наиболее серьезных и объемных робототехнических наработок - пакет OMAC (Open Modular Architecture Controls, www.omac.org), описывающий открытые модульные архитектуры управляющего ПО для производственного оборудования и предлагающий набор спецификаций для интеллектуальных контроллеров. Развитие данного пакета происходит весьма активно, а поддерживают его такие солидные международные компании, как Microsoft, Boeing, Procter & Gamble и др.
Немаловажно, что OMAC совершенствуется в тесном взаимодействии с национальным американским институтом стандартов и технологий NIST в рамках большого проекта развития интеллектуальных машин Intelligent Machines and Systems Technology (www.isd.cme.nist.gov), в котором готовится открытая управляющая архитектура реального времени Real-Time Control Systems Library (www.isd.cme.nist.gov/projects/rcslib/index.html), ориентированная не только на роботов.
OMAC, в свою очередь, разделен на несколько подпроектов. Например, для задач автоматизации упаковочного оборудования предлагаются готовые низкоуровневые интерфейсы и драйверы PackConnect, ПО промежуточного слоя PackSoft и XML-приложение PackML, упрощающее стыковку различных систем.
Интеграционные тенденции
Интеграционные тенденции на рынке робототехники в ближайшие 3-5 лет будут характеризоваться следующими особенностями.
1. Крупные производители роботов, вспомогательного оборудования и ПО для них будут активно продвигать собственные решения в качестве стандартных. В этой связи можно ориентироваться на компании, особое внимание уделяющие маркетинговой деятельности[1]: как показывает практика, рекламная составляющая бюджета в успешных высокотехнологичных компаниях достигает подчас 70-80%. А если одна из таких компаний выиграет крупный государственный заказ, то на ее платформу можно будет смело ориентироваться без особого риска потери инвестиций[2]. Правда, не исключен и другой вариант - правительство, вложившее крупные суммы в робототехнику, не захочет, чтобы плодами разработок пользовались специалисты других стран. Подобное развитие событий тоже вполне вероятно. Так, компания Intel, при активном участии которой создавался комитет Robotics Engineering Task Force[3], ведет сейчас активные переговоры с вошедшим в него военным научным агентством DARPA на предмет передачи финансирования.
Но это характерно для сегодняшней Америки, где госзаказ играет все большую роль, а вот в Японии наблюдается совсем другая ситуация. Группа ведущих производителей бытовой электроники, возглавляемая корпорациями Sony, Toshiba и NEC, намерена объединить собственные робототехнические достижения в рамках единой коммерческой архитектуры. В нее войдут:
- созданная в Sony системная библиотека низкого уровня OPEN-R SDK (на ее базе выпущена популярная собачка-робот Aibo);
- предложенная Toshiba открытая управляющая архитектура Open Robot Controller Architecture (ORCA), реализованная в виде ПО промежуточного слоя, объединившего, с одной стороны, драйверы датчиков и кинематического оборудования, средства связи, модули обработки изображений, речи и т. п., а с другой - ОС и процессоры. В результате одна и та же прикладная система (например, ответственная за распознавание речи) сможет без серьезной модификации исходного кода функционировать на разных аппаратных платформах, процессорах и ОС. Таким образом, на основе готовых компонентов удалось быстро спроектировать робот ApriAlpha. ORCA опирается на технологию распределенных объектов HORB, разработанную в Национальном японском институте науки и технологии AIST;
- созданная в NEC визуальная среда формирования интеллекта роботов RoboStudio[4], в которую входят оболочка быстрой разработки, компилятор, виртуальная машина, имитирующая действия различной аппаратуры, и библиотека, включающая модули распознавания и самообучения и базу знаний. RoboStudio независима от производителя оборудования.
RETF также планирует выработать объектную архитектуру управления, не привязанную к конкретному языку программирования и ОС и допускающую использование в качестве управляющего блока практически любого современного вычислительного устройства, будь то ПК или 4-разрядное цифровое оборудование.
Спецификации будут полностью открыты для подключения программных и аппаратных компонентов других фирм. Правда, информация о результатах деятельности комитета на его сайте www.robo-etf.org весьма скудная.
2. На мировом рынке сохранится несколько массовых и плохо совместимых друг с другом типовых платформ, причем не только коммерческих, но и общедоступных.
3. Появление единого независимого стандарта на мобильные роботы маловероятно. В то же время будет расти активность различных международных комитетов по стандартизации.
4. Продолжится рост интереса к интеграционным системам и оболочкам, поддерживающим несколько решений третьих фирм.
5. Значительное число новых продуктов будет выпускаться в открытых архитектурах и на базе общедоступных решений. Число и, главное, качество последних возрастет и сравняется с коммерческими аналогами, а может, и превзойдет их.
В таблице (см. таблицу) приведены общедоступные программные системы, распространяемые, как правило, в исходных текстах[5] и допускающие создание промышленных продуктов без отчислений авторам. Вполне возможно, что одна из них и станет робототехническим стандартом в своей области.
Общедоступное программное обеспечение для создания роботов
Название системы | Сайт | Платформа разработки | Описание |
Интегрированные пакеты | |||
Tekkotsu | www.tekkotsu.org | Windows, Unix | Объектная событийно-ориентированная платформа высокоуровневого программирования роботов, основанная на библиотеке OPEN-R и созданная в Университете Карнеги - Меллона для разработки алгоритмов искусственного интеллекта и автоматизации рутинных задач управления. Первоначально Tekkotsu ориентировалась на робота Aibo. Заложенные в нее концепции позволили адаптировать платформу к другим автономным устройствам. Tekkotsu включает, в частности, модули обработки изображений, управления ходьбой, организации беспроводной связи по TCP/IP-протоколу, а также мощные средства отладки |
Darwin2K | 2 darwin2k.sourceforge.net | Linux, IRIX, Solaris | Среда, объединяющая средства динамической симуляции и автоматического проектирования, синтеза моделей и оптимизации кинематики, позволяющая быстро создавать полноценные прототипы роботов с ориентацией на конкретное оборудование |
ROSSUM | rossum.soureeforge.net | Java, Windows, Linux, Solaris | Набор открытого ПО от различных компаний, включающий интеграционную оболочку и среду двумерного моделирования. Позволяет создавать колесные роботы на базе независимой от языка программирования клиент-серверной архитектуры. Особое внимание авторы ROSSUM уделили возможности быстрой инсталляции пакета на аппаратную часть и скорейшему созданию действующего устройства. На основе ROSSUM проводятся, в частности, популярные соревнования роботов-пожарных Trinity College Fire-Fighting Home Robot Contest |
FlowDesigner | flowdesigner.sourceforge.net | Windows, Linux | Среда обработки объемных потоков данных в масштабе реального времени с визуальным отладчиком. В поставку входит модуль RobotFlow, упрощающий задачи обработки видеосигнала, машинного обучения на базе нейронных сетей и нечеткой логики и т. д. Источниками данных могут служить произвольные внешние объекты, что позволяет объединять с помощью RobotFlow робототехнические программные модули и аппаратуру третьих фирм |
MissionLab | www.cc.gatech.edu/ aimosaic/robot-lab/research/MissionLab/ | Linux | Пакет, созданный в технологическом институте шт. Джорджиа, позволяет разрабатывать реальные роботы и компьютерные модели и включает графическую оболочку, компиляторы языков описания моделей в код C++ и ряд модулей, ответственных за высокоуровневое планирование действий, поиска маршрутов, обхода препятствий и т. д. |
Управляющие пакеты | |||
OROCOS Open Robot Control Software | www.orocos.org/orocos.html | Linux 2.6, RTAI (rtai.org) | Независимый от оборудования набор модулей управления движением робота, дополненный комплектом драйверов. Позволяет организовать множество циклов управления с обратной связью, поддерживает режим обработки событий, конфигурирование доступной аппаратуры, передачу данных по сети. Набор представляет собой большое число простых программных интерфейсов, каждый из которых легко изучить |
Motion Strategy Library | msl.cs.uiuc.edu/ msl/index.html | Linux | Библиотека Иллинойского университета, упрощающая создание систем управления движением роботов. В поставку входят несколько готовых алгоритмов: RRT (быстро исследуемые деревья вероятностей), PRM (вероятностные маршруты), FPD (динамическое прогнозирование). Разработчик с помощью графической оболочки может настраивать любой из семи уровней функционирования: от моделирования кинематики отдельных элементов устройства до программирования интеллектуального решателя проблем |
Modular Controller Architecture | mca2.sourceforge.net/ | Windows, Linux | Среда создания ПО для управления роботами и различным промышленным оборудованием |
Microb | www.robotique.ireq.ca/ mierob/en/index.html | QNX, VxWorks, Windows NT/2000, Solaris, Linux, Irix, SunOS | Созданный Квебекским исследовательским институтом набор классов Си++, упрощающий разработку контроллеров для электромеханических систем |
Player/Stage | soureeforge.net/pro-jects/layerstage/ | POSIX | Клиент-серверная сетевая архитектура управления роботами, предлагающая интерфейсы и модели популярного периферийного оборудования |
VRML 2.0 Robot | wvjw.robotic.dlr.de/STUDENTS/artin.Rohrmeier/robot/robothtml | Браузер | Система телеуправления роботами через Сеть. Функционирует с помощью браузера |
DROS Dave’s Robotic Operating System | dros.org | Unix, Perl | Графическая оболочка для стыковки программно-аппаратных модулей мобильных роботов разных производителей, включающая немало готовых элементов |
Средства программирования и численных расчетов | |||
Octave | www.octave.org | Windows, Linux, Mac OS | Язык высокого уровня, синтаксис которого напоминает MATLAB. Предназначен для численного решения уравнений и нахождения корней линейных и нелинейных систем |
Scilab | scilabsoft.inria.fr | Windows, Linux, Unix | Пакет для научных вычислений, включающий модули симуляции гибридных динамических систем и средства трехмерной визуализации и базирующийся на наработках Фортран-проекта Netlib (www.netlib.org) |
Lisp Universal Shell (LUSH) | lush.sourceforge.net | Windows, Linux, Solaris, IRIX | Объектно-ориентированный язык программирования, предназначенный для инженерных и вычислительных расчетов. Включает средства графического представления результатов и объемную библиотеку, насчитывающую десятки тысяч разнообразных алгоритмов, включая обработку сигналов, машинное обучение и т. д. |
Hybrid Systems Description Language (HYSDEL) | eontrol.ee.ethz.ch/-hybrid/hysdel/ | Windows, Linux, Solaris | Язык описания и моделирования линейных динамических систем на базе автоматной логики, правил и т. д. Создан в Цюрихском федеральном технологическом институте |
Средства моделирования | |||
MatPLC | mat.sourceforge.net | Linux | Графические средства создания и моделирования промышленных систем. Акцент сделан на удобном пользовательском интерфейсе - на сайте проекта можно познакомиться с примером использования MatPLC для управления механической рукой с тремя степенями свободы через Интернет |
MjbWorld | Java, .NET | Программа моделирования трехмерных физических систем | |
Model Transformation Tools | Linux, Solaris | Набор инструментов моделирования динамических систем университета Глазго | |
DynaMechs | Linux, IRIX | Разработанный в университете Огайо пакет моделирования динамических систем с расширенной поддержкой реального времени. Упрощает отладку алгоритмов управления шагающими роботами и другими автономными аппаратами. Использовался, в частности, в проекте организации дистанционного управления подводным роботом | |
Xm | Браузер с поддержкой JavaScript | Система построения виртуальных машин из электрических, механических и логических элементов, позволяющая следить за их функционированием и развитием. Каждый объект модели описывается как XML-документ | |
SimRobot | Windows, Unix | Симулятор кинематики трехмерных роботов, разработанный в университете г. Бремена | |
Open Dynamics Engine (ODE) | Windows, Unix | Платформно-независимая библиотека промышленного качества для моделирования динамики роботов и их частей. Позволяет проектировать движущиеся шагающие роботы и учитывает в этом процессе немало физических факторов | |
Genetic Programming System | uni~dortmund.de/people/sigel/seiten/einleituno_en.html | Linux, Solaris | Универсальная система построения шагающих роботов, разработанная в Дортмундском университете. Содержит эволюционные алгоритмы самообучения, в ходе которого компьютерная модель будущего робота развивается как живое существо и совершенствует устойчивые ходьбу и бег, адаптируясь к заданным условиям функционирования |
Robotics Toolbox tor MATLAB | MATLAB | Библиотека, предлагаемая австралийским Королевским центром передовых технологий (www.cat.csiro.au), расширяет возможности математического пакета MATLAB алгоритмами моделирования низкоуровневой кинематики и определения оптимальных траекторий отдельных элементов манипуляторов, включает средства моделирования, анализа и трехмерной визуализации результатов и позволяет экспериментировать с реальными роботами | |
Пакеты искусственного интеллекта | |||
Machine Learning Library | www.intel.com/research/mrl/pnl/ | Windows, Linux | Модульная библиотека алгоритмов машинного обучения, основанная на байесовых нейронных сетях и позволяющая использовать графические модели для настройки на конкретную предметную область |
GiNaC | www.ginac.de | Linux | Написанная на C++ библиотека манипулирования символическими математическими выражениями. Поддерживает также ряд численных методов. Важная особенность GiNiaC в том, что другие пакеты схожего предназначения предлагают собственные высокоуровневые внутренние языки с ограниченным синтаксисом, а библиотека позволяет разработчику задействовать гибкость C++ |
Pyro Python | cs.brynmawr.edu/BeyondLegos/PyroModules/Introduction/ | Linux, Python | Оболочка реализации алгоритмов искусственного интеллекта для мобильных роботов. Включает набор драйверов и библиотеку алгоритмов нейронной логики, построения карты, организации группового поведения, управления периферийными устройствами и т. д. . |
Machine Vision Toolbox | www.catcsiro.au/cmst/staft/pic/vision-tb.html | MATLAB | Пакет машинного зрения для MATLAB, отличающийся от стандартного пакета Mathwork Image Processing Toolbox большим числом функций |
XML-стандарты | |||
RotaoML | www.roboml.org | XML | XML-приложение для стандартизации задач представления и обмена данными в системах управления роботами. RoboML совместим с типовыми сетевыми протоколами и предлагает единый интерфейс взаимодействия для роботов и компьютерных моделей |
Sensor Modeling Language (SensorML) | vast.nsstc.uah.edu/SensorML/ | XML | Ориентированное на задачи "раскопки" данных XML-приложение, определяющее структуру представления данных, получаемых от всевозможных датчиков. Позволяет учитывать различие в форматах информации, способах представления координат, определять точность измеряемых параметров и т. п. SensorML задает функциональную UML-модель произвольного датчика, не привязанную к конкретному оборудованию. Он поддержан консорциумом открытых геоинформационных систем OpenGIS |
Spacecraft Markup Language (SML) | xml.coverpages.org/spacecraftML.html | XML | XML-приложение для описания функциональной структуры космических кораблей, систем связи и телеметрии, научных приборов и т. д. Позволяет выработать универсальный формат взаимодействия аппаратуры и регистрации бортовых событий |
Примечания
1. Анализу коммерческих решений будет посвящена отдельная статья.
2. Как это уже, в сущности, происходит с фирмой iRobot, в которую вкладывает средства корпорация Acer.
3. Robotics Engineering Task Force (RETF) призван подготовить стандарты на электронные системы управления и навигации и выработать спецификации ПО, обеспечивающие совместимость различного оборудования для небольших мобильных роботов ценой около 100 долл. на базе процессоров XScale.
4. Продукт выпускается только для японского рынка.
5. Все пакеты написаны на Си/С++.
Статья опубликована в PC Week/RE, №18 2004 г.
Статья помещена в музей с разрешения автора 30.10.2009