Автор работы: Пользователь скрыл имя, 28 Октября 2015 в 16:18, курсовая работа
В последнее время в учебных заведениях появилась и начала развитие робототехника. Учеников обучают программированию роботов и сборке собственных моделей роботов. Наиболее подходящим для этих целей роботом является Lego Mindstorms NXT. На занятиях с образовательными конструкторами LEGO дети строят действующие модели реальных механизмов, живых организмов и машин, проводят естественнонаучные эксперименты, осваивают основы информатики, алгоритмики и робототехники, попутно укрепляя свои знания по математике и физике и приобретая навыки работы в творческом коллективе.
Техническое задание
3
Глава 1 Описание учебно-методического комплекса
4
1.1 Задачи учебно-методического комплекса
4
1.2 Характеристика контроллера NXT
5
1.3 Интерфейс и возможности среды Microsoft Robotics Developer Studio
7
Глава 2 Разработка и отладка программ
10
2.1 Движение робота по прямой линии
10
2.2 Движение робота по восьмерке
15
Глава 3 Результаты работы программы
21
ЗАКЛЮЧЕНИЕ
Министерство образования Московской области
Государственное бюджетное образовательное учреждение
среднего профессионального образования
Московской области
«Жуковский авиационный техникум имени В.А. Казакова»
Цикловая комиссия специальности Компьютерные системы и комплексы
КУРСОВОЙ ПРОЕКТ
Тема: Учебно-методический комплекс в среде MRDS
Выполнил студент _________________
Специальность: 09.02.01 - Компьютерные системы и комплексы
Руководитель проекта_______________
г. Жуковский, 2015
Содержание
Техническое задание |
3 |
Глава 1 Описание учебно-методического комплекса |
4 |
1.1 Задачи учебно-методического комплекса |
4 |
1.2 Характеристика контроллера NXT |
5 |
1.3 Интерфейс и возможности среды Microsoft Robotics Developer Studio |
7 |
Глава 2 Разработка и отладка программ |
10 |
2.1 Движение робота по прямой линии |
10 |
2.2 Движение робота по восьмерке |
15 |
Глава 3 Результаты работы программы |
21 |
ЗАКЛЮЧЕНИЕ |
22 |
Техническое задание
Разработать учебно-методический комплекс в среде Microsoft Robotics Developer Studio на языке Visual Programming Language (комплексная тема).
В работе создать программу для симуляции движения робота по прямой линии и движения робота по «восьмерке» в среде симулятора Microsoft Robotics Developer Studio.
В последнее время в учебных заведениях появилась и начала развитие робототехника. Учеников обучают программированию роботов и сборке собственных моделей роботов. Наиболее подходящим для этих целей роботом является Lego Mindstorms NXT. На занятиях с образовательными конструкторами LEGO дети строят действующие модели реальных механизмов, живых организмов и машин, проводят естественнонаучные эксперименты, осваивают основы информатики, алгоритмики и робототехники, попутно укрепляя свои знания по математике и физике и приобретая навыки работы в творческом коллективе.
Однако в России не все учебные заведения способны купить необходимое оборудование в достаточном объеме, поэтому нужны альтернативные варианты. Одной из таких альтернатив является программа Microsoft Robotics Developer Studio (MRDS) — новая среда программирования роботов, позволяющая создавать программы для различных моделей роботов, и что особенно важно, тестировать эти программы в виртуальной среде на манифестах.
Существуют проблемы, связанные с внедрением MRDS в учебные заведения.
Во-первых, в России MRDS малоизвестен и многие педагоги не знают об этой программе и её возможностях. Во-вторых, нет необходимой методической литературы, которая могла бы помочь самостоятельно изучить все возможности и функции программы.
Целью данной работы является разработка программно-методических материалов по основам использования виртуальной среды MRDS в учебном процессе образовательного учреждения.
Объект исследования: MRDS — средство разработки программ для роботов и тестирование этих программ на виртуальных роботах.
Предмет исследования: методика использования виртуальной среды MRDS в учебном процессе и внеурочной деятельности школьников.
Задачи исследования:
1. Провести сравнительный анализ сред программирования робота Lego Mindstorms NXT;
2. Провести анализ научно-
3. Изучить интерфейс и
4. Разработать методические
Основные характеристики программируемого блока NXT.
Внешний вид |
|
Процессор |
Основной
процессор: Atmel ARM7 AT91SAM7S256, частота 48 МГц,
32-битный. |
Память |
256 Кб FLASH, 64 Кб ОЗУ основного процессора, и 4Кб FLASH, 8 Кб ОЗУ сопроцессора. |
Входов |
4 входа, 6 контактов на вход. |
Выходы |
3 выхода, 6 контактов на выход. |
Дисплей |
Графический LCD, 100 x 64 точек, черно-белый. При выводе текста используются символы 8 точек высотой, 8 строк. |
Кнопки |
4 кнопки (без подписей): треугольная серая – влево, квадратная оранжевая – ввод (пуск), треугольная серая – вправо, прямоугольная тёмно-серая – стоп (отмена, выключить). |
Связь |
Bluetooth BlueCoreTM 4 v2.0 с поддержкой эмуляции
последовательного порта (SPP), скорость
(внутренняя) 460.8 Кбит/с. |
Питание |
От 7 до 9 вольт, 6 элементов АА, Литиевая батарея 7.2 В (опционально). |
Размеры |
14М х 9М х 5М |
Звук |
Встроенный динамик, воспроизведение записанных звуков с разрешением 8-бит, частотный диапазон 2-16 КГц. |
Основная плата NXT, вид сверху и снизу.
Блочная схема NXT.
В NXT используются 6-контактные разъёмы, причем датчики NXT используют 5 линий (два провода из шести замкнуты между собой), а сервомоторы – все 6 линий.
Microsoft Robotics Developer Studio состоит из четырех компонентов:
1. Concurrent and Coordination Runtime (CCR) — среда организации параллельной обработки данных.
2. Decentralized Soft ware Services (DSS) — среда, которая позволяет запускать алгоритмы обработки данных на разных ЭВМ, организовывать асинхронное взаимодействие процессов управления различными подсистемами робота.
3. Visual Simulation Environment (VSE) — среда визуализации, которая позволяет экспериментировать с моделями роботов, тестировать алгоритмы управления.
4. Visual Programming Language (VPL) — язык, предназначенный для разработки программ управления роботами. Программа на таком языке представляется в виде последовательности блоков, которые выполняют обработку данных, и связей между ними. VPL рассчитан на управление как реальными роботами, так и моделями роботов в симуляторе.
Программа на языке VPL называется диаграммой. Диаграмма состоит из блоков. Блоки могут быть двух типов: «Basic Activities» — базовые активности и «Services» — сервисы. В отличие от сервисов у базовых блоков нет уникального
имени. Сервисы представляют собой интерфейс к аппаратному или программному обеспечению манифеста или робота. Базовые блоки позволяют управлять процессом выполнения сервисов. На основе базовых блоков выполняется работа с переменными, организация циклов, определение констант, осуществляется передача сообщений между блоками и т. п.
В главном окне программирования роботов (Рис. 1. Главное окно MRDS) слева находятся базовые активности и сервисы, справа - структура проекта и «Properties» — свойства, а в центре — рабочая область для построения диаграммы. В состав базовых активностей входят основные блоки для управления и организации потоков данных на диаграмме. Например, «Data» — блок данных, отправляет данные разных типов на другие блоки. В списке сервисов находятся блоки, входящие в MRDS (см. каталог MRDS \ bin). Данная панель инструментов позволяет выполнять поиск сервиса по имени. Project — отображает диаграммы проекта и файлы конфигурации проекта. Properties — отображает свойства выбранного элемента диаграммы (сервиса, встроенного блока или связи между блоками).
Visual Simulation Environment включает в себя две программы: графическая, основной задачей которой является визуализация (рендеринг) двухмерной или трехмерной компьютерной графики (работает в режиме реального времени) и физическая программа, производящая симуляцию физических законов реального мира в виртуальном мире с той или иной степенью точности. Физическая программа позволяет создавать виртуальное пространство, в которое можно добавить виртуальные статические и динамические объекты. Расчет взаимодействия тел выполняется самой программой. Рассчитывая взаимодействие тел между собой и средой, она приближает физическую модель получаемой системы к реальной, передавая уточненные геометрические данные графической программе.
Объекты в симуляторе могут создавать иерархию, реализуя отношение предок/потомок. Например, манипулятор и сенсор являются дочерними объектами робота.
Для тестирования разработанных в VPL программ был разработан симулятор Visual Simulation Environment. Это значит, что необязательно иметь реальную модель робота, чтобы
протестировать созданное приложение. Достаточно воспользоваться названной программой. Программа симулятор — это некая имитационная визуальная 3D среда высокого разрешения с интегрированным физическим движком PhysX (ускорителя расчетов физики в играх) от компании Ageia Technologies. Ускоритель позволяет имитировать реалистичное физическое поведение моделей. Благодаря виртуальному миру можно:
• устраивать различные ситуации;
• добавлять предметы, препятствия;
• просматривать результат в разных перспективах;
• запускать несколько моделей роботов одновременно, причем модели могут быть различны;
• сохранять и запускать повторно «сцены мира»;
• управлять визуализацией мира.
Сценический подход позволяет моделировать окружающий мир, создавая предметы и расставляя их в нужных местах. При этом трехмерная графика точно моделирует окружение, симуляция физики поддерживается в полном объеме. Однако, есть некоторые ограничения и даже недостатки у этого симулятора. Мир симулятора идеализирован, т. е. отсутствуют искажения, имеющие место в реальном мире. Попытка же создать более точную модель требует больших усилий и затрат времени.
Для начала надо перетащить из списка сервисов в рабочую область элемент Simple Dialog, а из базовых активностей — Data (блок данных),с которого будут отправляться данные на следующий блок. Simple Dialog будет выводить на экран сообщение с кнопкой «OK», по нажатию которой начнет выполняться программа. В выпадающем списке блока Data необходимо изменить значение int на string и в текстовом поле написать «старт».
Далее необходимо соединить выход блока Data — Outgoing Response и вход Incoming Request блока Simple Dialog. В появившемся окне Connections слева выбрать событие, которое будет обрабатываться, — Data Value, а справа следствие — Alert Dialog. В следующем окне Data Connections значение Alert Text установить, как Value.
Затем добавить на диаграмму еще два блока данных: один блок будет отвечать за мощность, а другой за расстояние, которое нужно проехать. Настроить блок мощности - тип данных Double, значение 0.7 и блок расстояния — тип данных int, значение 1. После этого соединить Simple Dialog с блоками так, чтобы они выполнялись параллельно. В появившемся окне Connections выбрать Alert Dialog Success - Create.
На диаграмму необходимо перетащить блоки join и Generic Differential Drive. В полях join вписать значения — Drive Power и Drive Distance. Соединить выходы блоков данных с соответствующими полями. Далее соединить блоки join и Generic Differential Drive. В окне Connection выбрать Drive Distans, а в следующем окне соответственно устанавить: Distanse — Drive Distans, Power — Drive Power, Drive Distans Stage — null.
Далее необходимо выбрать манифест для элемента Generic Differential Drive.
Манифесты — это своеобразные драйверы низкого уровня, или, с другой стороны — конфигурации той или иной программы VPL. Идея состоит в том, что одна и та же программа, в принципе, может выполняться на различных роботах, несмотря на то, что на низком уровне управление реализуется неодинаково. Благодаря манифестам, чтобы перенести программу VPL с одного железа робота на другое, нужно выбрать манифесты соответствующего робота для основных модулей диаграммы. Таким же образом — с помощью специальных «Simulation»-манифестов — реализуется перенос программы в среду симуляции.
В контекстном меню Generic Differential Drive выбрать Set Configuration. После этого, выбрать в разделе Set Configuration — Use a manifest.
В результате в нижней части появится выпадающий список «Use existing or create a new manifest» и кнопка «Import manifest»
С помощью кнопки импортировать манифест «LEGO. NXT. Tribot. Simulation. Manifest. xml» и выбрать его.
В результате, должна получиться такая диаграмма
Чтобы запустить программу на выполнение ,необходимо нажать F5 или в меню «Run» — пункт «Start». В результате появится окно Run, в котором отображаются сообщения о состоянии выполнения
После загрузки манифеста и запуска всех необходимых сервисов появится окно, в котором видно виртуальную среду и робота и окно Alert Dialog с кнопкой. Необходимо активировать кнопку, и робот начнет движение. По окончании выполнения программы закрыть окна симуляции и запуска.
Движение робота по восьмерке состоит из движений по окружности.
Для того, чтобы робот поехал по окружности, необходимо на правое и левое колеса подать разное количество энергии он будет двигаться по дуге, которая по истечении определенного промежутка времени замкнется в круг.
Разработайте блок, который будет определять количество энергии, подаваемое на левое и правое колеса. Добавьте на диаграмму блок Activity и на панели свойств установите для него имя TurningRadiusToWheelPowers
Информация о работе Учебно-методический комплекс в среде MRDS