Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Движение вдоль стены робота кратко

Лекция



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

Пропорционально-дифференциальный регулятор.

ПИД-регулятор

Движение вдоль стены робота
Схема, иллюстрирующая принцип работы ПИД-регулятора. Коэффициенты перед интегралом и производной опущены для большей наглядности иллюстрации.

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

Если какие-то из составляющих не используются, то регулятор называют пропорционально-интегральным,пропорционально-дифференциальным, пропорциональным и т. п.

Общие сведения

Пропорциональная составляющая

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

Однако при использовании только пропорционального регулятора значение регулируемой величины никогда не стабилизируется на заданном значении. Существует так называемая статическая ошибка, которая равна такому отклонению регулируемой величины, которое обеспечивает выходной сигнал, стабилизирующий выходную величину именно на этом значении. Например, в регуляторе температуры выходной сигнал (мощность нагревателя) постепенно уменьшается при приближении температуры к заданной, и система стабилизируется при мощности равной тепловым потерям. Температура не может достичь заданного значения, так как в этом случае мощность нагревателя станет равна нулю, и он начнет остывать.

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

Интегральная составляющая

Интегральная составляющая пропорциональна интегралу от отклонения регулируемой величины. Ее используют для устранения статической ошибки. Она позволяет регулятору со временем учесть статическую ошибку.

Если система не испытывает внешних возмущений, то через некоторое время регулируемая величина стабилизируется на заданном значении, сигнал пропорциональной составляющей будет равен нулю, а выходной сигнал будет полностью обеспечивать интегральная составляющая. Тем не менее, интегральная составляющая также может приводить к автоколебаниям.

Дифференциальная составляющая

Дифференциальная составляющая пропорциональна темпу изменения отклонения регулируемой величины и предназначена для противодействия отклонениям от целевого значения, которые прогнозируются в будущем. Отклонения могут быть вызваны внешними возмущениями или запаздыванием воздействия регулятора на систему.

Теория


Выходной сигнал регулятора u определяется тремя слагаемыми:Назначение ПИД-регулятора — в поддержании заданного значения x0 некоторой величины x с помощью изменения другой величины u. Значение x0 называетсязаданным значением (или уставкой, в технике), а разность e = (x0 − x) — невязкой (или ошибкой [регулирования], в технике), рассогласованием или отклонением величины от заданной.

Движение вдоль стены робота,

где Кp, Кi, Кdкоэффициенты усиления пропорциональной, интегральной и дифференциальной составляющих регулятора, соответственно.

Большинство методов настройки ПИД-регуляторов используют несколько иную формулу для выходного сигнала, в которой на пропорциональный коэффициент усиления умножены также интегральная и дифференциальная составляющие:

Движение вдоль стены робота

В дискретной реализации метода расчета выходного сигнала уравнение принимает следующую форму:

Движение вдоль стены робота,

где Движение вдоль стены робота — время дискретизации. Об этом говорит сайт https://intellect.icu . Используя замену Движение вдоль стены робота можно записать:

Движение вдоль стены робота

В программной реализации для оптимизации расчетов переходят к рекуррентной формуле:

Движение вдоль стены робота

Движение вдоль стены робота
Система управления с обратной связью с участием ПИД-регулятора. Система управляет величиной y(t), т.е. выводит величину y(t) на заданное извне значение u(t). На вход ПИД-регулятора подается ошибка e(t), выход ПИД-регулятора является управляющим воздействием для некоторого процесса (для объекта управления), управляющего величиной y(t).

Часто в качестве параметров ПИД-регулятора используются:

  • относительный диапазон

Движение вдоль стены робота

  • постоянные интегрирования и дифференцирования, имеющие размерность времени

Движение вдоль стены робота

Движение вдоль стены робота

Следует учитывать, что термины используются по-разному в различных источниках и разными производителями регуляторов.

Ссылки

  • Принципы работы ПИД-регуляторов
  • Реализация ПИД регулятора на C++
  • Перевод статьи «Просто о ПИД-алгоритмах»

Не правда ли программа, заданная в качестве задачки на понимание NXT-G вэтом посте, похожа на программы, поясняющие движение вдоль линии, в этом?

Движение вдоль стены робота
Движение вдоль стены робота

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

Если быть более точным, то в задаче робот поворачивает вправо, если расстояние на сенсоре меньше 14 см. и влево, если расстояние на сенсоре больше 16 см. Сложно представить, для чего может понадобиться такое движение, если сенсор смотрит вперед или назад. Но многое встает на свои места, если предположить, что сенсор установлен на одном из бортов робота и смотрит в сторону.

Движение вдоль стены робота

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

Движение вдоль стены робота

Кстати, этот вариант ответа ( движение вдоль стены ) тоже был среди ответов, которые были присланы после публикации задачи.

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

Сейчас же хотелось бы обратить внимание на одну деталь, об которую довольно часто "спотыкаются" те, кто только начинает реализовывать дивжение вдоль стены.

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

Решение этой проблемы, традиционно, не одно. Оно может быть как программным, так и конструкторским. Например, можно не фиксировать датчик жестко, а поставить его на мотор.
Движение вдоль стены робота
Таким образом, после поворота робота, скажем, налево, сенсор расстояния поворачивается, стараясь быть направленным прямо на стену. А при повороте направо, мотор поворачивает сенсор в другую сторону:


Движение вдоль стены робота

Движение вдоль стены робота

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

5.1.7. Движение вдоль стенки

Решим такую задачу. Робот должен двигаться вдоль стенки на заданном расстоянии L. Предположим, что левое колесо робота управляется мотором В, правое - мотором С, а датчик расстояния, подключенный к порту 1, закреплен несколько впереди корпуса тележки (это важно!) и направлен на стенку справа по ходу движения.

Движение вдоль стены робота

Рис. 5.6.

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

Моторы двигаются со средней скоростью 50, но при отклонении от заданного курса на них осуществляется управляющее воздействие up. Снова обозначим это следующим образом.

    Motor[MotorB]=50+up;
    Motor[MotorC]=50-up;
    

Осталось определить, чему будет равно управляющее воздействие. Это нетрудно:

up=k*(s1-L);

Таким образом, при Движение вдоль стены робота робот не меняет курса и едет прямо. В случае отклонения его курс корректируется. Здесь Движение вдоль стены робота - это некоторый усиливающий коэффициент, определяющий воздействие регулятора на систему. Для робота NXT средних размеров коэффициент k может колебаться от 1 до 10 в зависимости от многих факторов. Предлагаем подобрать его самостоятельно.

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

5.1.8. Пропорционально-дифференциальный регулятор
Движение вдоль стены робота

Рис. 5.7.

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

Движение вдоль стены робота

Рис. 5.8.

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

Движение вдоль стены робота

где Движение вдоль стены робота - текущее расстояние до стенки, Движение вдоль стены робота - расстояние на предыдущем шаге.

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

Движение вдоль стены робота

Таким образом, ПД-регулятор описывается формулой из двух слагаемых

Движение вдоль стены робота

Можно показать, что для устойчивого достижения цели коэффициент Движение вдоль стены робота при дифференциальной составляющей должен превышать Движение вдоль стены робота (см. ниже статью "Элементы теории автоматического управления в школе").

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

Sold=L=S1; 
    while(true)
    {
    upd= k1*(S1-L) + k2*(S1-Sold); 

    Motor[MotorB]=50+upd;
    Motor[MotorC]=50-upd;

    Sold=S1; 
    wait1msec(1);
    }
    

Для объезда предметов потребуется ввести контроль показаний датчика расстояния: при резком изменении робот должен делать вывод о возможном повороте, который надо будет производить с другими коэффициентами.

А как ты думаешь, при улучшении движение вдоль стены, будет лучше нам? Надеюсь, что теперь ты понял что такое движение вдоль стены и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Робототехника

создано: 2014-08-18
обновлено: 2021-03-13
133347



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Робототехника

Термины: Робототехника