Технология. 9 класс. Авторский коллектив: Е. С. Глозман, Е. Н. Кулакова, Ю. Л. Хотунцев, О. А. Кожина, И. В. Воронин, В. В. Воронина, А. Е. Глозман




§ 52. Управление роботом



Любой робот хорош тогда, когда он может приносить пользу человеку. Роботом нужно уметь управлять — отдавать ему команды, которые он должен правильно понимать. Как вы думаете, каким образом происходит управление роботом?



Как мы уже говорили, для управления роботом используют протоколы связи — набор заранее согласованных стандартных правил. А если роботов много и нужно передать информацию конкретному устройству, то тут на помощь приходит МАС-адрес.

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

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

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

Хотя интерфейс (внешний вид) у разных программ разных производителей отличается, большинство пультов управления строится по одинаковому принципу.

Рассмотрим простейший пульт управления, который позволяет задать направление движения.

Кнопки, расположенные на вкладке «Управление», дают возможность управлять движением робота в разных направлениях, издавать звук и мигать светом. Зелёный цвет строки «Статус устройства» (рис. 9.10) указывает на то, что программа связалась с роботом и готова обмениваться с ним командами.



Рис. 9.10. Связь с роботом состоялась

Что же происходит, когда мы начинаем управление роботом? Программа пульта управления обрабатывает записанный в неё алгоритм.

По этому алгоритму она ожидает нажатия любой кнопки на пульте. И когда кнопка, например «Вперёд», будет нажата, то программа формирует в памяти компьютера специальную команду и отправляет её по радиоканалу роботу. Робот принимает команду, и с помощью собственной программы, которая тоже установлена в памяти его процессора, выполняет разбор каждого символа в принятой команде. Если всё прошло удачно, нет ошибок и сбоев в принятой команде, тогда робот выполняет порученное ему действие: двигается вперёд. И после выполненной команды обязательно посылает обратно на пульт ответ: «Всё прошло удачно. Команда выполнена».

Ниже приведён пример такой команды, отправленной и принятой пультом.

2013:08:26; 21:57:52; Write:7E 00 11 10 И 00 13 А2 00 40 93 EA 40 FF FE 00 00 28 28 OA D5

2013:08:26; 21:57:52; Read :7Е 00 OF 90 00 13 А2 00 40 93 EA 40 51 Е2 01 00 00 OA 7F

Наверняка вас не пугают ребусы, шарады и головоломки. Вот и в приведённых выше двух строках ничего сложного нет.

Первая строка — это отправка команды с пульта на устройство: английское слово Write указывает, что происходит запись в порт. А вторая строка, соответственно Read, — это чтение из порта ответа от робота.

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

Программы, как мы говорили ранее, пишутся на разных языках программирования. Например, существуют профессиональные языки: C (Си), Python (Питон), Java (Ява) или языки для тех, кто только начинает изучать программирование: Scrath (Скретч), Кумир (Комплект Учебных МИРов). Мы будем использовать для написания программ язык Кумир.

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

Итак, если мы с пульта управления подали роботу четыре команды и, перейдя на вкладку «Технологические режимы», нажали кнопку «Программа», то процессор сформировал необходимые команды, получив которые робот будет двигаться в заданном направлении столько раз, сколько команд мы записали в программе (рис. 9.11).



Рис. 9.11. Пример программы

А если у вас не один робот, а, например, шесть?! Как сделать так, чтобы два робота поехали в столовую, а остальные в библиотеку или спортзал?

В этом случае нужно использовать в программах указатели на то, какой конкретно робот нужен для исполнения конкретной задачи, т. е. МАС-адреса.

На рисунке 9.12 показано, что из доступных шести устройств выбрано два. Они отмечены синим цветом и звёздочкой около соответствующего МАС-адреса. Это роботы с адресами 00 13 А2 00 40 В2 4D 3D и 00 13А2 00 40 В2 4D ЕЕ.



Рис. 9.12. Выбор устройств

Когда на пульте будет установлен чекбокс (галочка) команды «Использовать выбранные устройства», команда исполнения будет отправляться программой строго на выбранные устройства.

Ещё одной очень важной особенностью роботов является возможность использования датчиков, о которых мы подробно говорили в 7 классе. C использованием датчиков робот превращается в мобильную цифровую лабораторию. Такую возможность, как правило, используют там, куда человеку сложно или опасно добираться. Например, в космосе, или на пожаре, или на таких производствах, где людям следует находиться как можно меньше времени.



Полезная информация

Среда управления учебным исполнителем Робот.

• Кумир (Комплект Учебных МИРов) — свободно распространяемая кроссплатформенная русскоязычная система программирования, предназначенная для начального обучения основам алгоритмизации.

• Система программирования Кумир основана на методике, разработанной под руководством академика А. П. Ершова. В системе Кумир используется школьный алгоритмический язык с русской лексикой и встроенными командами управления программными исполнителями (Робот, Чертёжник, Кузнечик, Черепаха).

• Скачать программу можно на сайте разработчиков программы Кумир (http://ɪpm.org.ru/kumir2/), на официальном сайте проекта (http://www.niisi.ru/kumir/), на сайте разработчиков роботов УМКИ (http://www.umkikit.ru/).

• После загрузки среды Кумир на экране можно увидеть следующее окно (рис. 9.13):



Рис. 9.13. Окно среды Кумир

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

• Рабочая область делится на две части: область программы (слева) и область сообщений (справа), в которую при подготовке программы выводятся сообщения об ошибках, найденных в каждой строке, а при выполнении — сведения о значениях переменных, присваиваемых в строке.

• Для работы программы исполнителя Робот необходимо снять знак комментария перед командой выбора исполнителя (удалить вертикальную черту перед командой «использовать Робот») (рис. 9.14).



Рис. 9.14. Подготовка робота к работе

• Исполнитель Робот обитает в прямоугольном поле, разбитом на клетки, между которыми могут располагаться стены. Робот может передвигаться по полю и закрашивать клетки.

• Базовые команды перемещения для исполнителя Робот: вверх, вниз, влево, вправо. При выполнении этих команд робот перемещается на одну клетку соответственно команде: вверх, вниз, влево, вправо. По команде «Закрасить» закрашивается клетка, в которой робот находится в настоящий момент.

• C помощью списка команд меню «Выполнение» (рис. 9.15) можно регулировать работу созданных алгоритмов в различных режимах.



Рис. 9.15. Список команд меню «Выполнение»

• «Выполнить непрерывно» — непрерывное выполнение программы без остановок между шагами.

• «ШАГ» — выполняется один шаг программы. Для выполнения следующей команды необходимо снова дать команду ШАГ.

• О работе в программе Кумир можно прочитать в справочной системе Кумир, вкладка «Инфо», пункт «Язык и система Кумир» (рис. 9.16) или в Интернете.



Рис. 9.16. Справочная система Кумир



Основные понятия и термины:

режим управления, пульт управления, программа.


Вопросы и задания:


1. Какие режимы управления роботом вы знаете?

2. Что может быть пультом управления исполнителя?

3. В какой форме исполнитель-робот получает команды для выполнения?

4. Что необходимо знать для выбора одного устройства из многих в сети?


Задание 1


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


Задание 2


Проведите исследования по возможности запомнить выполненные команды и повторить их необходимое число раз.

Установите программу Кумир и разработайте несколько линейных алгоритмов управления исполнителем Робот (управление движением вперёд, назад, поворотами).


Задание 3


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




Наверх