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

Содержание

Слайд 2

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

План занятия

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

Слайд 3

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

Регулятор

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

Поплавковый регулятор Ползунова,


1765 г.

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

Слайд 4

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

Ветвление

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

один или другой набор действий.

Да

Нет

Слайд 5

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

Движение вдоль границы черного и белого

Задача двигаться по границе черного и

белого с помощью датчика освещенности
Значение серого находится на границе и вычисляется через среднее арифметическое:
grey=(white+black)/2
Для каждого робота свое значение серого, например
grey=45
Калибровка – определение пороговых показаний датчика

45

Слайд 6

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

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

1

B

C

Слайд 7

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

Двухпозиционный релейный регулятор

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


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

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

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

Движение на релейном регуляторе

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

Или наоборот повысить

Слайд 9

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

Трехпозиционный релейный регулятор

Рассмотрим окрестность вокруг значения серого ±5 процентов
свет>50 |

50≥свет>40 | свет≤40
белый | серый | черный
Если показания датчика попадают в окрестность, робот движется прямолинейно – новое действие
Слайд 10

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

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

1

2

B

C

Слайд 11

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

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

Оба на белом – движение

прямо,
левый (S1) на черном, правый (S2) на белом – движение налево,
левый на белом, правый на черном – движение направо,
оба на черном – движение прямо.
Слайд 12

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

Релейный четырехпозиционный регулятор: вложенное ветвление

На каждой ветви проверки первого датчика идет

проверка второго датчика
Алгоритм выполняется только по одной из ветвей
Для каждого датчика требуется определить свое значение серого (временно 45)
Слайд 13

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

Реакция на перекрестки

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

робот может сбиться с линии, поскольку он едет вслепую дольше 1 с
Нужен сигнал без задержки (no wait)
Слайд 14

Реакция на перекрестки Сигнал без задержки (no wait) «пиликает» постоянно… Почему?

Реакция на перекрестки

Сигнал без задержки (no wait) «пиликает» постоянно…
Почему?
Скорость робота –

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

Контейнер Контейнер – ячейка памяти с числовым значением, которое можно изменить

Контейнер

Контейнер – ячейка памяти с числовым значением, которое можно изменить
Обнулить контейнер
Добавить

в контейнер единицу
Повторять цикл, пока контейнер меньше 5
Слайд 16

Подсчет перекрестков Обнуляем контейнер Повторяем цикл, пока значение контейнера меньше 5

Подсчет перекрестков

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

добавляем в контейнер 1
После цикла – стоп моторы
Робот остановится на первом же перекрестке. Почему?
Добавим задержку и звуковой сигнал