СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Презентация на тему "Обнаружение и подсчет перекрестков" (LegoMindstorms EV3)

Категория: Технология

Нажмите, чтобы узнать подробности

Презентация на тему "Обнаружение и подсчет перекрестков" (LegoMindstorms EV3).

Повторение материала по теме: "Движение на заданное расстояние"

Дается описание алгоритма пропорционального управления с двумя датчиками освещенности с пропорциональным регулятором.

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

Просмотр содержимого документа
«Презентация на тему "Обнаружение и подсчет перекрестков" (LegoMindstorms EV3)»

Обнаружение и подсчет перекрестков ПДО Скрыпник Е.В. Тема: Агоритмы прохождение препятствий

Обнаружение и подсчет перекрестков

ПДО Скрыпник Е.В.

Тема: Агоритмы прохождение препятствий

Движение на заданное асстояние На время На градусы На обороты Если нужно проехать 1 метр, что нужно измерить? Время? Диаметр колеса? d=68,8 мм = 6,88 см Вычислим За 1 оборот расстояние робот проедет L=3,14*6,88=21,6см Сколько оборотов он сделает на расстоянии 100 см? Ответ: 100см : 21,6 см = 4,62962962962963 = 4,63 оборота Как найти градусы? Нужно количество оборотов умножить на 360 (столько градусов в окружности), получится 1666,7 и это намного точнее оборотов!

Движение на заданное асстояние

  • На время
  • На градусы
  • На обороты

Если нужно проехать 1 метр, что нужно измерить?

  • Время?
  • Диаметр колеса?
  • d=68,8 мм = 6,88 см
  • Вычислим
  • За 1 оборот расстояние робот проедет L=3,14*6,88=21,6см
  • Сколько оборотов он сделает на расстоянии 100 см?
  • Ответ: 100см : 21,6 см = 4,62962962962963 = 4,63 оборота
  • Как найти градусы?
  • Нужно количество оборотов умножить на 360 (столько градусов в окружности), получится 1666,7 и это намного точнее оборотов!
Сколько оборотов требуется на расстояние 92см? Ответ: 92см: 21,6см = 4,25 оборота Сколько оборотов нужно, чтобы проехать 75см? 75см : 21,6 см = 3,47 Учитываем погрешность : чем выше скорость, тем больше тормозной путь (инерция движения)
  • Сколько оборотов требуется на расстояние 92см?

Ответ: 92см: 21,6см = 4,25 оборота

  • Сколько оборотов нужно, чтобы проехать 75см?

75см : 21,6 см = 3,47

  • Учитываем погрешность : чем выше скорость, тем больше тормозной путь (инерция движения)
Основной алгоритм движения – пропорциональный алгоритм управления с двумя датчиками Вариант базовой программы движения: Кр=1,5 , подбор по ситуации, изменяем Кр на +-0,01(от 1,49 до 0,91…)

Основной алгоритм движения – пропорциональный алгоритм управления с двумя датчиками

Вариант базовой программы движения:

Кр=1,5 ,

подбор по ситуации, изменяем Кр на +-0,01(от 1,49 до 0,91…)

Пример программы движения по черной линии с пропорциональным регулятором Используем переменную Кр=0,91 и блок математики. Формула: (а-b)*c= , где с=Кр, а результат подается на рулевое управление моторами

Пример программы движения по черной линии с пропорциональным регулятором

Используем переменную Кр=0,91 и блок математики.

Формула: (а-b)*c= , где с=Кр, а результат подается на рулевое управление моторами

Задача 1: обнаружить перекресток и остановиться на нём

Задача 1: обнаружить перекресток и остановиться на нём

Алгоритм решения задачи

Алгоритм решения задачи

Данные эксперимента Кр=0,91 – коэффициент пропорционального движения, может принимать значение от 1,1 до 0,9, определяем подбором для текущей освещенности,  +- 0,01 Рассчитаем среднее значение освещенности (например, освещенность на белом поле S1=89, освещенность на черном поле S2=10  Ser=(68+10):2 =78:2= 39 Если показания датчиков сильно отличаются, лучше подобрать другой датчик

Данные эксперимента

  • Кр=0,91 – коэффициент пропорционального движения, может принимать значение от 1,1 до 0,9, определяем подбором для текущей освещенности, +- 0,01
  • Рассчитаем среднее значение освещенности (например, освещенность на белом поле S1=89, освещенность на черном поле S2=10 Ser=(68+10):2 =78:2= 39

Если показания датчиков сильно отличаются, лучше подобрать другой датчик

Пример программы обнаружения перекрестка: Вводим переменную Ser=40 (режим записи) 2 блока сравнения показаний датчиков с Ser Блок логики выполнения условия Цикл выполняется, пока не выполнится условие (значения обоих датчиков = Ser)

Пример программы обнаружения перекрестка:

Вводим переменную Ser=40 (режим записи)

2 блока сравнения показаний датчиков с Ser

Блок логики выполнения условия

Цикл выполняется, пока не выполнится условие (значения обоих датчиков = Ser)

Зачем нужны переменные? При калибровке датчиков легче изменить значение одной переменной, чем всю программу Для уменьшения программы создаем подпрограмму ( Мой блок Cross) с входными параметрами: Left – текущее значение левого датчика Right - текущее значение правого датчика Ser – знач.перем. выходной параметр: Result – результат функции И

Зачем нужны переменные?

  • При калибровке датчиков легче изменить значение одной переменной, чем всю программу
  • Для уменьшения программы создаем подпрограмму ( Мой блок Cross) с входными параметрами:
  • Left – текущее значение левого датчика
  • Right - текущее значение правого датчика
  • Ser – знач.перем.

выходной параметр:

  • Result – результат функции И
Создание и настройка параметров блока Cross 3 входных числовых параметра: Left, Right, Ser  1 выходной логический параметр Result

Создание и настройка параметров блока Cross

  • 3 входных числовых параметра: Left, Right, Ser
  • 1 выходной логический параметр Result
Подпрограмма Cross

Подпрограмма Cross

Программа обнаружения перекрестка и остановки на нём

Программа обнаружения перекрестка и остановки на нём

Задача 2: Подсчет перекрестков. Остановиться после перекрестка 4 Создаем числовую переменную для подсчета перекрестков V1, начальное значение = 0; Создаем числовую переменную N для хранения количества требуемых перекрестков = 4; Вносим изменения в программу обнаружения перекрестков: Анализируем результат работы цикла: если Истина, то включаем звуковой сигнал и проезжаем 0,2 оборота, чтобы съехать с линии, к значению переменной V1=V1+1; Сравниваем значение V1 и N, если Истина, то завершение цикла  Анализируем результат работы цикла: если Истина, то включаем звуковой сигнал и проезжаем 0,2 оборота, чтобы съехать с линии, к значению переменной V1=V1+1; Сравниваем значение V1 и N, если Истина, то завершение цикла

Задача 2: Подсчет перекрестков. Остановиться после перекрестка 4

  • Создаем числовую переменную для подсчета перекрестков V1, начальное значение = 0;
  • Создаем числовую переменную N для хранения количества требуемых перекрестков = 4;
  • Вносим изменения в программу обнаружения перекрестков:
  • Анализируем результат работы цикла: если Истина, то включаем звуковой сигнал и проезжаем 0,2 оборота, чтобы съехать с линии, к значению переменной V1=V1+1; Сравниваем значение V1 и N, если Истина, то завершение цикла
  • Анализируем результат работы цикла: если Истина, то включаем звуковой сигнал и проезжаем 0,2 оборота, чтобы съехать с линии, к значению переменной V1=V1+1;
  • Сравниваем значение V1 и N, если Истина, то завершение цикла
Дополнения к программе:

Дополнения к программе:

Задача: Роботу необходимо повернуть вокруг левого колеса на 45  Расстояние между центрами колес R=15 см, Для поворота на Х=45  роботу необходимо проехать расстояние P: Подставим значения, вычислим, получим P=117,6мм При диаметре 56мм за один оборот робот проезжает 175,84мм, Тогда количество оборотов правого колеса при повороте:

Задача: Роботу необходимо повернуть вокруг левого колеса на 45

  • Расстояние между центрами колес R=15 см,
  • Для поворота на Х=45  роботу необходимо проехать расстояние P:
  • Подставим значения, вычислим, получим P=117,6мм
  • При диаметре 56мм за один оборот робот проезжает 175,84мм,
  • Тогда количество оборотов правого колеса при повороте:
Вычислим количество оборотов правого колеса Программа поворота робота на 45  при мощности 50 может быть реализована следующим образом: Тогда количество оборотов N правого колеса при повороте:

Вычислим количество оборотов правого колеса

  • Программа поворота робота на 45  при мощности 50 может быть реализована следующим образом:
  • Тогда количество оборотов N правого колеса при повороте:
Обратите внимание: Для преодоления инерции движения после блока движения моторов ставим блок торможения, несмотря на то, что блок движения имеет параметр «Тормозить в конце»

Обратите внимание:

  • Для преодоления инерции движения после блока движения моторов ставим блок торможения, несмотря на то, что блок движения имеет параметр «Тормозить в конце»
Поворот робота вокруг центра на угол 180  Допустим, расстояние между колесами робота 120 мм, диаметр колес 56мм  Введем данные в блок математика, где a – расстояние между колесам , b – диаметр колес, c – угол поворота , Результат вводим на блок Рулевое Управление на параметр ГРАДУС

Поворот робота вокруг центра на угол 180

  • Допустим, расстояние между колесами робота 120 мм, диаметр колес 56мм
  • Введем данные в блок математика, где
  • a – расстояние между колесам ,
  • b – диаметр колес,
  • c – угол поворота ,
  • Результат вводим на блок Рулевое Управление на параметр ГРАДУС