Формирование дизайн-проекта в среде Apartment Environment с помощью Microsoft Robotics Developer Studio
Содержание
Введение
Описание среды Apartment Environment
Описание системы координат
Описание алгоритма перемещения объектов
Заключение
Введение
Пакет Microsoft Robotics Developer Studio (RDS) предназначен для широкого круга пользователей и разрабатывался как средство, упрощающее проектирование и изучение робототехнических систем. Важной частью этого пакета является Визуальная среда моделирования Visual Simulation Environment (VSE). Ряд доступных технологий компьютерных графики для ПК и приставок можно применить для моделирования в робототехнике. В частности, это реалистичная визуализация и физическое моделирование в масштабе реального времени.
Среда VSE спроектирована так, чтобы ее можно было использовать в большом количестве задач моделирования, в которых необходимо обеспечить точность, средства визуализации с возможностью масштабирования отображаемых сцен. В VSE используются технологии физического моделирования AGEIA™ PhysX™ Technologies. Этот постоянно совершенствуемый программный пакет предоставляет возможности, очень полезные для робототехники. Визуализация сцен в среде VSE основана на программном пакете Microsoft XNA Framework.
Среда визуального моделирования VSE обеспечивает моделирование физических объектов и их взаимодействия, в т.ч. ударов, учитывается трение и сила тяжести.
Типичные проблемы разработки робототехнических систем:
Дорогое и редкое аппаратное обеспечение;
Сложность диагностики аппаратного обеспечения;
Проблемы доступа к аппаратуре.
Фактически, применение Среды моделирования можно рассматривать как попытку преобразовать аппаратную задачу в программную. Однако, в разработке программного обеспечения и у физического моделирования есть собственные особенности и ограничения.
Недостатки и ограничения моделирования:
Неполнота и неточность моделей (Большое количество явлений реального мира очень сложно (или неизвестно, как) смоделировать);
Среда моделирования состоит из следующих частей:
Ядро моделирования (Simulation Engine Service) – выполняет операции по визуализации объектов и отсчет времени для ядра физического моделирования. Отслеживает состояние моделируемой сцены и обеспечивает для нее программный интерфейс (доступный в виде программного сервиса, в т.ч. в распределенной среде).
Оболочка физического ядра (Managed Physics Engine Wrapper) – изолирует пользователя от низкоуровневого программного интерфейса физического ядра. Предоставляет более краткий интерфейс к подсистеме физического моделирования.
Библиотека функций физического ядра (Native Physics Engine Library) – позволяет ускорить обработку задач физического моделирования с помощью пакета AGEIA™ PhysX™ Technology.
Объекты (Entities) – представляют аппаратные устройства и физические объекты моделируемой сцены. В RDS включен набор объектов, позволяющих пользователям быстро собирать из них достаточно сложные робототехнические платформы в различных моделируемых обстановках.
В поставку Среды моделирования входят три варианта обстановки:
Обстановка внутри помещения (Apartment Model)
Естественная обстановка (Outdoor Model)
Городская обстановка (Urban Model)
Эти модели обстановок иллюстрируют уровень сложности, достижимый в Среде моделирования.
Обстановка внутри помещения | Естественная обстановка | Городская обстановка |
Рис.1. Примеры обстановок в среде моделирования.
Примеры сцен из Среды моделирования.
Ниже показан внешний вид (слева) и физическая модель (справа) для сцены, содержащей два объекта – робот и стол. Физическая модель, показанная на втором изображении, представляет собой совокупность твердотельных примитивов, приближенно представляющих объект для Среды моделирования.
Робот на основе модульной платформе с дифференциальным приводом, лазерным дальномером и датчиком столкновений. | Физическая модель. |
Рис.2. Примеры сцен из Среды моделирования.
Ниже крупным планом приведен объект, состоящий из нескольких примитивных твердотельных элементов, и физическая модель этого объекта.
Объект из нескольких примитивов. | Физическая модель объекта из нескольких примитивов |
Простая приборная панель для наблюдения данных от моделируемого лазерного дальномера (изображение обстановки приведено в режиме просмотра физической модели).
Рис. 3. Примеры объектов, состоящего из нескольких примитивов.
Ниже показан сложный каркасный объект, построенный по данным из файла, и физическая модель этого объекта в упрощенной форме выпуклого полигонального каркаса.
Каркасный объект, загруженный из файла. | Физическая модель каркасного объекта. |
Рис. 4. Пример сбора сложного каркасного объекта из простых объектов.
Описание среды Apartment Environment
Рис. 5. Стандартный вид среды Apartment Environment.
Для запуска необходимой среды нужно выполнить следующие действия:
Пуск – Все программы - Microsoft Robotics Developer Studio 2008 - Visual Simulation Environment 2008 - Apartment Environment. Обычно эта среды находится первой в списке VSE.
В результате открывается окно VSE и загружается сцена Apartment Environment.
Опишем способы управления камерой. В окне среды, когда процесс моделирования запущен, мышью можно перемещать точку зрения камеры. Сама камера остается неподвижной, смещается точка, на которую направлен луч зрения.
Для перемещения камеры можно пользоваться клавишами:
Клавиша | Действие |
w или Стрелка вверх | смещение камеры вперед |
s или Стрелка вниз | назад |
a или Стрелка влево | влево |
d или Стрелка вправо | вправо |
q | вверх |
e | вниз |
Если одну из перечисленных клавиш нажимать вместе с Shift, то скорость перемещения камеры будет увеличена. Если одновременно с клавишами перемещения камеры пользоваться мышью, то можно выполнять «облет» вокруг объектов сцены.
Опишем панель меню среды:
Рис. 6. Панель меню.
File – вкладка операций с файлом.
Open Scene – открывает и загружает извне новую сцену.
Save Scene As… - сохранить сцену как…
Save Material Changes – сохранить изменения в сцене.
Create Embedded Resources – «захватить вложенные ресурсы».
Capture Image As… - захватить образ.
Exit Simulator – выход из программы RDS.
View – вид.
Playback Bar – вызывает или закрывает Панель Воспроизведения.
Рис. 7. Панель воспроизведения.
Status Bar – вызывает (или закрывает) строку статуса. В этой строке отображается отчет времени, позиция камеры, и др.
Рис. 8. Cтрока статуса.
Profiler – вызывает окно изменения вида Профайлер:
Рис. 9. Окно изменения вида.
Look Along – перемещение камеры по тем осям координат X, Y, Z в сторону как увеличения, так и уменьшения их значений.
Render – режим изображения.
Visual – визуализация вкл/выкл.
Wireframe – посмотреть каркас.
Physics – показать физические свойства.
Combined – одновременное отображение среды и её каркаса.
No Rendering – нет визуализации. При нажатии вместо среды отображается черный экран.
Camera – камера.
MainCamera – главная камера вкл/выкл.
Physics – вкладка физических свойств.
Enabled – физические свойства включены.
Settings… - настройки физических свойств. При нажатии появляется окно, в котором можно:
Сделать камеру «твердой», поставив галочку напротив «Enable rigid body for default camera»;
Задать значение ускорения свободного падения. По умолчанию оно равно 9,81 м/с2;
Задать режимы времени (непрерывное реальное время, или задать дискретные временные интервалы).
Рис. 10. Окно физических настроек.
Mode – режим.
Run – запуск симуляции.
Edit – режим редактирования. При нажатии в левой части экрана отображается окно, в котором:
Отображаются все объекты сцены и их названия;