Учебно-методический комплекс в среде MRDS

Автор работы: Пользователь скрыл имя, 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
ЗАКЛЮЧЕНИЕ

Файлы: 1 файл

kursovaya_po_mikroprots.docx

— 2.54 Мб (Скачать файл)

  Министерство образования Московской области


Государственное бюджетное образовательное учреждение

среднего профессионального образования

Московской области

«Жуковский авиационный техникум имени В.А. Казакова»

 

 

Цикловая комиссия специальности Компьютерные системы и комплексы

 

 

 

 

КУРСОВОЙ  ПРОЕКТ

 

               Тема: Учебно-методический комплекс в среде 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.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1.   Описание учебно-методического комплекса.

    1. Задачи учебно-методического комплекса.

В последнее время в учебных заведениях появилась и начала развитие робототехника. Учеников обучают программированию роботов и сборке собственных моделей роботов. Наиболее подходящим для этих целей роботом является Lego Mindstorms NXT. На занятиях с образовательными конструкторами LEGO дети строят действующие модели реальных механизмов, живых организмов и машин, проводят естественнонаучные эксперименты, осваивают основы информатики, алгоритмики и робототехники, попутно укрепляя свои знания по математике и физике и приобретая навыки работы в творческом коллективе.

Однако в России не все учебные заведения способны купить необходимое оборудование в достаточном объеме, поэтому нужны альтернативные варианты. Одной из таких альтернатив является программа Microsoft Robotics Developer Studio (MRDS) — новая среда программирования роботов, позволяющая создавать программы для различных моделей роботов, и что особенно важно, тестировать эти программы в виртуальной среде на манифестах.

Существуют проблемы, связанные с внедрением MRDS в учебные заведения.

Во-первых, в России MRDS малоизвестен и многие педагоги не знают об этой программе и её возможностях. Во-вторых, нет необходимой методической литературы, которая могла бы помочь самостоятельно изучить все возможности и функции программы.

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

Объект исследования: MRDS — средство разработки программ для роботов и тестирование этих программ на виртуальных роботах.

Предмет исследования: методика использования виртуальной среды MRDS в учебном процессе и внеурочной деятельности школьников.

Задачи исследования:

1. Провести сравнительный анализ  сред программирования робота  Lego Mindstorms NXT;

2. Провести анализ научно-методической  литературы по программированию  роботов в MS Robotics Developer Studio;

3. Изучить интерфейс и возможности MRDS;

4. Разработать методические рекомендации  по основам использования виртуальной  среды MRDS в учебном процессе и  внеурочной деятельности школьников.

    1. Характеристика контроллера NXT

 Главное отличие наборов MINDSTORMS от всех остальных серий LEGO заключается в наличии уникальных электронных компонентов, составляющих “ядро” всей системы. Первым, и самым главным устройством является программируемый контроллер, или, как его называет компания “LEGO” – интеллектуальный блок. Если быть точным, то слово блок не совсем подходит, так как в оригинале он называется “intelligent brick”, а применительно к конструкторам LEGO словом brick обозначают прямоугольные строительные “кирпичики”. По этой причине очень часто в среде русскоязычного сообщества MINDSTORMS контроллер NXT называют “кирпич”.

 

Основные характеристики программируемого блока NXT.

 

Внешний вид

Процессор

Основной процессор: Atmel ARM7 AT91SAM7S256, частота 48 МГц, 32-битный. 
Сопроцессор: Atmel AVR ATmega48, частота 8 МГц, 8-битный.

Память

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 Кбит/с. 
USB 2.0, скорость до 12 Мбит/с.

Питание

От 7 до 9 вольт, 6 элементов АА, Литиевая батарея 7.2 В (опционально).

Размеры

14М х 9М х 5М

Звук

Встроенный динамик,

воспроизведение записанных звуков с

разрешением 8-бит, частотный диапазон 2-16 КГц.


 

 

Основная плата NXT, вид сверху и снизу.

 

 

 

 

 

Блочная схема NXT.

 

В NXT используются 6-контактные разъёмы, причем датчики NXT используют 5 линий (два провода из шести замкнуты между собой), а сервомоторы – все 6 линий.

 

1.3 Интерфейс и возможности среды Microsoft Robotics Developer Studio

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. Ускоритель позволяет имитировать реалистичное физическое поведение моделей. Благодаря виртуальному миру можно:

 

• устраивать различные ситуации;

• добавлять предметы, препятствия;

• просматривать результат в разных перспективах;

• запускать несколько моделей роботов одновременно, причем модели могут быть различны;

• сохранять и запускать повторно «сцены мира»;

• управлять визуализацией мира.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.Разработка  и откладка программ.

 

2.1 Движение робота по прямой линии.

 

 

Для начала надо перетащить из списка сервисов в рабочую область элемент 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 с кнопкой. Необходимо активировать кнопку, и робот начнет движение. По окончании выполнения программы закрыть окна симуляции и запуска.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.2 Движение робота по «восьмерке».

 

Движение робота по восьмерке состоит из движений по окружности.

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

Разработайте блок, который будет определять количество энергии, подаваемое на левое и правое колеса. Добавьте на диаграмму блок Activity и на панели свойств установите для него имя TurningRadiusToWheelPowers

Информация о работе Учебно-методический комплекс в среде MRDS