Объезд препятствий на пути
Ранее нами изучены алгоритмы для движения робота по линии.
3.10M
Category: informaticsinformatics

Объезд препятствий на пути

1. Объезд препятствий на пути

Презентация
Объезд препятствий на пути
Логинов Андрей Анатольевич

2. Ранее нами изучены алгоритмы для движения робота по линии.

Релейный регулятор на 2 датчика
Пропорциональный регулятор на 2 датчика

3.

Теперь на этой линии будет расположено препятствие – банка,
которую робот может просто сдвинуть, но этого делать нельзя. Её
необходимо объехать
Нам придется добавить в конструкцию робота датчик
расстояния и подключить его к порту 3

4.

Чтобы решить задачу с объездом банок, разобьём её на несколько
простых задач – подпрограмм:
1. Движение по линии, пока перед роботом нет препятствия;
2. Объезд препятствия и возвращение на линию
Движение по линии, пока перед роботом нет препятствия:
Переименуем открытый проект движения по линии (Файл –
Сохранить как – Новое название)
Создадим подпрограмму «По линии» и скопируем программу
движения по линии (Ctrl+C)
Двойным кликом на значке подпрограммы «По линии», откроем её
в новой вкладке и вставим скопированный код (Ctrl+V). Лишний
«зелёный светофор необходимо удалить.
Удалим стрелку цикла

5.

Так выглядит подпрограмма «По линии»:

6.

Теперь вернемся в Диаграмму поведения робота, удалим всё,
кроме блока «Начало программы», и создадим вторую
подпрограмму «До банки». Двойным кликом по её блоку, откроем
её в новой вкладке.
Здесь будет задано до каких пор выполнять коротких движений по
линии, которые находятся в подпрограмме «По линии»
Теперь обязательно нужно настроить эту подпрограмму на
виртуальном роботе в режиме 2D отладки

7.

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

8.

А Диаграмма поведения робота теперь будет выглядеть так:
Объезд препятствия:
Препятствие можно объехать разными способами: дугой, тремя
движениями вперед, чередующимися с поворотами на 90
градусов, двумя движениями вперед, чередующимися с
поворотами на 120-90 градусов.
Рассмотрим объезд по дуге:
Создадим вкладке «Диаграмма поведения робота» подпрограмму
«Объезд» и кликом на значке подпрограммы «По линии», откроем
её в новой вкладке:
Составим блок диаграмму для
поворота в сторону объезда и
настроим его:

9.

Добавим в диаграмму блоков движение дугой.
Его необходимо выполнять в сторону, обратную сделанному
повороту. И для этого, мотор С включаем вперёд на полную
мощность, а мотор В на 60%. Заканчиваться дуга должна когда
датчик света с внешней стороны дуги, попадет на черную линию
(будет меньше 45)

10.

Теперь в режиме 2D отладки настроим объезд банки полностью:
Добавим в диаграмму блоков движение дугой.
Его необходимо выполнять в сторону, обратную сделанному
повороту. И для этого, мотор С включаем вперёд на полную
мощность, а мотор В на 60%. Заканчиваться дуга должна когда
датчик света с внешней стороны дуги, попадет на черную линию
(будет меньше 45)

11.

Остается перейти на вкладку «Диаграмма поведения робота» и
организовать бесконечный цикл из двух подпрограмм: «До банки» и
«Объезд»
Теперь можно запустить
программу полностью
Если же Вы решили двигаться по линии на пропорциональном
регуляторе, подпрограмма «По линии» будет выглядеть так:
English     Русский Rules