Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа 2

.pdf
Скачиваний:
28
Добавлен:
10.02.2016
Размер:
1.84 Mб
Скачать

Программирование СКС

 

ОНПУ, Институт компьютерных систем

21 февраля 2014 г.

проф. Антощук С. Г., проф. Лобачев М.В.,

Лабораторная работа №2

ас. Годовиченко Н.А., инж. Ивин А.А.

 

 

 

Лабораторная работа № 2

Тема: «Основы работы с конструктором LEGO Mindstorms»

Цель лабораторной работы:

Изучить устройство и комплектацию конструктора LEGO Mindstorms;

ознакомиться с программной средой разработки алгоритма робота;

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

Ход работы:

LEGO Mindstorms – конструктор для создания программируемого робота. Впервые представлен компанией LEGO в 1998 году. Через 8 лет (2006 год)

вышла модель LEGO Mindstorms NXT 1.0, в 2009 – LEGO Mindstorms NXT 2.0, а в 2013 – LEGO Mindstorms EV3.

Наборы LEGO комплектуются набором стандартных деталей LEGO (балки, оси, колеса, шестерни) и набором сенсоров, двигателей и программируемого блока.

КОНТРОЛЛЕР

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

Технические характеристики контроллера:

32-битный ARM микроконтроллер;

256кб FLASH-память, 64кб ОЗУ;

Bluetooth адаптер (Class II V2.0);

USB-порт (12 Мбит\сек);

4 входящих порта, 3 исходящих порта;

LCD-дисплей 100х64 пикселя;

Динамик с качеством звука 8кГц;

Источник питания – 6АА батареек.

Программирование СКС. Лабораторная работа № 2

2

 

 

Порты сервомоторов: NXT

имеет три исходящих порта для подключения сервомоторов – порты A, B и C.

Порты сенсоров: NXT имеет четыре входящих порта для подключения сенсоров – порты

1,2, 3 и 4.

USB-порт: вы можете подключиться к USB-порту с помощью USB-кабеля и загрузить программу в контроллер (или извлечь данные из контроллера). Для обмена данным также можно использовать Bluetooth адаптер.

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

Кнопки NXT:

-оранжевая кнопка: Включить\Enter\Старт;

-светло-серые кнопки: используются для навигации по меню;

-темно-серая кнопка: Очистить\Вернуться.

СЕНСОРЫ

1. Сенсор нажатия

Сенсор нажатия позволяет роботу осуществлять прикосновения. Сенсор нажатия может определить момент нажатия на него чего-либо, а также момент освобождения.

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

Программирование СКС. Лабораторная работа № 2

3

 

 

Сенсор нажатия позволит определить, встретил ли робот препятствие на пути.

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

2. Сенсор цвета

Сенсор цвета является одним из двух сенсоров, которые заменяют роботу зрение (другой сенсор – ультразвуковой). Фактически, сенсор цвета совмещает три функции. Сенсор цвета позволяет роботу различать цвета и отличать свет от темноты. Он может различать 6 цветов, считывать интенсивность света в помещении, а также измерять цветовую интенсивность окрашенных поверхностей. Сенсор цвета может также использоваться в качестве цветной подсветки.

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

Для корректного определения цвета необходимо держать сенсор под прямым углом на расстоянии 1 см над поверхностью.

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

Сенсор может измерять интенсивность естественного освещения и отраженного света. При определении интенсивности последнего на сенсоре загорается любой из трех цветов.

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

Программирование СКС. Лабораторная работа № 2

4

 

 

3. Ультразвуковой сенсор

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

Ультразвуковой сенсор изменяется в сантиметрах и дюймах. Он может измерять расстояние от 0 до 255 сантиметров с точностью +/- 3 см. Ультразвуковой сенсор работает по тому же принципу, что и локатор летучей мыши: он измеряет расстояние путем подсчета времени, которое потребовалось звуковой волне для возвращения после отражения от объекта, подобно эху.

Крупные объекты с твердыми поверхностями определяются лучше всего. Объекты из мягких материалов (тканей) или округлые (мяч), а также слишком тонкие, маленькие и т.п., могут создавать для сенсор определенные затруднения при работе.

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

СЕРВОМОТОРЫ

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

Встроенный сенсор вращения. В каждый мотор встроен сенсор вращения. Он позволяет точнее вести управление движениями робота. Сенсор вращения измеряет вращение мотора в градусах или

Программирование СКС. Лабораторная работа № 2

5

 

 

поворотах (с точностью до +/- одного градуса). Одно вращение состоит из 360 градусов, поэтому, если вы установите мотор на вращение в 180 градусов, в результате ось сделает пол-оборота.

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

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Минимальные системные требования для установки программного обеспечения:

ОС Windows XP Professional либо Home Edition с Service Pack 2;

процессор Intel Pentium либо совместимый, 800 МГц (рекомендуется 1.5 ГГц и выше);

512 Mб RAM;

Программирование СКС. Лабораторная работа № 2

6

 

 

700 Мб свободного пространства на жестком диске;

дисплей XGA (1024х768);

1 свободный порт USB;

совместимый Bluetooth адаптер (опционально).

Запуск программы осуществляется с помощью ярлыка на рабочем столе.

В стартовом меню вы можете создать новую программу или загрузить существующую

Программирование СКС. Лабораторная работа № 2

7

 

 

Рассмотрим интерфейс приложения при создании программы:

1 Робоцентр. Содержит набор инструкций для пошагового создания различных стандартных моделей роботов.

2.Мой портал. Содержит ссылки на портал LEGO Mindstorms, в котором можно найти различную информацию, дополнительный контент (звуки, изображения, пользовательские модели).

3.Панель инструментов. Содержит наиболее часто используемые команды меню.

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

5.Окно помощи. Выводит контекстную справочную информацию.

6.Карта рабочего окна. Позволяет перемещаться по рабочему окну, если программа выходит за пределы видимой области.

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

Программирование СКС. Лабораторная работа № 2

8

 

 

пользовательским набором (блоки созданные пользователем или загруженные блоки из интернета).

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

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

Создание программы, работа с блоками, свойства блоков.

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

Добавление новых блоков происходит путем перетаскивания нужных блоков на «рельсу».

Пользователь может создавать несколько «рельс», для этого нужно навести мышь на «рельс», зажать клавишу Shift и нарисовать дополнительные потоки. Таким способом можно добиться одновременного выполнения нескольких команд.

Программирование СКС. Лабораторная работа № 2

9

 

 

 

 

 

 

 

 

 

Рассмотрим основные блоки и их свойства. Первым рассматриваемым блоком является блок «Move». Он позволяет управлять одним или несколькими сервомоторами, что позволяет осуществлять передвижение, подъем груза и т.д.

Перетащим блок на «рельс».

Программирование СКС. Лабораторная работа № 2

10

 

 

Рассмотрим свойства блока «Move». Отличительной особенностью блока «Move» является возможности синхронизации нескольких сервомоторов для программирования движения робота. В случае, если сервомотор используется для других целей и нет необходимости его синхронизации с другими сервомоторами, предпочтительнее использовать блок «Motor».

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

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

Рассмотрим блок «Wait». Он позволяет организовать задержку. Пока действует задержка, робот не предпринимает никаких действий.

Перетащим его на «рельс».