OpenRTM-аист - OpenRTM-aist
Эта статья может требовать уборка встретиться с Википедией стандарты качества.Февраль 2011 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Разработчики) | Национальный институт передовых промышленных наук и технологий |
---|---|
Стабильный выпуск | 1.2.1 / 25 ноября 2019 г. |
Написано в | C ++, Ява, Python |
Платформа | Windows, Linux, macOS, VxWorks, ТОПЕРЫ (ITRON ), QNX |
Тип | Библиотека |
Лицензия | LGPL |
Интернет сайт | www |
OpenRTM-аист это программная платформа разработан на основе ПО промежуточного слоя RT стандарт.[1] OpenRTM-aist разработан Национальный институт передовых промышленных наук и технологий что также способствует определению стандарта RT-промежуточного программного обеспечения.
Абстрактный
В ПО промежуточного слоя RT, все робототехнические элементы, такие как приводы и датчики, рассматриваются как RT-компоненты (RTC). Каждый RTC предоставляет порты для связи с другими RTC, и разработчики могут реализовать свои собственные системы робототехники (RT) в качестве RTC. Таким образом, промежуточное ПО можно рассматривать как распределенную архитектуру управления.[2]
RT-middleware изначально платформо-независимая модель (ПИМ). Реализации этой модели включают CORBA, Корпоративный JavaBean (EJB) и .NET Framework. OpenRTM-aist основан на технологии CORBA и реализует расширенную спецификацию RTC. Опыт работы с OpenRTM-aist будет возвращен в процесс стандартизации RT-промежуточного программного обеспечения.
Характеристики
OpenRTM-aist реализует некоторые расширенные функции RTC, а также включает компонент Manager, помогающий управлять RTC. RTC в OpenRTM-aist могут быть реализованы с использованием многих языков программирования, а RTC, запрограммированные на разных языках, могут взаимодействовать друг с другом. Многие инструменты для упрощения манипуляций с RTC также выпущены Национальный институт передовых промышленных наук и технологий и их коллег (в строгом смысле, OpenRTM-aist сам по себе является библиотекой и не включает эти инструменты).
RT-компонент
RT-компонент - это функциональная единица, которая соответствует спецификации RT-компонента, определенной в мой Бог. В OpenRTM-aist у RTC есть порты данных, сервисные порты и контекст выполнения, который контролирует состояние RTC.
Государственный аппарат
В стандартах RT-компонент, RTC должен иметь 4 состояния, таких как СОЗДАНО, НЕАКТИВНО, АКТИВНО и ОШИБКА. Когда состояние изменяется, соответствующие обработчики событий вызываются контекстом выполнения, который управляет конечным автоматом RTC.
Например, функция обратного вызова on_activated вызывается, когда RTC активирован (из состояния НЕАКТИВНО в состояние АКТИВНО). В обратном вызове on_activated реализованы коды инициализации.
С другой стороны, функция обратного вызова on_deactivated вызывается, когда RTC деактивирован (из АКТИВНОГО в НЕАКТИВНОЕ состояние). В этом обратном вызове реализованы коды завершения.
"on_execute" периодически вызывается, когда RTC находится в АКТИВНОМ состоянии. Здесь вызываются функции контроля или управления устройством (например, опрос).
Эти обратные вызовы вызываются объектом «контекста выполнения». Если к RTC прикреплен специальный контекст выполнения, вызывающий метод или политика изменяются (см. Раздел «Контекст выполнения»).
Порт данных
Порт данных - это конечная точка для связи с другими RTC. Порты данных имеют свои типы. Порты одного типа можно соединять друг с другом.
В OpenRTM-aist реализованы примитивные типы данных (такие как «TimedLong», «TimedDouble» и т. Д.). Более того, из OpenRTM-aist версии 1.0 дополнительные типы данных, которые, как ожидается, будут широко использоваться в роботизированных системах, были выпущены как ExtendedDataType (например, «TimedVelocity2D», «TimedPose2D» и т. Д.)[3]
Разработчики могут определять свои собственные типы данных, описывая IDL файл. Инструменты могут анализировать файл IDL и автоматически создавать скелет и файл-заглушку исходных типов данных.
Сервисный порт
Служебный порт позволяет общаться гораздо более гибко, чем порты данных. Разработчики должны определить интерфейсы портов службы, сделав их IDL файлы.
Контексты выполнения
Контексты выполнения обрабатывают операции конечного автомата RT-компонентов. В OpenRTM-aist предусмотрено несколько видов контекстов выполнения. Например:
- то периодический контекст выполнения, один из наиболее часто используемых, обеспечивает периодические вызовы обработчика событий "on_execute" (обычно там осуществляется сбор данных с датчиков или управление исполнительным механизмом);
- то в реальном времени контекст выполнения, в котором используется упреждающая функция ядра Linux, поддерживает работу RTC в реальном времени;[4]
- то дополнительный триггер Контекст исполнения - важная характеристика OpenRTM-aist. Он обеспечивает возможность синхронизации с симуляторами динамики, такими как OpenHRP-3.
Конфигурация
Конфигурация - это функция, которая динамически изменяет параметры RTC во время выполнения. Конфигурация может быть числовой и строковой.
Поддерживаемые операционные системы
OpenRTM-aist работает на Windows, Linux и macOS.[5] Более того, VxWorks поддерживается экспериментально.[6]
Поддерживаемые языки программирования
Поскольку OpenRTM-aist основан на CORBA технологии, он поддерживает несколько языков программирования, в том числе:
Инструменты
RTC Builder
RTC Builder - это инструмент для генерации скелетного кода. Он запускается в среде разработки eclipse. OpenRTM-aist также поддерживает RTC-шаблон, который представляет собой инструмент для создания скелетного кода командной строки.
Редактор системы RT
RT System Editor - это инструмент для работы с RTC. Системный редактор RT предоставляет следующие услуги:
- Ссылаясь на состояния RTC
- Подключение портов RTC
- Настройка RTC
- Активировать / деактивировать / сбросить часы реального времени
- Сохранить / восстановить RT-систему
rtshell
rtshell - это инструмент командной строки, который предоставляет следующие услуги:[7]
- Ссылаясь на состояния RTC
- Подключение портов RTC
- Настройка RTC
- Активировать / деактивировать / сбросить часы реального времени
- Восстановить RT-систему
- Вывод журнала DataPorts
- Воспроизвести журнал портов данных
Отладчик RTC
Отладчик RTC - это инструмент для отладки RTC. Отладчик RTC - это подключаемый модуль Eclipse.[8]
Лицензия
OpenRTM-aist находится под лицензией Стандартная общественная лицензия ограниченного применения GNU (LGPL).
Смотрите также
- Робот
- Робототехника с открытым исходным кодом
- ПО промежуточного слоя
- Организация по развитию новой энергетики и промышленных технологий
- Национальный институт передовых промышленных наук и технологий
- Группа управления объектами
- Японская ассоциация роботов
Рекомендации
- ^ Официальный сайт OpenRTM-aist, http://www.openrtm.org
- ^ Спецификация компонентов робототехники версии 1.0, Object Management Group (OMG)
- ^ "Официальный сайт OpenRTM-aist: Руководство по интерфейсу". Получено 23 апреля 2011.
- ^ Национальный институт передовых промышленных наук и технологий, пресс-релиз, Разработка HRP-4, платформы исследований и разработок для рабочих роботов-гуманоидов, http://www.aist.go.jp/aist_e/latest_research/2010/20101108/20101108.html
- ^ Официальный сайт OpenRTM-aist - поддерживаемые платформы,http://www.openrtm.org/openrtm/en/content/supported-platforms-0
- ^ Акихиро Икэзоэ, Хироюки Накамото, Масаюки Нагасэ, «Платформа OpenRT / промежуточное ПО RT для VxWorks», ROBOMEC2010 [на японском языке]
- ^ Официальный сайт OpenRTM-aist: [rtshell http://www.openrtm.org/openrtm/en/content/rtshell-download ]
- ^ Sec Co., LTD., [Отладчик RTC http://www.sec.co.jp/robot/download_tool.html ]