Презентация на тему: Лабиринт (для дистанционных соревнований)

Лабиринт (для дистанционных соревнований)
Задача робота: Двигаясь внутри лабиринта, за время не более 3 минут, добраться из зоны старта в зону финиша, или как можно ближе к зоне финиша
Требования к роботу
Робот ТРИК, датчики расстояния подключены к портам 1 и 2. Модель робота – 2 D модель. Физика – реалистичная физика
Для оптимизации программного кода, сначала не будем составлять полную диаграмму, а создадим три подпрограммы: «Вперед», «Направо» и «Налево». «Вперед» :
Однако, как Вы заметили, если подпрограмма «Вперёд» настраивается достаточно просто, то после поворота налево и направо, робот смещается относительно центра
Так выглядит подпрограмма для поворота направо по энкодеру:
Так выглядит подпрограмма для поворота налево по энкодеру:
Но кроме энкодера, выполнить поворот можно и по гироскопическому датчику. Поворот направо по гиродатчику:
Поворот налево по гиродатчику:
Теперь, когда подпрограммы движений робота написаны, настроены и сохранены в коллекцию, можно приступить к сборке главного алгоритма. Главная программа
Для точной настройки, можно встроить в ветки Диаграммы поведения робота остановки и задержки времени. Тогда вы увидите, где робот действует не точно и какую
Отладка робота в Trik Studio
1/13
Средняя оценка: 4.8/5 (всего оценок: 19)
Код скопирован в буфер обмена
Скачать (2368 Кб)
1

Первый слайд презентации: Лабиринт (для дистанционных соревнований)

Презентация Логинов Андрей Анатольевич

Изображение слайда
2

Слайд 2: Задача робота: Двигаясь внутри лабиринта, за время не более 3 минут, добраться из зоны старта в зону финиша, или как можно ближе к зоне финиша

Полигон для соревнования «Лабиринт» представляет собой прямоугольную поверхность с размером сторон три клетки. Всю поверхность полигона мысленно можно разделить на квадратные ячейки со сторонами в три клетки, расположенный смежно друг с другом. Между ячейками могут быть установлены не преодолимые для робота перегородки. По периметру полигона имеется ограждение той же высоты. Зоны старта и финиша выделены линиями черного цвета

Изображение слайда
3

Слайд 3: Требования к роботу

Для дистанционных соревнований «Лабиринт» робот строится на основе двухмоторной тележки из контроллера Lego EV3, Lego NXT или TRIK. Датчики расстояния ориентируются один – вперёд, другой – вправо или лево и располагаются так, чтобы они не выступали за габариты тележки для исключения зацепления ими за стенку при поворотах. Датчик света располагается аналогичным образом Время заезда останавливается по истечении 3 минут, когда робот прибыл в финишную ячейку, либо когда робот не может покинуть ячейку в течении 15 секунд. Местонахождения робота фиксируется и производится подсчёт ячеек, которые роботу требуется пройти до зоны финиша по кратчайшему маршруту. Чем меньше количество таких ячеек, тем лучше результат. При равном количестве, побеждает тот, кто затратил меньшее время.

Изображение слайда
4

Слайд 4: Робот ТРИК, датчики расстояния подключены к портам 1 и 2. Модель робота – 2 D модель. Физика – реалистичная физика

Для нахождения выхода из лабиринта применяют правило правой (левой) руки: Если двигаться по лабиринту, держась рукой за правую (левую) стену, то рано или поздно выйдешь выходу из него, либо в точку начала пути, если лабиринт замкнут. Для начала настроим робота в Trik Studio Робот ТРИК, датчики расстояния подключены к портам 1 и 2. Модель робота – 2 D модель. Физика – реалистичная физика

Изображение слайда
5

Слайд 5: Для оптимизации программного кода, сначала не будем составлять полную диаграмму, а создадим три подпрограммы: «Вперед», «Направо» и «Налево». «Вперед» :

Перед написанием главной диаграммы, мы должны настроить каждую из них на виртуальном роботе. Здесь намеренно нет готовых параметров. Их вы должны подобрать при настройке подпрограмм. В Trik Studio имеется возможность сохранить созданную подпрограмму в коллекцию подпрограмм. Тогда Вы можете её использовать при написании другой программы и сэкономите своё время. Делается это так: Инструменты -> Подпрограммы -> Сохранить в коллекцию Поставить галочку напротив подпрограммы "Направо Gyro ", кликнуть ОК «Направо» : «Налево» :

Изображение слайда
6

Слайд 6: Однако, как Вы заметили, если подпрограмма «Вперёд» настраивается достаточно просто, то после поворота налево и направо, робот смещается относительно центра ячейки. А это негативно будет сказываться на всём дальнейшем его движении. При каждом повороте смещение всё больше и когда-то робот просто упрётся в стену

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

Изображение слайда
7

Слайд 7: Так выглядит подпрограмма для поворота направо по энкодеру:

Здесь намеренно искажены настройки блоков ожидания. Их вы должны подобрать при настройке подпрограмм сами

Изображение слайда
8

Слайд 8: Так выглядит подпрограмма для поворота налево по энкодеру:

Здесь намеренно искажены настройки блоков ожидания. Их вы должны подобрать при настройке подпрограмм сами

Изображение слайда
9

Слайд 9: Но кроме энкодера, выполнить поворот можно и по гироскопическому датчику. Поворот направо по гиродатчику:

Изображение слайда
10

Слайд 10: Поворот налево по гиродатчику:

Напоминаю: Во всех примерах намеренно искажены настройки блоков ожидания. Их вы должны подобрать при настройке подпрограмм сами

Изображение слайда
11

Слайд 11: Теперь, когда подпрограммы движений робота написаны, настроены и сохранены в коллекцию, можно приступить к сборке главного алгоритма. Главная программа (Диаграмма поведения робота) будет выглядеть так:

Здесь применены повороты по гиродатчику. Но можно написать программу с поворотами по энкодеру, или комбинировать: например, правый – по энкодеру, левый – по городатчику.

Изображение слайда
12

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

Изображение слайда
13

Последний слайд презентации: Лабиринт (для дистанционных соревнований): Отладка робота в Trik Studio

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

Изображение слайда