Создание объемной рабочей среды для мобильного робота посредствам Microsoft Robotic Studio
Моделирование виртуальной рабочей среды мобильного робота. Изучение функций и свойств программной среды Microsoft Robotic Studio. Создание системы Ч-М-С и программы управления мобильным роботом. Определение параметров вредных производственных факторов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 20.08.2017 |
Размер файла | 6,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Работа с событиями изменения состояния сервиса -- отделение состояния и его структурированность дают возможность сообщать об изменениях тем, кому это важно. В DSS есть модель, позволяющая отправлять и получать уведомления об этих событиях, а также подписываться на них.
Поддержка Web UI -- анализировать и отлаживать распределенные приложения достаточно сложно. Структурированные данные в состоянии сервиса можно сериализовать с помощью XML и просматривать с помощью любого браузера. При помощи XSLT можно поверх XML данных создать простой пользовательский интерфейс.
Чтобы реализовать все описанные выше возможности, были частично использованы два существующих подхода к работе с сервисами: REST и Web Services.
REST (Representational State Transfer) -- этот термин обозначает абстрагированную и формализованную Web-архитектуру и был предложен Роем Филдингом в 2000 г. REST построена на идее Тима Бернерс-Ли «URI ссылается на ресурс, и все взаимодействия с этим ресурсом происходят путем обмена состояниями». Важно отметить, что REST -- это подход к созданию приложений; на текущий момент он успешно реализован в World Wide Web.
Про Web Services говорят уже давно и много. В основе Web-сервисов лежит протокол SOAP, который как раз и позволяет работать со структурированными данными и событиями.
Какой-то один из подходов, REST или Web-Services, не позволяет реализовать в платформе робототехники все задуманные возможности. Поэтому была выбрана унифицированная модель, в основу которой лег протокол Decentralized System Services Protocol (DSSP), в свою очередь базирующийся на SOAP. Реализация DSSP в Microsoft Robotics Studio предназначена специально для работы с сервисами [7].
2.2 Моделирование пространства и объектов рабочей области с помощью визуальной среды Visual Simulation Environment
Visual Simulation Environment включает в себя две программы: графический и физический движок.
Графический движок - основной задачей этой программы является визуализация (рендеринг) двухмерной или трехмерной компьютерной графики. Графический движок работает в режиме реального времени.
Физический движок - производит симуляцию физических законов реального мира в виртуальном мире с той или иной степенью точности.
Физический движок позволяет создать виртуальное пространство, в которое можно добавить виртуальные статические и динамические объекты и указать законы взаимодействия тел и среды. Расчет взаимодействия тел выполняется самим движком. Рассчитывая взаимодействие тел между собой и средой, физический движок приближает физическую модель получаемой системы к реальной, передавая уточненные геометрические данные графическому движку. В состав MRDS входит физический движок AGEIA PhysX Engine.
Объекты в симуляторе могут создавать иерархию, реализуя отношение предок/потомок. Например, манипулятор и сенсор являются дочерними объектами робота.
После запуска симулятора в нем отображается мир с позиции главной камеры, которая соответствует позиции глаза. Для управления камерой используются следующие клавиши клавиатуры:
W - движение вперед;
S - движение назад;
A - передвижение влево;
D - передвижение вправо;
Q - перемещение вверх;
E - перемещение вниз.
Можно использовать сочетания этих клавиш. Удерживая нажатой клавишу Shift одновременно с одной из клавиш управления камерой, вы ускорите движение камеры в 10 раз.
Доступны следующие команды (клавиши) управления симулятором:
F2 - изменяет режим рендеринга;
F3 - включает/выключает физический движок;
F5 - переключение между режимами Run и Edit;
F8 - переключение активной камеры.
Симулятор может работать в следующих двух режимах.
Edit - в данном режиме возможно изменение сцены, параметров объектов, находящихся на сцене, добавление новых объектов в сцену;
Run - в данном режиме запускается процесс симуляции;
симулятор поддерживает следующие режимы отображения сцены;
Visual - полностью отображаются все объекты сцены;
WireFrame - отображаются только линии треугольников, из которых построены объекты сцены;
Physics - отображаются фигуры, из которых построены объекты и с которыми работает физический движок. Сложные объекты иногда представляются в виде простых объектов, таких как кубы и сферы. Если некоторые объекты не сталкиваются или передвигаются случайным образом, нужно переключиться в указанный режим и проанализировать фигуры, составляющие объекты;
Combined - объединяет режимы Visual и Physics (рис. 2.1).
Рисунок 2.1 - Режим Combined
Параллелепипед, размещенный внутри объекта, показывает центр масс. Если цвет параллелепипеда красный, то объект управляется вручную (т. е. является кинематическим), если - белый, то объект управляется физическим симулятором.
Настройки графического движка открываются после выбора пункта главного меню Render -> Graphics Settings. Рассмотрим параметры движка.
Exposure - определяет значение экспозиции камеры. Увеличение значения экспозиции приводит к увеличению яркости сцены;
Anti-aliasing - устанавливает значение сглаживания границ объектов;
Rotation and Translation Movement Scale - используется для управления чувствительностью мыши и клавиатуры. С помощью указанных параметров можно настроить управление камерой мышью и клавиатурой так, что движение мыши в несколько миллиметров будет приводить к перемещению вдоль всего экрана;
Quality level - выбор используемой версии шейдеров. Версия, которая поддерживается графической картой, отмечена как Recommend.
Время симуляции делится на дискретные промежутки, называемые фреймами. В каждом фрейме симулятор получает результаты обработки предыдущего фрейма из физического движка. Затем выполняется обновление каждого объекта сцены. После этого сцена отображается для каждой камеры, находящейся на сцене. В заключении сцена отображается для главной камеры, и физический движок переходит к обработке следующего фрейма.
Настройки физического движка открываются после выбора пункта главного меню PhysicsSettings. Рассмотрим параметры движка:
Enable rigid body for default camera - позволяет связать с камерой физическое тело, имеющее форму сферы. В результате камера сможет взаимодействовать с объектами сцены (например, сталкиваться с ними). После установки данной опции камера будет отображаться в виде белого круга в центре экрана;
Gravity - значение гравитации, действующей в симуляторе; определяется как сила, действующая вдоль оси Y. Данное значение является отрицательным, так как ось Y направлена в направлении, противоположном действия гравитации. Значение гравитации указывается в метрах в секунду;
Time Base Run-time Settings - определяет отношение времени симулятора к реальному времени. Для повышения точности при перемещении робота необходимо уменьшить отношение времени симулятора к реальному времени. Для замедления времени в 10 раз в поле Real time Scale нужно установить значение 0.1;
Можно повысить точность симуляции, отведя на фрейм небольшой интервал времени, допустим, 60 микросекунд (0.00006) и отключив визуализацию. Рендеринг можно запускать периодически для просмотра сцены. Виртуальный мир может включать следующие объекты:
динамические - находятся под контролем физического движка, после их создания их позиция и движение определяются только гравитацией и взаимодействием с другими объектами;
кинематические - могут взаимодействовать с другими объектами, но их расположение определяется вручную. Допустим, в сцене можно разместить доску, висящую в воздухе. Если она была бы динамической, то упала на землю. Позицию кинематических объектов другие объекты изменить не могут;
статические - в процессе симуляции не изменяют свою позицию и состоят из фигур с нулевой массой. Они могут взаимодействовать с другими объектами, но не могут изменять свое положение.
Сцена, находящаяся в симуляторе, может быть сохранена в XML-файл и затем загружена. При загрузке сцены все объекты получают то же местоположение и скорость, которые они имели при сохранении сцены. Для сохранения сцены используется пункт меню File ^ Save Scene, для загрузки - File ^ Load Scene.
При сохранении сцены записываются два файла: первый содержит состояние сцены и имеет расширение .xml, второй содержит манифест для сцены и заканчивается на .manifest.xml.
Редактор симулятора открывается при выборе пункта Mode ^ Edit главного меню окна. После запуска редактора окно будет содержать отображение сцены, список объектов сцены и свойства выделенного объекта (рис. 2.2)
Рисунок 2.2 - Симулятор в режиме Edit
Объект можно отметить на сцене, если выделить его в списке объектов и нажать клавишу Ctrl. Если после выполнения данной операции камера не показывает объект, то можно использовать сочетания клавиш Ctrl, Shift и клавиш управления курсором для просмотра различных видов объекта:
Ctrl + клавиша вверх: вид сверху;
Ctrl + Shift + клавиша вверх: вид снизу;
Ctrl + клавиша влево: вид справа;
Ctrl + Shift + клавиша влево: вид слева;
Ctrl + клавиша вправо: вид спереди;
Ctrl + Shift + клавиша вправо: вид сзади.
Для перемещения выбранного объекта по сцене нужно выбрать направление движения в меню редактирования свойств (Move XYZ, Move XZ, Move X, Move Y, Move Z) и при нажатой левой кнопке мыши переместить курсор в нужном направлении. Также возможно указать точные координаты расположения объекта в том же меню. Подобным образом выполняется вращение объекта вдоль каждой из осей (рис. 2.3).
Рисунок 2.3 - Меню управления объектом
Редактор предоставляет возможность загрузки, сохранения и добавления новых объектов. К объектам также можно применять операции вставки, копирования и удаления.
Физический движок корректирует перекрытие динамических объектов (в реальном мире невозможное). Добавьте в сцену несколько объектов с одинаковыми координатами и нажмите клавишу F3. В результате объекты будут размещены по свободному пространству сцены без перекрытия.
При вставке объекта в сцену можно указать предка для данного объекта, которым может быть один из объектов сцены. В результате симулятор будет рассматривать эти два объекта как единое целое.
Объект может обладать такими свойствами:
Position, Rotation - определяют позицию и угол наклона объекта к каждой из осей координат;
MeshScale/MeshTranslation/MeshRotation - позволяют упростить подгонку формы (сетки) объекта к самому объекту. Это связано с тем, что разные средства создания трехмерных объектов могут использовать разные направления осей и масштаб;
Meshes - отображает информацию о сетках, загруженных для объекта. Сетка может быть создана из фигур, которые составляют объект, или загружена из .obj-файла. Также данное свойство позволяет изменять цвет, яркость и другие параметры объекта. Если были изменены параметры материала, их можно сохранить, используя пункт меню File -> Save Material Changes.
Свойства, определяющие освещенность объекта:
Ambient - определяет, как объект отражает свет, поступающий из окружающей среды, т. е. свет, отраженный от поверхности других объектов;
Diffuse - определяет, как свет будет отражаться от объекта, если он будет освещен рассеянным светом. Данная величина определяет максимальное значение света, которое будет отражено частью объекта, повернутой к источнику света. Если некоторая часть объекта размещена перпендикулярно источнику света, то она ничего отражать не будет. Диффузный свет позволяет видеть объекты трехмерными;
Specular - определяет, как много света будет отражаться от объекта при его освещении отраженным светом, обычно используемым для создания эффекта освещения солнцем. Цвет отраженного света эквивалентен цвету света, а цвет диффузного света - цвету объекта;
Power - определяет плотность отраженного пятна, большее значение параметра соответствует меньшему отражению.
Каждый объект имеет состояние, представляющее собой набор параметров:
Graphics Assets:
Default Texture - если с объектом не связана сетка, определяющая ее форму, то она генерируется из физических фигур, составляющих объект. В этом случае указанное свойство определяет текстуру, которая накладывается на сгенерированную сетку. Текстура должна быть двумерной и находиться в одном из следующих форматов: .dds, .bmp, .png, .jpg, .tif;
Mesh - файл, определяющий форму объекта. Формат файла - .obj или .bos. Симулятор для ускорения работы преобразует формат .obj в формат .bos и только после этого отображает объект. Для этого используется утилита Obj2Bos.exe.
Misc:
Flags - определяет поведение объекта. Если флаги не определены, предполагается, что объект - динамический;
Kinematic - кинематический объект;
IgnoreGravity - на объект не имеет влияние гравитация;
DisableRotationX, DisableRotationY, DisableRotationZ - запрещает вращение объекта вдоль указанных осей;
DisableCollisions - объект не взаимодействует с другими объектами сцены;
Name - имя объекта (должно быть уникальным). При изменении имени некоторые сервисы не смогут работать с данным объектом.
Motion:
Angular Velocity - вектор угловой скорость перемещения объекта в каждом из направлений;
Velocity - вектор скорости перемещения объекта в каждом из направлений.
Physical Properties:
Mass/Density - масса и плотность объекта. Если хотя бы одна из фигур объекта имеет массу и плотность, то вычисляется масса и плотность всего объекта из суммы масс фигур, составляющих объект. Если сумма масс фигур равна нулю, симулятор использует величину Mass для определения массы объекта. Центр масс вычисляется так, как если бы плотность объекта была однородной. Указанные замечания также касаются и плотности объекта;
Inertia Tensor - тензор моментов инерции, определяет насколько сложно повернуть фигуру в различных направлениях. Например, цилиндр просто повернуть около его продольной оси, но сложно повернуть около двух других осей, вследствие распределения масс. Если вектор не определен, симулятор вычисляет его на основе расположения и относительной массы фигуры объекта;
Angular Damping/Liner Damping - данные параметры позволяют моделировать свойство трения. Большие значения данных параметров соответствуют более быстрому затуханию угловой или линейной скорости. При нулевом значении объект будет двигаться бесконечно до тех пор, пока не столкнется с другим объектом.
2.3 Управление роботом
В качестве шасси некоторых роботов используется дифференциальный привод. В состав такого привода входят два независимо управляемых колеса и пассивное (поворотное) колесо, используемое для баланса. Причина популярности такой конфигурации заключается в том, что ее использование позволяет сконструировать робота, который может развернуться на площади, по размеру не превышающей размеры робота.
В MRDS программный доступ к дифференциальному приводу робота реализован в виде сервиса GenericDifferentialDrive. По умолчанию данный сервис не связан с определенным приводом. Для соединения сервиса с приводом используется специальный файл, называемый манифестом. Одно из преимуществ MRDS заключается в том, что, разработав программу управления определенным роботом, можно использовать ее для управления другими роботами. Для этого достаточно будет изменить манифест, связывающий сервис и робота.
Рассмотрим действия сервиса GenericDifferentialDrive:
AllStop - останавливает движение, прекращает все операции, выполняемые приводом, устанавливает величину подаваемой энергии на оба двигателя в 0 и выключает двигатели. Для повторного запуска робота необходимо вызвать метод EnableDrive, установив Enable в true;
EnableDrive используется для разрешения или запрещения движения робота. Данное действие имеет один параметр логического типа. Если значение параметра - false, то запросы на управление движением выполняться не будут. Если привод выключается во время движения, он должен немедленно остановиться независимо от типа выполняемой операции;
SetDrivePower устанавливает количество энергии, которое подается на правое (параметр RightWheelPower) и левое (параметр LeftWheelPower) колеса. Количество энергии может изменяться от -1.0 до 1.0 (тип double). Отрицательная величина указывает на то, что колеса должны вращаться назад, положительная - вперед. Каждый новый вызов действия изменяет значение энергии, поданной на колеса.
Возможны следующие варианты движения робота:
движение вперед: LeftWheelPower > 0, RightWheelPower > 0, Left -WheelPower = RightWheelPower;
движение назад: LeftWheelPower < 0, RightWheelPower < 0, Left- WheelPower = RightWheelPower;
движение по дуге: LeftWheelPower Ф RightWheelPower (если на одно колесо робота подать большее количество энергии, чем на другое, то колесо, на которое подано больше энергии продвинется вперед дальше, чем колесо, на которое подано меньшее значение, в результате робот будет двигаться по дуге);
вращение на месте: LeftWheelPower = -RightWheelPower. Установка значений энергии, подаваемой на оба колеса, в нулевое значение приводит к остановке робота. Для остановки роботу может понадобиться время. Между значением энергии, подаваемой на колеса, и скоростью робота нет прямой зависимости. Однако при больших значениях энергии колеса крутятся с большей скоростью. В ряде случаев робот может достигать своей максимальной скорости при значении энергии меньше 1.0, а при малых значениях энергии (например, 0.1) может не тронуться с места. Некоторые роботы поддерживают только дискретный набор уровней мощности, в ряде случаев возможно наличие лишь двух состояний двигателя - включено и выключено;
SetDriveSpeed - устанавливает скорость движения робота в метрах в секунду;
DriveDistance - устанавливает расстояние, на которое должен переместиться робот (в метрах).
Параметры действия:
Distance - расстояние в метрах, на которое должен переместиться робот (тип double);
Power - количество энергии, подаваемое на колеса (см. действие SetDrivePower);
параметр DriveDistanceStage при вызове действия DriveDistance должен быть установлен в DriveStage.InitialRequest. Данный параметр используется для отображения процесса выполнения операции. Любой запрос на движение (включая DriveDistance) отменяет DriveDistance [3]. Однако некоторые роботы не могут прервать начатое движжение;
RotateDegrees - используется для поворота робота на месте на указанный угол (в градусах). Положительный угол означает движение влево или против часовой стрелки относительно центра робота, если смотреть сверху.
Параметры действия:
Degrees - угол, на который выполняется поворот;
Power - количество энергии, подаваемой на оба колеса;
параметр RotateDegreesStage должен быть установлен в DriveStage. InitialRequest.
Сервис GenericDifferentialDrive генерирует ряд уведомляющих сообщений, с помощью которых возможен анализ процесса выполнения блоком команд.
Связать сервис GenericDifferentialDrive с приводом робота (моделью робота в симуляторе) можно следующим образом:
Выбрать сервис GenericDifferentialDrive на диаграмме.
Выбрать в окне Properties в поле Configuration пункт Use a manifest.
Нажать кнопку Import и выбрать в открывшемся окне пункт IRobot.Create.Simulation.Manifest.xml (рис. 2.4). Выбранный манифест определяет робота, который будет добавлен в симулятор. После выполнения указанных действий окно Properties должно выглядеть, как показано на рисунке 2.5 [8].
Рисунок 2.4 - Список манифестов
Рисунок 2.5 - Установка параметров сервиса
3. МОДЕЛИРОВАНИЕ РАБОЧЕГО ПРОСТРАНСТВА СРЕДСТВАМИ MRDS
3.1 Создание рабочей сцены средствами MRDS
Для создания сцены MRDS необходимо запустить Visual Simulation Enviroment (VSE) и перейти в режим Edit, т. е. в режим редактора симулятора. Редактор симулятора открывается при выборе пункта Mode > Edit главного меню окна. После запуска редактора окно будет содержать отображение сцены, список объектов сцены и свойства выделенного объекта (рис. 3.1).
Рисунок 3.1 - Пустое окно Microsoft Visual Simulation Enviroment
Далее необходимо создать основные объекты сцены, такие как небо (sky) и землю (ground). Элемент MainCamera тоже является основным объектом, который является активным по умолчанию.
Для создания объекта sky необходимо выбрать пункт меню Entity > New. В появившемся окне, в списке Entity Type выберите элемент SkyEntity и нажать ok (рис. 3.2).
Рисунок 3.2 - Вставка элемента Sky в сцену
В появившемся окне все настройки оставляем без изменений и нажимаем ok (рис 3.3).
Рисунок 3.3 - Параметры элемента
Затем необходимо повторить процедуру для создания объекта ground. в списке Entity Type выберите элемент HightFialdEntity и нажать ok (рис. 3.4).
Рисунок 3.4 - Вставка элемента Ground в сцену
В появившемся окне также не изменяем настройки и нажимаем ок. Затем необходимо выделить появившийся объект HightFieldEntity и нажать кнопку Edit Entity для изменения свойств этого объекта (рис. 3.5).
Рисунок 3.5 - Панель свойств объекта симулятора в режиме Edit
В появившемся окне (рис. 3.6) в свойстве Flags устанавлиеваем флаг Grround, затем в свойстве EntityState нажимаем на клавишу «…».
Рисунок 3.6 - Параметры элемнта Ground
В появившемся окне (рис. 3.7) в свойстве Default Texture нажимаем на клавишу (…) и выбираем файл с необходимой нам структурой. Файл должен иметь разрешение .jpg или .dds. После этого в свойстве Name пишем имя объекта: Ground и нажимаем кнопку ок.
Рисунок 3.7 - Свойства объекта Ground
В результате проделанных действий появится готовая сцена с начальными объектами (рис. 3.8).
Рисунок 3.8 - Рабочая сцена
По завершению необходимо сохранить созданную сцену. Сцена, находящаяся в симуляторе, может быть сохранена в XML-файл и затем загружена. При загрузке сцены все объекты получают то же местоположение и скорость, которые они имели при сохранении сцены. Для сохранения сцены используется пункт меню File > Save Scene, для загрузки - File > Load Scene.
3.2 Создание объекта пространства
Создание объектов в среде Microsoft Robotic Studio не представляется возможным, поэтому объекты необходимо разрабатывать в другой среде. Для этого будет использована программная среда Autodesk 3ds Max (рис. 3.9).
В качестве контрольного примера будет создан стол. Для этого необходимо создать стандартный объект Box и задать его размеры в поле Parameters (рис. 3.10). Этот объект будет служить поверхностью стола.
Рисунок 3.9 - Программная среда Autodesk 3ds Max
Рисунок 3.10 - Создание объекта Box c заданием его параметров
Для создания ножек стола необходимо преобразовать объект Box. Для этого в поле Modifier List необходимо выбрать пункт Edit Poly и подпункт Polygon (рис. 3.11).
Рисунок 3.11 - Поле Modifier List
Затем на объекте необходимо выбрать полигоны которые будут служить ножками стола (рис. 3.12).
Рисунок 3.12 - Выбор полигонов
Далее для преобразования полигонов необходимо в свойстве Extude задать длину, а затем в поле Beve - коэффициент сужения ножек. Так как стол создавался перевернутым нужно задать его правильное положение. Для этого необходимо на панели инструментов нажать правой клавишей мыши на инструмент Select and Rotate и в поле Y задать значение 180о (рис. 3.13).
Рисунок 3.13 - Создание ножек стола
Для использования этого объекта в программной среде Microsoft Robotic Studio необходимо экспортировать его в формате .obj.
3.3 Размещение элементов (объектов) в рабочем пространстве робота
Для размещения объектов в рабочем пространстве запускаем созданную рабочую сцену (рис. 3.8). После чего для добавления элемента необходимо выбрать пункт меню Entity > New. В появившемся окне, в списке Entity Type выберите элемент SimplyTriangleMeshEnvironmentEntity и нажать ok (рис. 3.14). В появившемся окне задаем начальные координаты объекта и нажимаем ок (рис. 3.15).
.
Рисунок 3.14 - Выбор элемента SimplyTriangleMeshEnvironmentEntity
Рисунок 3.15 - Параметры объекта SimplyTriangleMeshEnvironmentEntity
Далее выбираем объект SimplyTriangleMeshEnvironmentEntity и нажимаем кнопку Edit Entity для изменения свойств этого объекта. В появившемся окне в поле EntityState нажимаем кнопку (…) . В следующем окне (рис. 3.16) в поле Name задаем имя объекта: Table. Затем в поле Mesh нажимаем кнопку (…) и выбираем необходимый нам объект рабочей среды робота в месте его размещения. В данном случае это будет 3D модель стола, созданного в программной среде Autodesk 3ds Max с названием Table.obj. Объект должен иметь разрешение .obj, .bos или .x. По завершению этих действий нажимаем кнопку ок. В результате получаем объект Konveer в рабочей сцене (рис. 3.17). После чего задаются необходимые координаты объекта.
Рисунок 3.16 - Параметры объекта Table
Рисунок 3.17 - Объект Konveer в рабочей сцене
Все последующие объекты загружаются в рабочую среду подобным образом. Робот является стандартным элементом среды разработки MRDS.
3.4 Описание программного обеспечения
3.4.1 Описание программы управления робота джойстиком
Для создания программы в Microsoft Robotic Developer необходимо запустить пустой проект в программе Visual Programming Language (рис. 3.18).
Рисунок 3.18 - Пустой проект Visual Programming Language
Для создания программы управления роботом с помощью джойстика в диаграмму добавляется сервис DesktopJoystick (рис. 3.19).
Рисунок 3.19 - Сервис DesktopJoystick
Далее к нему необходимо подключить сервис GenericDifferentialDrive. После создания связи появится диалоговое окно Connections. В нем перечислены уведомления, которые генерирует DesktopJoystick, и действия GenericDifferentialDrive, на вход которых можно отправить эти уведомления. Необходимо выбрать UpdateAxes в левой колонке и SetDrivePower в правой. Параметры связи данных сервисов показаны на рисунке 3.20 и в таблице 3.1.
Рисунок 3.20 - Связь между DesktopJoystick и GenericDifferentialDrive
Таблица 3.1 - Связь между UpdateAxes и SetDrivePower
Connections: |
||
From: |
To: |
|
UpdateAxes |
SetDrivePower |
|
Data Connections: |
||
Value |
Target |
|
(-Y + X) / 1000.0 |
LeftWheelPower |
|
(-Y - X) / 1000.0 |
RightWheelPower |
Для ввода указанных значений в диалоговом окне Data Connections отметьте пункт Edit values directly.
Затем в свойствах сервиса GenericDifferentialDrive (рис. 3.21) в списке поля Set Configuration выбираем пункт Use a manifest, далее нажимаем кнопку Import Manifest и выбираем созданную рабочую сцену.
Рисунок 3.21 - Свойства сервиса GenericDifferentialDrive
После запуска диаграммы откроется окно симулятора (рис. 3.22). Установив фокус ввода на окне Desktop Joystick, с помощью клавиш W, A (вперед - назад), S, D (влево - вправо) можно управлять перемещением робота.
Рисунок 3.22 - Окно симулятора с джойстиком
3.4.2 Описание программы движения робота по кругу
Программа движения робота по кругу предполагает создание блока, который будет определять количество мощности, подаваемое на левое и правое колесо. Для этого необходимо добавить на диаграмму блок Activity, установить имя TurningRadiusToWheelPowers. В состав блока TurningRadiusToWheelPowers включить действие CalculateWheelPowers. Затем указать для действия два входных параметра TurningRadius (тип double) и TurnRight (тип bool) и два выходных параметра Left и Right (тип double) (рис. 3.23). Параметр TurnRight определяет направление поворота (вправо или влево), TurningRadius - радиус поворота.
Рисунок 3.23 - Редактирование параметров блока
Рисунок 3.24 - Вычисление энергии, подаваемой на колеса
На диаграмму CalculateWheelPowers необходимо добавить два блока Calculate и блок Data. Первый блок Calculate извлекает значение TurnRight из входящего сообщения. Блок Data устанавливаетмощность, подаваемую на левое колесо. Второй блок Calculate вычисляет величину мощности, которая будет подана на правое колесо. Значения, поступающие с блоков Data и Calculate, объединяются с помощью Join (рис. 3.24). Блок If, соединенный с блоком Join, используется для проверки значения величины TurnRight (рис. 3.25):
если TurnRight = True, то значения, хранящиеся в Left и Right, отправляются на левое и правое колеса, в результате робот поворачивает вправо;
если TurnRight = False, тогда значение, хранящееся в Left, отправляется на правое колесо, а значение, хранящееся в Right, - на левое, в результате робот поворачивает влево.
Рисунок 3.25 - Вычисление энергии, подаваемой на колеса
Далее на основную диаграмму необходимо добавить сервис GenericDifferentialDrive и соедините выход блока TurningRadiusToWheelPowers и вход блока GenericDiff erentialDrive (Left с Left WheelPower и Right с RightWheelPower), разместим на диаграмме два блока Data, установить значение первого блока в true (тип bool), а второго - в 1 (тип double). Значения, хранящиеся в блоках, отправляются на вход TurningRadiusToWheelPowers (рис. 3.26).
Рисунок 3.26 - Диаграмма организации движения робота по кругу
Для запуска робота по команде пользователя, необходимо разместить на диаграмме блоки Data и SimpleDialog и соединить их (рис. 3.27). Блок Data содержит текст «Press OK when the robot is ready». После запуска диаграммы появится диалоговое окно с сообщением «Press OK when the robot is ready», и выполнение диаграммы приостановится до нажатия кнопки OK.
Рисунок 3.27 - Задержка запуска диаграммы
4. ОХРАНА ТРУДА
4.1 Анализ условий труда на рабочем месте
Моделирование рабочей среды мобильного робота проводилось в помещении, размер которого 7Ч5,6Ч2,6 м. В данном помещение работают два сотрудника.
Согласно ДСанПин 3.3.2-007-98, площадь одного рабочего места должна быть не менее 6 м2 , а его объем - не менее 20 м3 . Исходя из размеров помещения, его площадь равна 39,2 м2 , а объем - 101,92 м3. Следовательно, на одного работника приходится 19,6 м2 площади и 50,96 м3 объема. Помещение удовлетворяет государственным санитарным нормам как по площади, так и по объему, для двух рабочих мест.
Схематическое представление системы «Человек-Машина-Среда» (рис. 4.1) позволяет проанализировать влияние вредных факторов на организм человека.
Элементы системы можно разделить на такие части:
«Человек»:
Ч1 - человек, который управляет «машиной», моделирует рабочую среду мобильного робота;
Ч2 - человек, как биологический объект, который рассматривается с точки зрения непосредственного влияния на окружающую среду (изменения температуры за счет собственного тепла, потребления кислорода);
Ч3 - человек, который рассматривается с позиции влияния на него психофизиологических факторов во время рабочего процесса.
«Машина»:
М1 - машина, как элемент исполняющий основную технологическую функцию (ПЭВМ);
М2 - машина, как элемент выполняющий функцию аварийной защиты;
М3 - машина, как элемент влияния на окружающую среду.
Рисунок 4.1- Структурная схема системы «Человек-Машина-Среда»
Таблица 4.1 - Характеристики связей в системе «Ч-М-С»
№ |
1 |
2 |
|
Направление связи |
Описание связи |
||
1 |
Ч1- М1 |
Воздействие человека на машину (включение ПЭВМ, моделирование среды, работа за ПЭВМ). |
|
2 |
Ч2 - среда |
Воздействие человека как биологического объекта на среду(потребление кислорода, изменение влажности воздуха, изменение температуры за счет использования электроприборов). |
|
3 |
Ч3 - Ч1 |
Влияние психофизиологического состояния человека на состояние другого (влияние людей друг на друга). |
|
4 |
Среда - Ч3 |
Воздействие среды на психофизиологическое состояние человека (изменение функциональных возможностей организма при изменении температуры, влажности, атмосферного состава, освещенности, уровня электромагнитного поля). |
|
5 |
М3 - среда |
Воздействие машины на среду (шум от системного блока, повышенная температура, электромагнитное излучение). |
|
6 |
М1 - Ч1 |
Воздействие вредных факторов, которые вырабатывает машина, на психофизиологическое состояние человека. |
|
7 |
Ч1 - М2 |
Воздействие человека на функции аварийной защиты (применение методов защиты от воздействия опасных производственных факторов). |
|
8 |
М1 - М2 |
Информация, необходимая для выработки аварийных управляющих влияний (повышенный уровень ионизирующих излучений в рабочей зоне, повышенное значение статического электричества). |
|
9 |
Ч3 - Ч2 |
Влияние психофизиологического состояния на степень интенсивности обмена веществ между организмом и средой и энерговыделения человека (физические перегрузки, нервно-психические перегрузки). |
|
10 |
Среда - М1 |
Влияние среды на работу машины (изменение температуры, влажности, напряжения сети, что может привести к повышенному значению статического электричества, повышенной запыленности и загазованность воздуха в рабочей зоне) |
|
11 |
М2 - М1 |
Аварийное управляющее воздействие. |
|
12 |
М1 - Предмет труда |
Влияние машины на предмет труда (разработка программного обеспечения для робота) |
|
13 |
Внешняя система управления - Ч1 |
Управляющая информация про технологический процесс поступающая из внешней системы управления. |
Возникающие связи между элементами системы приводят к появлению опасных и вредных производственных факторов. Согласно ГОСТ 12.0.003-74 они делятся на четыре категории: физические, химические, психофизиологические, биологические:
- физические (повышенное напряжение в электрической сети, резкая перемена температуры в помещении, повышенный уровень шума, недостаточная освещенность, повышенная запыленность воздуха рабочей зоны, недостаточное количествo природного освещения, высокая яркость искусственного освещения);
- психофизиологические (перегрузка организма работника, перенапряжение зрительных анализаторов, частичная монотонность труда, умственное и эмоциональное перенапряжение).
Химических и биологических опасных факторов в помещении не наблюдается.
В результате анализа, доминирующим опасным или вредным производственным фактором определена усталость, так как в помещении принимаются меры по обеспечению звукоизоляции, освещения, вентиляции, электробезопасности, теплообмена и чистоты помещения. Для улучшения и поддержания всех этих факторов, необходимо принимать различные меры безопасности, дополнительное оснащение.
4.2 Промышленная безопасность в лаборатории
Характеристика сети питания:
- напряжение: 220 В;
- частота тока: 50 Гц;
- режим нейтрали: глухозаземленная.
Согласно НПАОП 40.1-1.21-98 помещение приемной предприятия относится к помещениям без повышенного уровня опасности поражения человека электрическим током. В помещении есть электрощит, на котором установлено устройство токовой защиты (согласно НПАОП 40.1-1.32-01 этажный щиток должен устанавливаться в этажном коридоре или на лестничной площадке на расстоянии не больше 3 м по длине электропроводки до стояка питания). Согласно НПАОП 0.00-4.12-05 с сотрудниками проводятся инструктажи по охране труда. Ежегодно, в качестве профилактических защитных средств, проводится контроль изоляции электросети (согласно НПАОП 40.1-1.21-98 норма сопротивления изоляции не менее 0,5 МОм). Помещение имеет УЗО (устройство защитного отключения электросети) типа «А», которые реагируют как на переменные, так и на пульсирующие токи повреждений, или «АС», которые реагируют только на переменный ток утечки (НПАОП 40.1-1.32-01).
4.3 Производственная санитария в компьютерной лаборатории
Работы в помещении производятся сидя и не требуют систематического физического напряжения. Работа относится к категории легкой Iа (энергозатраты до 120 ккал/ч). Для создания нормальных условий труда установлены следующие нормы микроклимата, в соответствии с ДСН 3.3.6.042-99, приведенные в таблице 4.2.
Таблица 4.2 - Оптимальные параметры микроклимата
Время года |
Температура воздуха, град. С |
Относительная влажность воздуха, % |
Скорость движения воздуха,м/с |
|
Холодное |
22-24 |
40-60 |
до 0.1 |
|
Теплое |
23-25 |
40-60 |
до 0.1 |
На микроклимат влияют такие источники тепла: ЭВМ, люди, находящиеся в помещении, искусственное освещение, солнечная радиация, тепло, передаваемое через стены. Анализируя нормативные и фактические значения микроклимата, можно сказать, что температура воздуха превышает допустимые значения. Обеспечение условий, приведенных в таблице 4.2, в теплый период года осуществляется с помощью приточной вентиляции (устанавливаются кондиционеры); в холодный и переходной период - с помощью вентиляции и отопления, предусматривается также естественная вентиляция.
При проектировании искусственного освещения в помещениях, необходимо руководствоваться требованиями ДБН В.2.5-28-2006. Согласно тому, что в нашем помещении характеристика работы зрения можно отнести к высокой точности, третьего разряда, контраст объекта с фоном средний, а характеристика фона тоже средняя, то общая освещенность не должна превышать 200 лк. Искусственное освещение в нерабочей поверхности, при относительной длительности работе зрения в направлении на рабочую поверхность составляет не менее 70%, освещенность соответствует 300 лк.
В случае превышения уровня звукового давления в помещении, сравнительно нормам ДСН 3.3.6.037-99, принимаются меры для улучшения шумового режима: экранирования, облицовку стен и стен с звукопоглощающим материалом. Санитарные нормы распространяются на шум, инфразвук и ультразвук. Эти нормы отвечают за классификацию производственных акустических колебаний, методы гигиенической оценки производственного шума, требования к измерениям на рабочих местах, а также параметры, которые нормируются и их допустимые величины.
Расчет кондиционирования. Цель проверочного расчета - выбор кондиционера, который обеспечит оптимальные значения микроклиматических параметров в помещении.
Вначале необходимо определить общее выделение теплоты в помещении
,
где - тепло, выделяемое оборудованием;
- тепло, выделяемое людьми;
- тепло, излучаемое освещением;
- тепло, выделяемое за счет солнечной радиации;
- тепло, проходящее через ограждающие конструкции.
где - суммарная мощность установленного оборудования;
- коэффициент использования мощностей, ;
- коэффициент одновременности работы оборудования, .
,
где - количество людей в помещении, ;
- количество тепла, выделяемого одним человеком,
.
где - теплопроводность, ;
- освещенность помещения, ;
- площадь помещения, .
где - удельное количество тепла, получаемого через еденицу площади окна,
- поправочный коэффициент, зависит от географической полосы, для Харькова ;
- площадь всех окон, ;
-коэффициент, учитывающий уменьшение солнечной радиации за счет применения затемнения, .
.
Для кирпича .
Требуемый воздухообмен
(1) |
где с - удельная теплоемкость воздуха при постоянном давлении, ;
р - удельный вес воздуха в помещении, кг/м3 (при нормальных условиях 1,29 кг/м3);
- температура удаляемого воздуха, ;
- температура приточного воздуха,.
.
Требуемая производительность по холоду будет равна
где - наружная температура, .
.
По полученному значению выбираем кондиционер из списка существующего оборудования.
4.4 Пожарная безопасность компьютерной лаборатории
Согласно нормам НАПБ Б.03.002-2007 по степени пожаровзрывоопасности данное производство относится к категории В. Согласно ДБН В.1.1.7-2002 здание относится к II степени огнестойкости. Согласно НПАОП 40.1-1.01-97 помещение по пожароопасности относится к классу П-IIа.
Причиной пожара в помещении могут быть короткое замыкание электропроводки, неисправность электрооборудования, нагревание проводников, курение в непредназначенных для этого местах, нарушение правил пожарной безопасности, а также повышенная температура внутри помещения.
Для предупреждения пожаров предлагается проводить обязательный инструктаж по пожарной безопасности, следить за доступностью и сроком годности средств пожаротушения, исполнять установленный режим эксплуатации электрических сетей и оборудования, не курить в помещениях.
Согласно НАПБ Б.03.001-2004 в помещении расположены первичные приспособления пожаротушения - два углекислотных огнетушителя ВВК-1, 4 из расчета 1 огнетушитель на 3 ПК, но не меньше 1 на помещение. Их использование обусловлено необходимостью тушения электроустановок, которые находятся под напряжением не более 1000В, расположенных в помещении. Также в комнате необходим один дымовой анализатор в соответствии с ДБН В.2.5-56:2010. Около выхода из комнаты расположен план эвакуации на случай экстренной ситуации.
ВЫВОДЫ
В ходе выполнения бакалаврской аттестационной работы было выяснено, что платформа Microsoft Robotics Studio (MSRS) - это пакет разработчика для робототехники, ориентированный на программистов разных уровней который состоит из двух основных составляющих:
Visual Programming Language (VPL) - графическая среда разработки, использующая каталог сервисов и действий которые могут быть связаны графическим способом позволяющая генерировать код новых «макро»-сервисов на основе диаграмм, созданных пользователями. Также в VPL возможна простая настройка сервисов для различных аппаратных элементов;
Visual Simulation Environment - среда симуляции 3D в MRDS, которая позволяет симулировать поведение роботов в виртуальном мире, используя технологию NVIDIA PhysX, что позволяет использовать продвинутую физическую модель.
В результате выполнения бакалаврской аттестационной работы были решены такие задачи:
проведен анализ литературы по теме дипломирования;
смоделирована модель рабочего пространства робота;
созданы программы управления робота джойстиком и движения робота по кругу в виртуальной среде;
созданы графические 3D объекты средствами Autodesk 3ds Max;
изучены основных функции и свойства программной среды Microsoft Robotic Studio;
Создана системы Ч-М-С и определены параметров вредных производственных факторов.
ПЕРЕЧЕНЬ ССЫЛОК
Юревич, Е. И. Основы робототехники [Текст] : / Е. И. Юревич. - СПб.: БХВ-Петербург, 2005. - 416 с.
Попов, Е.П. Основы робототехники: введение в специальность [Текст] / Г.В. Письменный, Е. П. Попов.? М.: Высшая школа, 1990. ? 286 с.
Тимофеев, А. В. Адаптивные робототехнические комплексы [Текст] /А. В. Тимофеев . - СПб.: Машиностроение, 1988. - 332с.
Майер, Р.В. Компьютерное моделирование: Моделирование как метод научного познания. Компьютерные модели и их виды [Текст] / Р. В. Майер. - Киров: ВятГГУ, 2012. - 23 с.
Тарасевич, Ю. Ю. Математическое и компьютерное моделирование [Текст] : учеб. / Ю. Ю. Тарасевич. -- М.: Едиториал УРСС, 2004. -- 152 с.
\Бронников, А. И. Моделирование рабочего пространства и сенсорных систем робота / А. И. Бронников // Системи обробки інформації. - 2012. - №9. - С. 10-14.
Kyle Johns Professional Microsoft Robotics Developer Studio [Text] / Johns Kyle, Taylor Trevor. - Indianapolis.: Whiley Publish, 2008. - 826 p.
Гай, В. Е. Microsoft Robotics Developer Studio. Программирование алгоритмов управления роботами [Текст] / В.Е. Гай. - М.: ЭКОМ Паблишерз, 2012. -- 184 с.
Методичні вказівки до виконання розділу «Охорона праці» у випускних роботах ОКР «бакалавр» усіх форм навчання / Упоряд.: Б.В.Дзюндзюк, В.А.Айвазов, Т.Є.Стиценко. - Харків: ХНУРЕ, 2012. - 28 с.
Методичні вказівки до випускної кваліфікаційної роботи рівня «Бакалавр» для студентів усіх форм навчання спеціальності 8.091402 “Гнучкі комп'ютеризовані системи та робототехніка” / Упоряд.: Є.І. Литвинова, О.М. Цимбал - Харків: ХНУРЕ. - 2008. - 48 с.
Сибаров Ю.Г. и др. Охрана труда в вычислительных центрах / Ю.Г. Сибаров. - М.: Машиностроение, 1985. - 185 с.
ГОСТ 34.601-90 - Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания. - К.: Держстандарт України, 1990.
Державний стандарт України 3008-95. Документація. Звіти у сфері науки і техніки. Структура і правила оформлення. - К.: Держстандарт України, 1995.
Размещено на Allbest.ru
Подобные документы
Виды и принципы компьютерного моделирования. Среда моделирования Microsoft Robotic Studio. Моделирование пространства и объектов рабочей области с помощью визуальной среды Visual Simulation Environment. Создание программы управления мобильным роботом.
дипломная работа [5,0 M], добавлен 15.06.2014Анализ робототехнических систем. Принципы компьютерного моделирования. Классификация компьютерных моделей по типу математической схемы. Моделирование пространства и объектов рабочей области с помощью визуальной среды Visual Simulation Environment.
дипломная работа [2,0 M], добавлен 08.06.2014Создание программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С# средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Определение математического аппарата, применение его в задаче.
курсовая работа [500,4 K], добавлен 13.01.2015Объектно-ориентированная технология создания программ. Среда разработки Visual Studio.NET. Особенности среды Microsoft Visual Studio 2010. Приложения C# для расчетов по формулам, консольный ввод-вывод. Форматирование значений данных. Программы с циклами.
методичка [2,1 M], добавлен 11.09.2014Характеристика виртуальной образовательной среды Unity. Особенности трехмерной виртуальной образовательной среды, как рабочего места пользователя. Организация взаимодействия пользователя с виртуальной рабочей средой факультета с использованием скриптов.
курсовая работа [373,7 K], добавлен 22.08.2013Разработка игры "Угадай персонажа", ее суть и содержание. Запоминание новых персонажей и вопросов, коррекция базы данных. Использование языка программирования С++ и среды разработки Microsoft Visual Studio 2010. Алгоритмы и методы, структура программы.
курсовая работа [571,9 K], добавлен 14.07.2012Информационно-измерительные системы мобильных роботов. Системы технического зрения; дескриптивный подход к обработке, анализу и распознаванию изображений. Разработка программного обеспечения для создания СТЗ мобильного робота для ориентации в комнате.
дипломная работа [5,5 M], добавлен 10.05.2014Средства интегрированной среды Microsoft Visual Studio, предоставляемые программисту для реализации программ на языке С++. Особенности стиля написания программ. Типовые приемы и методы создания и отладки программ. Листинги программ и их тестирование.
лабораторная работа [814,3 K], добавлен 26.05.2013Характеристика интегральной среды разработки Microsoft Visual Studio NET, ее особенности. Анализ программ "Сетевой чат", программа-клиент. Основные функции программы-сервера, порядок ее запуска. Влияние персонального компьютера на организм человека.
дипломная работа [1,1 M], добавлен 11.07.2012Введение в Microsoft Visual Studio. Диалоговое окно "Восстановленные файлы" интегрированной среды разработки. Веб-обозреватель интегрированной среды разработки. Диалоговое окно "Проверка подлинности прокси-сервера". Сохранение и восстановление файлов.
реферат [22,0 K], добавлен 29.05.2013