Kitabı oxu: «Соревновательная робототехника. Программирование робота Lego «Перевозчик»», səhifə 2

Şrift:

Рис.1.1. Соревновательное поле «Перевозчик»


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

Время выполнения задания 120 секунд.

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

Если во время попытки робот съезжает с черной линии, т.е. оказывается всеми колесами с одной стороны линии, то он завершает свою попытку с фиксированием времени в 120 секунд и суммой набранных баллов.

В зачет принимаются суммарные результаты попыток: сумма баллов и сумма времени. Финиш робота фиксируется только после перемещения всех кубиков в зону «База» в соответствующем жеребьевке порядке.

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

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

II. Базовые алгоритмы

Анализ задания робота

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

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

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

б) движение по основной линии

– до обнаружения кубика/кубика нужного цвета

– до перекрестка

в) движение в зону/из зоны База (если этого требует конструкция робота)

г) загрузка/выгрузка кубика

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

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

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

Движение в зону/из зоны База. Реализация данной функции зависит от конструкции робота. Если устройство выгрузки кубиков робота позволяет выполнить выгрузку непосредственно в зону База, то робот реализует эту функцию одной операцией: выгрузить кубик (и) (в нашей конструкции используется устройство выгрузки непосредственно в зону База). В противном случае количество операций увеличивается, например, один из вариантов: поворот корпусом в стону зоны База, сместиться с текущей позиции в сторону зоны База, выгрузить кубики, разворот в сторону основной линии, сместиться с текущей позиции до основной линии; выполнить поворот корпуса робота на 90 градусов вправо.

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

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

Yaş həddi:
6+
Litresdə buraxılış tarixi:
09 oktyabr 2019
Həcm:
107 səh. 121 illustrasiyalar
ISBN:
9785005050267
Müəllif hüququ sahibi:
Издательские решения
Yükləmə formatı: