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

Релейный регулятор

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

Рассмотрим пример трехколесной (одно колесо пассивное) роботизированной тележки с одним датчиком освещенности, который должен двигаться по плоской поверхности вдоль границы черного и белого.


Рис. 5.1.

Регулирующим органом объекта в данном случае будут два колеса, подключенные к сервоприводам. Регулируемая величина - положение датчика освещенности, привязанное к конкретному значению уровня освещенности. Нагрузка на объект (возмущающее воздействие) - это движение робота вперед вдоль линии границы. Поскольку линия может быть кривой, а также вследствие других факторов при отсутствии регулирующего воздействия робот непременно съедет с линии.

Подключим левый мотор на порт В, правый - на порт С (такой выбор портов - традиция для наборов Mindstorms NXT). Стартовая позиция робота - датчик на белом. Построим программный регулятор, который обеспечит движение по дуге в сторону черного, пока робот на белом, и движение по дуге в сторону белого, пока робот на черном. Для этого выключается или резко понижается мощность одного из моторов. Вот реализация на RobotC.

while (true) { // grey - значение серого if (SensorValue[S1]>grey) { Motor[MotorB]=100; Motor[MotorC]=0; } else { Motor[MotorB]=0; Motor[MotorC]=100; } wait1msec(1); }

Здесь SensorValue[S1] обозначает получения результатов измерения датчика подключенного к порту S1, в данном случае подразумевается, что это датчик освещённости. Команда Motor[MotorC]=100 устанавливает скорость вращения мотора C на 100% вперёд, диапазон при этом от -100 до 100. Команда wait1msec(1) устанавливает задержку в одну миллисекунду, необходимую для того, что бы устройство успело выполнить подаваемую команду.

Значение "серого" (grey) может быть константой для данной системы или вырабатываться в результате предварительной калибровки как среднее арифметическое черного и белого.


Рис. 5.2.

Под управлением такого регулятора робот движется вдоль линии границы по ломаной кривой, периодически наезжая то на черное, то на белое. Скорость его невысока, стабильность тоже, а траектория движения оставляет желать лучшего. Все это издержки использования двухпозиционного релейного регулятора.