сайт в архиве
    ... переходите на новый сайт компании

Введение в Microsoft Robotic Studio


Введение в Microsoft Robotic Studio

     В июле 2007 года компания Майкрософт выпустила продукт Microsoft Robotic Studio версии 1.5. Для некоммерческого использования продукт распространяется бесплатно.

     Платформа данного продукта реализована на технологии CLR 2.0. Для разработки ПО могут применяться языки Visual C# и Visual Basic, входящие в состав Microsoft Visual Studio или Microsoft Visual Studio Express , а также Microsoft IronPython и сторонние языки, совместимые с архитектурой Microsoft Robotics Studio.

     На данный момент студия состоит из следующих компонентов:
- Runtime (DSS и CCR)
- Visual Programming Language
- Visual Simulation Environment
- Dss Manifest Editor

Runtime (DSS и CCR)

     Вся реализация «мира» процессов, которые представлены как сервисы, осуществляется в Runtime среде. Runtime – это окружение, которое представлено DSS и CCR разработками.

     Decentralized System Services (DSS) – «Система децентрализованных сервисов». Система определена в виде распределенных приложений. А приложения – это композиции слабосвязанных параллельно выполняющихся сервисов.


Схема основных компонентов сервиса в среде Runtime

     Для системы DSS был разработан специальный протокол DSSP, реализующий унифицированную модель. DSSP – это некий гибрид, вобравший в себя технологии REST (Representational State Transfer) и SOAP.

DSSP (Decentralized System Services Protocol) = REST + SOAP

     Concurrency and Coordination Runtime (CCR). Это набор библиотек, целью которых сделать многопоточное программирование более простым процессом. CCR реализовывает параллельное и асинхронное выполнения задач в среде Runtime. При использовании CCR нет необходимости «вручную» управлять потоками, блокировками или семафорами.

     Итак, сервисы – это солдаты на поле Runtime. Вся модель войска – это DSS система. Солдат имеет личный номер (идентификатор). CCR позволяет солдатам выполнять свои функции независимо друг от друга, параллельно и асинхронно. Каждый солдат снабжен устройствами общения (портами), а связь реализована протоколами обмена сообщениями DSSP & HTTP.

Microsoft Visual Programming Language (VPL)

     Visual Programming Language – «язык визуального программирования», это и название языка, и название среды разработки приложений.


Интерфейс программы Visual Programming Language

     Язык представлен в виде блоков и связей. Блоком может быть любой сервис (Рис. 1 - разнообразные датчики касания, расстояния и др.) или базовые операции (Рис. 2 - арифметические действия, объявление переменных и др.). Сам процесс моделирования состоит из создания взаимоотношений сервисов. Язык разработки ориентирован как на профессионалов, так и на новичков в программировании.


Рис.1 - Сервисы


Рис. 2 - Базовые операции

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


Рис. 3 – Импорт манифеста

     Разработчики продукта Microsoft Robotic Studio включили в состав готовые манифесты ведущих платформ робототехники. Большинство этих платформ реализовано и для Visual Simulation Environment, т.е. для запуска приложений в среде программного симулятора.

     Для более продвинутых пользователей, есть программа Microsoft Dss Manifest Editor, которая позволяет самим редактировать манифесты.

     Кроме того, не обязательно использовать инструментарий VPL только для программирования роботов. Лежащую в основе технологию параллельного программирования можно применить в разработках и других приложений.

     В результате, VPL охватывает широкую аудиторию пользователей – студентов, энтузиастов (любителей), а также, возможно, веб-разработчиков и профессиональных программистов.

Visual Simulation Environment

     Для тестирования разработанных программ в VPL был разработан данный «симулятор». Это значит, что Вам необязательно иметь реальную модель робота, чтобы протестировать ваше приложение. Достаточно воспользоваться данной программой.

     Программа симулятор – это некая имитационная визуальная 3D-среда высокого разрешения с интегрированным физическим движком PhysX (ускорителя расчетов физики в играх) от Ageia Technologies. Ускоритель позволяет имитировать реалистичное физическое поведение моделей.

     Благодаря виртуальному миру можно:
- устраивать различные ситуации;
- добавлять предметы-препятствия;
- просматривать результат в разных перспективах;
- запускать несколько моделей роботов одновременно, причем модели могут быть различны;
- сохранять и запускать повторно «сцены мира»;
- управлять визуализацией мира.

     Основные ограничения и недостатки:
- модели являются неполными и неточными представлениями реальных роботов;
- идеализация мира (нет искажения данных).



08.02.2008
Серенко Максим
Simplect™ - Simple intellect




Главная  |  Услуги  |  Опыт работы  |  Проектная кухня  |  Контакты  |  Команда  |  О компании  |  Партнеры  |  Вакансии  |  Новости  |  Статьи  |  Блог
© 2008-2010 Simplect™. Все права защищены