Разделы презентаций


Регуляторы для движения по границе черного и белого в TRIK Studio

Содержание

План занятияРегуляторыВетвлениеЗадача движения по границеЗначение серогоРелейные регуляторыДвухпозиционный регуляторКалибровка датчикаКорректировка скоростиТрехпозиционный регулятор

Слайды и текст этой презентации

Слайд 1Регуляторы для движения по границе черного и белого в TRIK Studio
Президентский

физико-математический лицей №239
Сергей Александрович Филиппов

Регуляторы для движения по границе черного и белого в TRIK StudioПрезидентский физико-математический лицей №239 Сергей Александрович Филиппов

Слайд 2План занятия
Регуляторы
Ветвление
Задача движения по границе
Значение серого
Релейные регуляторы
Двухпозиционный регулятор
Калибровка датчика
Корректировка скорости
Трехпозиционный

регулятор

План занятияРегуляторыВетвлениеЗадача движения по границеЗначение серогоРелейные регуляторыДвухпозиционный регуляторКалибровка датчикаКорректировка скоростиТрехпозиционный регулятор

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

Ползунова,
1765 г.

Центробежный регулятор Уатта,
1788 г.

РегуляторРегулятор – это совокупность устройств, обеспечивающих желаемое поведение системы.Поплавковый регулятор Ползунова, 1765 г.Центробежный регулятор Уатта, 1788 г.

Слайд 4Ветвление
Ветвление – часть алгоритма, в которой в зависимости от условия

выполняется один или другой набор действий.
Да
Нет

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

Слайд 5Движение вдоль границы черного и белого
Задача двигаться по границе черного

и белого с помощью датчика освещенности
Значение серого находится на границе

и вычисляется через среднее арифметическое:
grey=(white+black)/2

Для каждого робота свое значение серого, например
grey=25

Калибровка – определение пороговых показаний датчика

25

Движение вдоль границы черного и белогоЗадача двигаться по границе черного и белого с помощью датчика освещенностиЗначение серого

Слайд 6Тележка с одним датчиком освещенности
1
B
C

Тележка с одним датчиком освещенности1BC

Слайд 7Двухпозиционный релейный регулятор
Двухпозиционный релейный регулятор имеет два состояния:
освещенность >

серого,
освещенность ≤ серого.
Двухпозиционный регулятор строится на основе ветвления и

выполняет одно из двух действий:
плавный поворот направо,
плавный поворот налево.
Миллисекунда нужна для отдыха контроллера
Двухпозиционный релейный регуляторДвухпозиционный релейный регулятор имеет два состояния: освещенность > серого, освещенность ≤ серого.Двухпозиционный регулятор строится на

Слайд 8Релейный регулятор: движение вдоль границы черного и белого
Движение на релейном

регуляторе слишком неровное: робота заносит
Для стабилизации можно понизить скорость

Или наоборот

повысить

Релейный регулятор: движение вдоль границы черного и белогоДвижение на релейном регуляторе слишком неровное: робота заноситДля стабилизации можно

Слайд 9Трехпозиционный релейный регулятор
Рассмотрим окрестность вокруг значения серого ±5 процентов
свет>30

| 30≥свет>20 | свет≤20
белый | серый

| черный
Если показания датчика попадают в окрестность, робот движется прямолинейно – новое действие
Трехпозиционный релейный регуляторРассмотрим окрестность вокруг значения серого ±5 процентов свет>30 | 30≥свет>20 | свет≤20  белый |

Слайд 10Пропорциональный регулятор
В задачах автоматического регулирования управляющее воздействие u обычно является

функцией динамической ошибки – отклонения e регулируемой величины x от

ее заданного значения x0:
e =x0 – x

Пропорциональный регулятор – это устройство, оказывающее управляющее воздействие на объект пропорционально его отклонению от заданного состояния.
u = k·e
Здесь k – это коэффициент усиления регулятора.
Пропорциональный регуляторВ задачах автоматического регулирования управляющее воздействие u обычно является функцией динамической ошибки – отклонения e регулируемой

Слайд 11Пропорциональный регулятор: движение по линии
Также как и в релейном регуляторе,

необходимо определить среднее значение grey между черным и белым. Это

будет то состояние датчика освещенности sensor1, к которому должна стремиться система.
e = grey - sensor1

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

Слайд 12Пропорциональный регулятор: калибровка датчика освещенности
Краткая калибровка с понижением, датчик над

белым полем
grey=sensor1-(white-black)/2

Полная калибровка с определением белого и черного
Ожидание нажатия кнопки
Добавить

сигнал с задержкой


Пропорциональный регулятор: калибровка датчика освещенностиКраткая калибровка с понижением, датчик над белым полемgrey=sensor1-(white-black)/2Полная калибровка с определением белого и

Слайд 13Пропорциональный регулятор: калибровка датчика освещенности
Краткая калибровка с понижением, датчик над

белым полем
grey=sensor1-(white-black)/2

Полная калибровка с определением белого и черного
Ожидание нажатия кнопки
Вывод

результата на экран


Пропорциональный регулятор: калибровка датчика освещенностиКраткая калибровка с понижением, датчик над белым полемgrey=sensor1-(white-black)/2Полная калибровка с определением белого и

Слайд 14Движение по линии с двумя датчиками освещенности

Движение по линии с двумя датчиками освещенности

Слайд 15Релейный регулятор: движение с двумя датчиками освещенности
Оба на белом –

движение прямо,
левый (sensor1) на черном, правый (sensor2) на белом –

движение налево,
левый на белом, правый на черном – движение направо,
оба на черном – движение прямо.
Релейный регулятор: движение с двумя датчиками освещенностиОба на белом – движение прямо,левый (sensor1) на черном, правый (sensor2)

Слайд 16Релейный четырехпозиционный регулятор: вложенное ветвление
На каждой ветви проверки первого датчика

идет проверка второго датчика
Алгоритм выполняется только по одной из ветвей
Для

каждого датчика требуется определить свое значение серого (например, 23 или 26)

Релейный четырехпозиционный регулятор: вложенное ветвлениеНа каждой ветви проверки первого датчика идет проверка второго датчикаАлгоритм выполняется только по

Слайд 17Реакция на перекрестки
Издать звуковой сигнал на каждом перекрестке
При звуковом сигнале

без ожидания один перекресток фиксируется несколько раз
При длительном ожидании робот

может сойти с линии
Ожидание не должно превышать 200 мс


Реакция на перекресткиИздать звуковой сигнал на каждом перекресткеПри звуковом сигнале без ожидания один перекресток фиксируется несколько разПри

Слайд 18Подсчет перекрестков
Издать звуковой сигнал на каждом перекрестке
При звуковом сигнале без

ожидания один перекресток фиксируется несколько раз
При длительном ожидании робот может

сойти с линии
Ожидание не должно превышать 200 мс


Подсчет перекрестковИздать звуковой сигнал на каждом перекресткеПри звуковом сигнале без ожидания один перекресток фиксируется несколько разПри длительном

Слайд 19Калибровка с понижением для двух датчиков
Краткая калибровка



Откуда взято вычитаемое число?
Оно

определено заранее как половина разности крайних показаний датчика
grey1=sensor1-(white1-black1)/2
grey2=sensor2-(white2-black2)/2

Для точной калибровки

желательно чистое одноцветное поле вне линии
Для надежности следует сделать паузу перед началом движения
Ожидание нажатия кнопки


Калибровка с понижением для двух датчиковКраткая калибровкаОткуда взято вычитаемое число?Оно определено заранее как половина разности крайних показаний

Слайд 20Реакция на перекрестки
На старте обнулить счетчик перекрестков count=0
Построить цикл с

условием по счетчику count
На каждом перекрестке увеличивать счетчик (один раз!)



Реакция на перекресткиНа старте обнулить счетчик перекрестков count=0Построить цикл с условием по счетчику countНа каждом перекрестке увеличивать

Слайд 21Действия на перекрестках
На заданном перекрестке count==3 остановиться и издать звуковой

сигнал
Для наглядности создать подпрограмму и вызвать ее после увеличения count=count+1
Для

действия на другом перекрестке надо добавить в эту программу еще одну проверку условия



Действия на перекресткахНа заданном перекрестке count==3 остановиться и издать звуковой сигналДля наглядности создать подпрограмму и вызвать ее

Слайд 22Действия на перекрестках
На 5 перекрестке сбить объект (после сигнала на

3 перекрестке)



Действия на перекресткахНа 5 перекрестке сбить объект (после сигнала на 3 перекрестке)

Слайд 23Пропорциональный регулятор: движение по линии с двумя датчиками
Ошибка рассматривается

как разность показаний датчиков
Нет зависимости от показаний на сером
e=sensor1-sensor2


Пропорциональный регулятор: движение по линии с двумя датчиками Ошибка рассматривается как разность показаний датчиковНет зависимости от показаний

Слайд 24Пропорциональный регулятор устранение статической ошибки
Датчики могут быть изготовлены с отклонениями
Разность

показаний на однотонной поверхности - это статическая ошибка
До цикла
est=sensor1-sensor2
В

цикле статическая ошибка устраняется:
e=sensor1-sensor2-est

Пропорциональный регулятор устранение статической ошибкиДатчики могут быть изготовлены с отклонениямиРазность показаний на однотонной поверхности - это статическая

Слайд 25Подпрограммы
Вытащите первый блок «Подпрограмма» на сцену
Назовите её. Блок подпрограммы появится

в палитре
Двойным щелчком по подпрограмме перейдем к диаграмме её алгоритма

ПодпрограммыВытащите первый блок «Подпрограмма» на сценуНазовите её. Блок подпрограммы появится в палитреДвойным щелчком по подпрограмме перейдем к

Слайд 26Реакция на перекрестки
Издать звуковой сигнал на перекрестке
Из-за задержки во время

сигнала робот может сбиться с линии, поскольку он долго едет

вслепую
Нужен сигнал без ожидания завершения

Реакция на перекресткиИздать звуковой сигнал на перекресткеИз-за задержки во время сигнала робот может сбиться с линии, поскольку

Слайд 27Пропорциональный регулятор: калибровка с ожиданием
Для точной калибровки желательно чистое

одноцветное поле вне линии
Для надежности следует сделать паузу перед началом

движения
Ожидание нажатия кнопки
Необходимо объявить все переменные в основной программе


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

Слайд 28Реакция на перекрестки
Сигнал без ожидания «пиликает» постоянно…
Почему?
Скорость робота – примерно

30 см/с
Ширина линии перекрестка – 3 см
На проезд линии робот

тратит примерно 100 мс:
3 см / 30 см/с = 0.1 с
Значит, он успевает получить команду на сигнал около 100 раз
Установим время движения «вслепую» 200 мс – с запасом

Реакция на перекресткиСигнал без ожидания «пиликает» постоянно…Почему?Скорость робота – примерно 30 см/сШирина линии перекрестка – 3 смНа

Слайд 29Реакция на перекрестки
Вложенное ветвление – еще один способ проверки перекрестка

Реакция на перекресткиВложенное ветвление – еще один способ проверки перекрестка

Слайд 30Полная калибровка для двух датчиков
Для точной калибровки отдельно считывается черное,

отдельно белое поле
Ожидание нажатия кнопки

Полная калибровка для двух датчиковДля точной калибровки отдельно считывается черное, отдельно белое полеОжидание нажатия кнопки

Слайд 31Подсчет перекрестков
П-регулятор поместить в отдельную подпрограмму
Обнуляем счетчик count и задаем

все переменные до программы
Повторяем цикл, пока значение счетчика меньше 5
На

каждом перекрестке добавляем в счетчик 1 count=count + 1






Подсчет перекрестковП-регулятор поместить в отдельную подпрограммуОбнуляем счетчик count и задаем все переменные до программыПовторяем цикл, пока значение

Слайд 32Увеличение счетчика
На каждом перекрестке добавляем в счетчик 1 count=count +

1

Увеличение счетчикаНа каждом перекрестке добавляем в счетчик 1 count=count + 1

Слайд 33Усовершенствованный проезд перекрестка
В начале запоминаем время
На каждом перекрестке обновляем время
Засчитываем

перекресток только через 200 мс

Усовершенствованный проезд перекресткаВ начале запоминаем времяНа каждом перекрестке обновляем времяЗасчитываем перекресток только через 200 мс

Слайд 34Действия на перекрестках
Подпрограмма «Действия» добавляется сразу после увеличения счетчика

Действия на перекресткахПодпрограмма «Действия» добавляется сразу после увеличения счетчика

Слайд 35Реакция на объект
Подпрограмма «Действия» сдвигает банки на каждом втором перекрестке
Условие

четности перекрестка:
count % 2 == 0

Реакция на объектПодпрограмма «Действия» сдвигает банки на каждом втором перекресткеУсловие четности перекрестка: count % 2 == 0

Слайд 36Благодарю за внимание!
Сергей Александрович Филиппов
Президентский физико-математический лицей № 239
Санкт-Петербург
safilippov@gmail.com

Благодарю за внимание!Сергей Александрович Филиппов Президентский физико-математический лицей № 239Санкт-Петербургsafilippov@gmail.com

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика