Microsoft robotics studio: первое знакомство

Microsoft Robotics Studio: первое знакомство

Microsoft robotics studio: первое знакомство

На сайте Microsoft информация о Robotics Studio очень поверхностна, а страничка на русском языке – вообще, изобилует неработоспособными ссылками (на сегодняшний день).
Полезный материал о Robotics Studio – мне удалось найти в виде видеозаписи 9го канала, где Павел Хижняк, один из разработчиков Robotics Studio, по-русски и очень доступно демонстрирует возможности Robotics Studio.

Видеозапись весит 69Мб, и доступна для скачивания на сайте GotDotNet.Ru – очень рекомендую ознакомиться, если, конечно, Ваш интернет-канал позволит это сделать.
Также, существует еще видеозапись + презентация в формате PowerPoint 2007 на сайте Платформа 2008, общим весом 8Мб, правда, информации там гораздо меньше…

В любом случае, надеюсь, не менее полезным будет мой собственный опыт знакомства и работы с Robotics Studio, изложенный ниже.

Обратите внимание

Для начала, проясним, что это вообще такое. Как не трудно догадаться, Microsoft Robotics Studio – это система, специально созданная для разработки программного обеспечения для роботов. Причем, в основном, для «конструкторов» роботов (т.е. заготовок из модулей, которые Вы можете собирать в домашних условиях и перепрограммировать на свой вкус) – таких как iRobot Create, LEGO Mindstorm, и т.д.

Инсталляционный пакет представляет из себя exe-файл, который весит всего 82Мб. Его можно преспокойно скачать с microsoft.com. Процесс установки прошел очень гладко. Замечу, что, желательно, кроме Robotics Studio установить еще .NET 2 и DirectX, иначе система будет работать не в полную силу. В частности, DirectX требуется для симуляционной 3D-среды, которую я подробно опишу позже.

Вообще, разработчики Robotics Studio – молодцы. Они правильно выделили современные проблемы роботостроения и пошли по пути популяризации этого прекрасного направления науки и техники.

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

А раз уж даже Microsoft активно ведет линию робототехники (вспомните еще, например, робота WiMo, о котором я писал в статье «Роботы и КПК»), то и уважаемым читателям рекомендую эту линию не оставлять!

Возвращаясь к нашим баранам: помимо того, что компоненты Robotics Studio прекрасно и автоматически интегрируются в среду разработки Visual Studio, этот продукт содержит два основных модуля, призванных помочь робототехникам-любителям, таким как я, например. Это модули – Visual Programming Language (VPL, визуальный язык программирования) и симуляционная среда.

Язык VPL обеспечивает возможность программирования роботов визуальными методами. Диаграммы VPL кодируются с помощью XML-схем и представляют, на мой взгляд, одну из очень немногих удачных попыток создания полностью визуального языка программирования.

Конечно, базовые навыки алгоритмического мышления все равно потребуются, но зато совсем необязательно знать синтаксис C#, или, например, что такое анонимные делегаты.

Важно

Согласитесь, это очень важный шаг! Ведь многие робототехники – очень посредственные программисты, и облегчить их труд – прекрасная идея.

Второй важный модуль Robotics Studio – симуляционная среда.

Она реализует поистине классную идею, а именно – о том, что для программирования роботов Вам сами роботы, в принципе, и не нужны! Симуляционная среда является графической 3D-моделью, отображающей действия роботов, и объекты, которые роботов окружают.

Например, если в модели присутствует шарик, то Вы можете подогнать робота к шарику и откатить этот шарик куда-нибудь.

Физические моменты настолько глубоко продуманы, что становится возможным даже моделирование переворотов роботов, отрыва роботов от земли, столкновения объектов – все что угодно. Одним из примеров использования симуляционной среды является моделирование ринга сумо-роботов (которые стараются вытолкнуть друг друга за пределы ринга). Эта симуляция поставляется в виде аддона, который можно скачать там же, где и саму Robotics Studio.

Поскольку сам я являюсь профессиональным программистом, мне захотелось проверить, насколько простым будет использование Robotics Studio. Честно сказать, поначалу столкнулся с некоторыми трудностями. Первая диаграмма получилась неверной, из-за неправильного понимания самой концепции VPL. Попробую описать ее для уважаемых читателей, чтобы они не натолкнулись на те же грабли…

VPL описывает в основном некоторые модули робота, и их связи друг с другом. Модулями робота могут быть разнообразные датчики (расстояния, касания, света и т.д.

), веб-камера, устройство GPS-навигации (кстати говоря, производимое компанией Microsoft, что еще раз говорит о серьезности намерений мирового софтверного гиганта в отношении робототехники), моторы и сервоприводы, динамики, светодиоды, различные индикаторы, дисплеи и тому подобные устройства.

Кроме того, модулями в Robotic Studio могут выступать специальные диалоговые окошки, например, для ручного дистанционного управления роботом.

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

Совет

Наиболее часто основанием для создания связи служит «нотификация» (оповещение о событии) в каком-либо из модулей датчиков.

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

Здесь, кстати, возникает естественный вопрос: «Если связей и модулей много, то как же все это поместится на диаграмме?» Microsoft с легкостью решила этот вопрос, введя понятия Activity, так сказать составного действия, а проще – блока.

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

Идея простая и логичная.

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

Идея состоит в том, что одна и та же программа, в принципе, может выполняться на различных роботах, несмотря на то, что на низком уровне управление реализуется неодинаково.

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

Тем же самым образом – с помощью специальных «Simulation»-манифестов – реализуется перенос программы в среду симуляции. Несколько манифестов – для наиболее популярных существующих конструкторов роботов – присутствует в базовой поставке Robotic Studio. Также есть все возможности для создания собственных манифестов.

Обратите внимание

Перейдем, наконец, к примерам. В качестве задачи я выбрал создание простейшего робота, способного объезжать препятствия. У этого робота – два датчика касания, и два мотора: мотор поворота и мотор движения. Этого же самого робота я описывал в своей статье о RoboML.

Давайте попробуем запрограммировать такого робота с помощью Microsoft Robotics Studio, и запустить его симуляцию в какой-нибудь подходящей симуляционной среде.

Открываем среду VPL, видим слева список модулей робота. Добавляем на диаграмму два модуля GenericMotor, один модуль GenericContactSensors и один модуль Timer – он потребуется для реализации отъезда назад на небольшое расстояние при объезде препятствий.

Теперь нам нужно определиться, что будет происходить при смене показаний датчиков. Для этого добавляем модуль условия (if-then-else) на диаграмму, и создаем нотификацию на Replace от датчиков касания. Нотификация (оповещение о событии) создается очень просто.

На любом модуле в диаграмме есть квадратики слева, и кружочек с квадратиком – справа. Это своеобразные входы и выходы данного модуля (выход для события обозначается кружочком). Если перетащить выход одного модуля ко входу другого, между ними образуется связь.

Уточню еще один неочевидный момент – содержимое блока if-then-else. Здесь Вам очень помогут раскрывающиеся списки с подсказками, которые появляются при попытке набрать что-либо в поле условия. У меня условий было два, и записывались они так: Sensors[0].

Pressed и Sensors[1].Pressed. Иными словами, сработал ли первый датчик (левый), или второй (правый).

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

Важно

В остальном, сложного ничего нет. Те, кто знаком хоть немного с алгоритмизацией, очень быстро смогут реализовать логику нашего простого робота, который просто объезжает препятствия.

Итоговый вид диаграммы:

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

Но зато, я бросил взгляд на «внутренности» получившейся диаграммы. Это, конечно же, XML-файл. Было очень интересно сравнить практический и работающий XML для описания роботов от Microsoft – с теоретическим и не имеющим практических реализаций RoboML.
Представляю фрагмент XML-кода от Microsoft:

link program.activity.Start.__use__0.snippet.snippet.join.TargetPower.sink program.activity.Start.__use__0.snippet.snippet.expr.source link0 program.activity.Start.__use__0.snippet.snippet.expr.sink program.activity.Start.__use__0.snippet.snippet.noop.source

Здесь представлено всего лишь описание двух связей…

Мусора, конечно, гораздо больше, чем в RoboML. Но в практических реализациях – без этого никуда. Судите сами, компиляторы, какими бы они ни были оптимизирующими, генерируют неоптимальный код. На ассемблере я бы написал намного более практичное со всех точек зрения решение для практически любой задачи. Но на ассемблере писать долго – а на языке программирования высокого уровня – быстро.

Анализируя XML, я понял, что сравнивать RoboML и Microsoft Robotics Studio XML сложно, поскольку они описывают, в принципе, одно и то же – но с разных сторон. XML от Microsoft гораздо более практичен, приближен к деталям, к реализации.

И весьма ограничен – вся диаграмма записывается в виде заранее жестко предопределенных блоков (их можно создавать самостоятельно, но исключительно).

В то же время, RoboML – абстрактен, даже роботов он описывает не алгоритмическими конструкциями (например if-then-else), а математическим языком.

Подводя итог первого знакомства с Robotics Studio, признаю, что мне, честно сказать, идея Microsoft очень сильно импонирует. Давно пора было создать специализированную среду разработки для роботов, надеюсь, это упростит задачу многим любителям робототехники в воплощении их проектов.

Продолжение следует…

робототехника программное обеспечение

Программируем в Microsoft Robotics Developer Studio 4, реальные и виртуальные роботы, часть 1

Microsoft robotics studio: первое знакомство

Здравствуйте, глубокоуважаемые хабрачане! В своих постах я хочу вас познакомить с продуктом корпорации Microsoft — Robotics Developer Studio 4 (далее MRDS 4), расскажу как запрограммировать робота реального и виртуального.

Двигаться мы будем от простого к сложному. В качестве испытуемых роботов будем использовать набор LEGO Mindstorms NXT 2.0 (наиболее удачный, на мой взгляд, вариант) и микроконтроллер Basic Stamp (наименее удачный вариант).

И так, приступим!

Краткий обзор платформы Microsoft Robotics Developer Studio 4

В 2006 году Microsoft объявила о создании платформы Microsoft Robotics Developer Studio (MRDS). MRDS – это Windows – ориентированная среда разработки приложений для робототехники и симуляции. В настоящее время актуальной является версия Microsoft Robotics Developer Studio 4.

Среди особенностей: язык визуального программирования VPL, Web – и Windows – ориентированные интерфейсы, среда симуляции VSE, упрощенный доступ к датчикам, микроконтроллеру и исполнительным механизмам робота, поддержка языка программирования C#, библиотеки для многопоточного программирования и распределенного выполнения приложений CCR и DSS, поддержка многих робототехнических платформ (Eddie, Boe — Bot, CoroBot, iRobot, LEGO NXT и т.д.).

Краткий обзор набора NXT

Комплект NXT состоит из управляющего блока, четырех датчиков и трех сервоприводов.
Управляющий блок содержит в себе:

  • 32-битный микроконтроллер ARM7 с 256 КБайт FLASH памяти и 64 КБайт RAM памяти
  • 8-битный микроконтроллер ARM c 4 Кбайт FLASH памяти и 512 Байт RAM памяти
  • Радиомодуль Bluetooth V 2.0
  • USB-порт
  • 3 разъема для подключения сервоприводов
  • 4 разъема для подключения датчиков
  • LCD дисплей разрешением 100×64 пикселей
  • Динамик
  • Разъем для 6 батареек типа AA

Датчики:

  • Ультразвуковой сенсор
  • Два тактильных датчика (Датчики касания)
  • Датчик опредения цвета

Микрокомпьютер NXT с подключенными датчиками и приводами

И конечно же в наборе находятся разнообразные детали (блоки, кубики) из которых будут собраны исполнительные механизмы и несущая конструкция. В наших начинаниях мы будем использовать модель робота TriBot, т.к.

его виртуальная копия имеется в симуляторе MRDS. Инструкцию по сборке данного робота можно найти на сайте фирмы Lego mindstorms.lego.com. Так же нам понадобиться Bluetooth-модуль на компьютере для подключения NXT.

Модель TriBot

Пишем приложение для робота

Напишем простое приложение для движения по прямой определенной длинны, проверим работоспособность приложения на виртуальной модели робота, а затем на реальной. Запускаем визуальный язык программирования VPL. Слева из окна Basic Activities добавим три блока Data и блок Join.

Ниже Basic Activities находится окно Services из него добавим сервисы Simple Dialog (сервис который выводит окно с кнопками) и Generic Differential Drive (сервис привода). Далее необходимо соединить блоки в диаграмму.

В одном блоке данных Data введем Start и выберем тип данных (стрелочка на иконке блока) string, соединим блок данных с сервисом Simple Dialog (мышью протягиваем от стрелки Outgoing Response блока данных к стрелке Incoming Request сервиса).

Совет

После соединения появиться окно в котором надо указать какой тип окна нам нужен, а нужен нам Alert Dialog (небольшое окно с одной кнопкой) жмем OK, в следующем окне необходимо определить специфику данных которые будут передаваться в сервис, выбираем из выпадающего списка Value. У нас осталось еще два блока данных, в одном пишем 0.

7 (разделитель именно точка, а не запятая), этот блок будет отвечать за мощность приводов (можно указать число от 0 до 1.0, эти значения будут указывать мощность привода в процентах т.е. 0% и 100% соответственно), выберем тип данных Double.

В другом блоке указываем любое положительное число (этот блок отвечает за пройденную дистанцию), это длина прямой в метрах (не забываем про типы данных). Соединим сервис Simple Dialog с блоками Data, блоки Data в свою очередь с блоком Join.

Блок Join (объединить) объединяет блоки Data и именует их, для этого впишем в поля блока Join, те названия которые хотим дать блокам данных (например DriveDistance и DrivePower ). Далее нужно задать манифест для сервиса Generic Differential Drive, в нашем случае манифест будет определять какую виртуальную модель робота мы хотим использовать.

Выделяем сервис, в левом окне Configuration выбираем Use a manifest, жмем кнопку Import и выбираем LEGO.NXT.Tribot.Simulation.Manifest. Соединим блок Join с сервисом привода, в появившемся окне выбираем DriveDistance, в следующем окне для Power выбираем DrivePower, для Distance соответственно DriveDistance, для поля DriveDistanceStage можно выбрать null. Жмем ОК, программа для виртуального робота готова, запустим и посмотрим, что получилось. Нажимаем F5 или зеленую стрелку вверху на панели, ждем пока запуститься симулятор и появиться окно с кнопкой. Жмем кнопку ОК и лицезреем.

Готовая диаграмма для виртуального робота

Виртуальный симулятор и диалоговое окно

Проверим как наше приложение будет управлять реальным роботом. Предварительно выполним соединение модуля NXT с компьютером через Bluetooth, как это сделать вы найдете в руководстве пользователя. Внесем в диаграмму изменения.
Добавим сервис LegoNXTBrick, выделим его и в правом окне выберем Set initial configuration, в списке Settings указываем следующие параметры:

  • SerialPort — указываем номер порта который определил компьютер при соединение, это можно проверить в панели управления в настройках Bluetooth
  • BaudeRate — частота передачи данных, можно ввести 9600
  • ConnectionType — указываем Bluetooth

Данный сервис не надо соединять с другими блоками, он будет отвечать за соединение с микрокомпьютером NXT. Добавим сервис LegoNXTDrive, выделим его и в разделе Set initial configuration укажем следующие параметры:

  • Partners — выбираем LegoNXTBrick
  • RightWheel — в разделе Port выбираем тот порт к которому подключен правый привод
  • LeftWheel — в разделе Port выбираем тот порт к которому подключен левый привод

Данный сервис отвечает за взаимодействие с приводами робота. Соединим блок Join с данным сервисом, в появившемся окне выбираем DriveDistance(Generic Differential Drive), в следующем окне делаем по аналогии с предыдущим сервисом (GenericDifferentialDrive).

Диаграмма для реального робота

После запуска измененной программы, наш реальный робот проедет ровно 1 метр с мощностью приводов 70%.

На мой взгляд данная аппаратно-программная платформа (NXT + MRDS 4) неплохо подходит для высокоуровневого программирования, не вникая в особенности аппаратной составляющей робота, а библиотеки сервисов (которые можно значительно расширить), позволят написать достаточно гибкий интерфейс пользователя, который превратит ваш ПК в центр управления роботом.

Microsoft Robotics Developer Studio

Microsoft robotics studio: первое знакомство

Программное обеспечение, предназначенное для разработки приложений в области робототехники, симуляции и управления роботами.

Microsoft Robotics Developer Studio (в дальнейшем MRDS) ориентирована на программистов различных уровней и включает в себя поддержку огромного количества аппаратного обеспечения. Пакет совместим со следующими робототехническими платформами: Aldebaran Robotics, iRobot Create, Mindstorms NXT, CoroWare CoroBot, KUKA Robotics, Boe-Bot, Parallax Scribbler, Kondo KHR-1 и некоторыми другими.

Данную среду можно рассматривать в виде четырех взаимосвязанных компонентов:

  • Visual Programming Language. Язык визуального программирования, созданный Microsoft специально для MRDS. Программы на VPL выглядят в виде диаграмм, в которых все элементы связаны между собой и каждый из них обладает своей функциональностью. Язык рассчитан на начинающих программистов, требует базовых знаний о переменных и принципах алгоритмизации.
  • Concurrency and Coordination Runtime. Библиотека для работы с асинхронными и параллельными потоками данных, опирающаяся на .NET Framework. С ее помощью упрощается создание кода для масштабирования и паралельного исполнения на многоядерных процессорах последнего поколения, что позволяет, например, роботам правильно реагировать на данные одновременно поступающие от множества датчиков. Библиотека получила широкое распространение в сторонних проектах, существенно упрощая разработку многопоточных приложений. В качестве примера – ресурс mySpace.com, использующий CCR в серверной части сайта.
  • Decentralized Software Services. Основанная на CCR облегченная среда для разработки распределенных приложений, предусматривающая управление различными сервисами, корректирующими поведение роботов в целом.
  • Visual Simulation Environment. Среда визуализации, имитирующая поведение роботов в трехмерном виртуальном мире. Позволяет экспериментировать с разными моделями, тестировать и отлаживать алгоритмы в том случае, если нет возможности использовать настоящего робота. Для создания реалистичности применяется технология NVIDIA PhysX.

Среди прочих особенностей платформы MRDS необходимо отметить поддержку языков программирования C#, JScript, Visual Basic .NET и IronPython; упрощенный механизм доступа к микроконтроллеру, датчикам и исполнительным устройствам робота; модульность при подключении новых сервисов.

Как следует из названия, среда MRDS является продуктом компании Microsoft. Штаб-квартира этой транснациональной корпорации по производству программного обеспечения расположена в городе Редмонд (США, штат Вашигтон).

О желании заняться сферой робототехники Microsoft объявила летом 2006, а уже в декабре этого года увидела свет первая версия Microsoft Robotics Studio.

Обратите внимание

К моменту анонса около 30 компаний – известные поставщиков в области робототехники – имели свои изделия, реализованные на основе инструментария Microsoft. С тех пор регулярно выходят новые версии данной платформы.

Microsoft тесно сотрудничает с ведущими исследовательскими институтами в этом направлении. Основные изменения направлены на упрощение процесса разработки и улучшение производительности, совершенствования инструментов программирования и средств обеспечения безопасности.

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

В комплект также добавлен ряд сторонних приложений, например, симулятор лабиринта Maze Simulator и симулятор футбола Soccer Simulation. Модули CCR и DSS распространяются в отдельном виде для свободного использования в коммерческих приложениях.

Данный комплект носит название «CCR and DSS Toolkit».

Среда MRDS и весь пакет документации к ней представлены на английском языке. Русификатора нет.

Пакет Robotics Developer Studio – Windows-ориентированный. Поддерживаются операционные системы: XP, Vista, Server 2003, CE и 7.

Распространение программы: бесплатная.

Официальный сайт Microsoft Robotics Developer Studio: http://www.microsoft.com/

Скачать Microsoft Robotics Developer Studio

Обсуждение программы на форуме

Microsoft Robotics Developer Studio

Microsoft robotics studio: первое знакомство

скачать

Реферат на тему:

План:

    Введение
  • 1 Компоненты
  • 2 Инструменты
  • 3 Недостатки
  • 4 Наиболее значимые приложения
  • 5 Версии и лицензирование
  • 6 Поддерживаемые роботы
  • Примечания

Microsoft Robotics Developer Studio (Microsoft RDS, MRDS) – Windows-ориентированная среда для управления роботами и их симуляции. Данный продукт предназначен для академической, любительской или коммерческой разработки и поддерживает большое количество разнообразного аппаратного обеспечения роботов.

RDS основана на библиотеке CCR (Concurrency and Coordination Runtime), .

NET-реализации библиотеки для работы с параллельными и асинхронными потоками данных, используя обмен сообщениями, и DSS (Decentralized Software Services) – облегченное средство создания распределенных приложений на основе сервисов, которое предусматривает управление множеством сервисов для корректировки поведения в целом.

Среди особенностей:

  • язык визуального программирования Microsoft Visual Programming Language для создания и отладки программных приложений для роботов
  • веб-ориентированные и windows-ориентированные интерфейсы
  • симуляция 3D (включая аппаратное ускорение)
  • упрощенный доступ к датчикам и исполнительным механизмам робота
  • поддержку нескольких языков, включая C#, Visual Basic .NET, JScript и IronPython

Microsoft Robotics Developer Studio поддерживает модульность для добавления новых сервисов в комплект. В настоящее время доступны:

  • Soccer Simulation (Симуляция футбола)
  • Sumo Competition (Соревнование по сумо) от Microsoft
  • разработанный сообществом Maze Simulator (Симулятор лабиринта) – программа для создания миров и стен, которые могут исследовать при помощи виртуального робота.

1. Компоненты

RDS состоит из 4-х основных компонентов:

  • CCR (Concurrency and Coordination Runtime)
  • DSS (Decentralized Software Services)
  • VPL (Visual Programming Language)
  • VSE (Visual Simulation Environment)

CCR и DSS также доступны в отдельном виде для применения в коммерческих приложениях, требующих высокого уровня параллелизма и/или возможности взаимодействия между множеством узлов в сети. Данный пакет называется CCR and DSS Toolkit (CCR и DSS инструментарий).

2. Инструменты

Симуляция робота и окружения в MRDS

Инструменты, позволяющие разрабатывать MRDS-приложения, включают в себя графическую среду (Microsoft Visual Programming Language : VPL); утилиты командной строки, позволяющие взаимодействовать с проектами Visual Studio (версии VS Express вполне достаточно) на языках C#, C++ или VB.NET; поддержку скриптовых языков, как например, IronPython; и инструменты симуляции 3D.

  • Visual Programming Language – графическая среда разработки, использующая каталог сервисов и действий.
    • Они могут быть связаны графическим способом: сервис или действие представляются в виде блока, у которого есть ввод и вывод, и его нужно лишь перетащить из каталога на диаграмму.
    • Связывание можно сделать при помощи мыши, это позволяет вам определить, являются ли сигналы синхронными или нет, позволяет вам выполнять операции, связанные с передачей значений и пр.
    • VPL также позволяет вам генерировать код новых “макро”-сервисов на основе диаграмм, созданных пользователями.
    • В VPL возможна простая настройка сервисов для различных аппаратных элементов.
  • Среда симуляции 3D в MRDS позволяет вам симулировать поведение роботов в виртуальном мире, используя технологию NVIDIA PhysX (3D-движок который первоначально был написан компанией Ageia), что позволяет использовать продвинутую физическую модель.
  • Множество примеров и руководств, доступных для различных инструментов, ускоряющих понимание и усваивание MRDS. В комплект добавлено несколько приложений, среди них, например, упоминавшиеся выше Maze Simulator или Soccer Simulation, разработанные корпорацией Microsoft.
  • Также в стандартном и академическом изданиях MRDS присутствуют 3 небольшие симуляционные среды, которые являются ограниченными версиями более крупных обобщенных симуляционных сред, разработанных компанией SimplySim
    • Комната (также доступна в экспресс-издании)
    • Открытая местность
    • Город

3. Недостатки

  • Нет учета и поддержки реальной среды эксплуатации робота (тип поверхности его перемещения, погодные условия и пр.

    )

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

  • Несмотря на использование PhysX, физика в MRDS является сильно упрощенной.

4. Наиболее значимые приложения

  • Автономная машина Принстонского университета, созданная в рамках программы DARPA Urban Grand Challenge, была полностью запрограммирована в MRDS.[1]
  • MySpace использует MRDS для разработки приложений (не предназначенных для роботов), используемых в серверной (back end) части их сайта.

    [2]

  • Университет Индианы использует MRDS для разработки приложений (не предназначенных для роботов), применяемых для координации сети высокозатратных вычислений.[2]
  • В 2008 году Microsoft запустила соревнование по симуляции робототехники под названием RoboChamps, используеющее MRDS, по четырем категориям: универсальная, сумо, город, марсоход.

    Симулированная среда и роботы, задействованные в соревновании, были созданы компанией SimplySim, а само соревнование было спонсировано Kia Motors

  • В категории робототехники и алгоритмизации соревнования по программному обеспечению Imagine Cup в 2009 году использовалась среда визуальной симуляции MRDS.

    Задачи данного соревнования были также разработаны компанией SimplySim и по сути являлись улучшенными версиями задач RoboChamps.

5. Версии и лицензирование

  • Robotics Studio 1.0 (Лицензии на коммерческое и некоммерческое использование)
  • Robotics Studio 1.5 (Лицензии на коммерческое и некоммерческое использование)
  • Robotics Studio 1.

    5 'Обновленная' (Лицензии на коммерческое и некоммерческое использование)

  • Robotics Developer Studio 2008 Standard Edition (Коммерческое использование), Academic Edition (Академическое использование) и Express Edition (Лицензии на коммерческое и некоммерческое использование) (Примечание: Express Edition не имеет режима правки в симуляции, редактор шаблонов поверхностей также имеет ограничения, присутствует ограничение до 64 сущностей, нет поддержки моделей COLLADA).
  • Обновление до 2008 R2
  • Обновление до 2008 R3 — Дата релиза: 20 мая 2010. Вместе с выходом этой версии Robotics Developer Studio стала бесплатной, функциональность всех версий различных лицензий собрана в одно целое. [3]

6. Поддерживаемые роботы

Файл:Ms studio create.png

Робот iRobot Create в среде визуальной симуляции Microsoft Robotic Studio

  • Aldebaran Robotics Nao Официальный веб-сайт
  • CoroWare CoroBot Официальный веб-сайт
  • Lego Mindstorms NXT Официальный веб-сайт
  • Lego Mindstorms RCX (Поддержка прекращена в последней версии)
  • iRobot Create
  • KUKA Robotics Образовательный портал
  • Parallax Boe-Bot
  • Robosoft's robots Официальный веб-сайт
  • Parallax Scribbler. Через IPRE.
  • fischertechnik FT16
  • Kondo KHR-1
  • Segway RMP: Ben Axelrod
  • RoboticsConnection Traxster. Ссылка
  • RoombaDevTools от RoboDynamics
  • WowWee RoboSapien через устройство USB-UIRT
  • ZMP INC. e-nuvo WALK Официальный веб-сайт

Примечания

  • Princeton Autonomous Vehicle Engineering – pave.princeton.edu/main/urban-challenge/msrs/
  • 1 2 SDTimes On The Web, Microsoft's shift to parallel computing, By David Worthington, August 1, 2008 – www.sdtimes.

    com/MICROSOFT_S_SHIFT_TO_PARALLEL_COMPUTING/About_CLOUDCOMPUTING_and_MULTICORE_and_MICROSOFT/32651

  • Microsoft Announces Robotics Developer Studio 2008 R3: Microsoft Robotics Blog – blogs.msdn.com/msroboticsstudio/archive/2010/05/20/microsoft-announces-robotics-developer-studio-2008-r3.

    aspx

  • en:Player Project
  • скачать
    Данный реферат составлен на основе статьи из русской Википедии. Синхронизация выполнена 15.07.

    11 06:35:42
    Похожие рефераты: Borland Developer Studio, Microsoft Developer Network, Microsoft Expression Studio, Microsoft Visual Studio, Microsoft Visual Studio Debugger, Microsoft Visual Studio Express, US Robotics, FIRST Robotics Competition, FANUC Robotics.

    Категории: Интегрированные среды разработки, Инструменты для робототехники, Инструменты разработки от Microsoft (страница отсутствует).

    Оцените статью
    Просто о технологиях
    Добавить комментарии

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: