Similar presentations:
Объезд препятствий на пути
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.
Остается перейти на вкладку «Диаграмма поведения робота» иорганизовать бесконечный цикл из двух подпрограмм: «До банки» и
«Объезд»
Теперь можно запустить
программу полностью
Если же Вы решили двигаться по линии на пропорциональном
регуляторе, подпрограмма «По линии» будет выглядеть так: