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

Лабораторная работа 3_СКС

.pdf
Скачиваний:
26
Добавлен:
10.02.2016
Размер:
522.55 Кб
Скачать

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

 

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

27 февраля 2014 г.

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

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

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

 

 

 

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

Тема: «Создание робота-сортировщика на основе LEGO Mindstorms»

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

Реализовать программу робота-сортировщика;

Ход работы:

NXT 2.0 Color sorter – одна из стандартных моделей набора NXT 2.0. Она является хорошим примером простого робота, который основан на принципах конечных автоматов. Задача данного робота следующая:

Дано – набор цветных шариков (красные, синие, желтые и зеленые). Необходимо поместить шарики одного

цвета в свою отдельную корзину.

СЛОВЕСНОЕ ОПИСАНИЕ АЛГОРИТМА:

Шаг 0. Калибровка корзины.

Шаг 1. Наклоняем лоток с шариками, чтобы шарик попал в желоб. Шаг 2. Определяем цвет шарика с помощью датчика цвета.

Шаг 3. В зависимости от распознанного цвета шарика, выполняем подпрограмму «помещение шарика в корзину».

Шаг 4. Если возникла ошибка – подать сигнал и остановиться. Шаг 5. Вернуться к шагу 1.

Подпрограмма «Помещение шарика в корзину»:

Шаг 1. Переместить корзину на X градусов.

Шаг 2. Опустить желоб, чтобы шарик скатился в корзину. Шаг 3. Переместить корзину в начальное положение.

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

2

 

 

БЛОК-СХЕМА АЛГОРИТМА

Основная программа алгоритма выглядит

Подпрограмма выглядит следующим

следующим образом

образом

Отдельно рассмотрим действия «Калибровка корзины» и «Опустить желоб, чтобы шарик попал в корзину», т.к. их реализация может быть неочевидна.

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

3

 

 

КАЛИБРОВКА КОРЗИНЫ

Выбор корзины для шарика определенного цвета осуществляется путем поворота корзины на определенный градус относительно ее начального положения. Поэтому очень важно удостовериться, чтобы перед началом программы, начальное положение корзины было правильным. Для этого осуществляется процесс калибровки корзины.

до калибровки

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

после калибровки

Таким образом, процедуру калибровки можно описать следующим образом:

1)вращать корзину до тех пор, пока не сработает сенсор нажатия;

2)дополнительно повернуть корзину на 55 градусов.

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

4

 

 

Калибровка корзины программируется следующим образом:

Первый блок на изображении отвечает за вращение корзины. Обратите внимание, что в свойствах первого блока, параметр Next Action установлен в значение «Brake». Это означает, что при выполнении следующего блока (нажатие на кнопку сенсора нажатия), мотор остановится. Третий блок отдает команду повернуть ось еще на 55 градусов.

УПРАВЛЕНИЕ ЖЕЛОБОМ

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

Таким образом, процедуру управления желобом можно описать следующим образом:

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

5

 

 

1)вращать сервомотор до тех пор, пока не произойдет щелчок по кнопке сенсора нажатия;

2)дополнительно сделать 0.8 оборота сервомотора.

Управление желобом программируется следующим образом:

Первый блок программирует вращение сервомотора, пока не сработает второй блок (щелчок по кнопке сенсора нажатия). После этого, третий блок дает команду сделать 0.8 оборота сервомотора.

Задание на лабораторную работу:

1.Разработать программу управления роботом-сортировщиком согласно словесному описанию и блок-схеме.

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

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