Когда программа из прошлой заметки будет запущена на реальном роботе, то в большинстве случаев будет заметно, что тележка не ведет себя полностью так, как ожидалось. Ведь судя по диаграммам приведенным в начале прошлой заметке, в поведении моторов должен наступать такой момент, когда один из них должен целиком остановиться, в то время как другой должен ехать с максимально возможной скоростью. Этого не происходит. |
Чтобы разобраться почему так происходит, можно составить таблицу, показывающую предполагаемую мощность на моторах в зависимости от показаний датчика освещенности.
Для составления таблицы еще раз укажем формулы зависимости мощностей от показаний датчика, а также будем считать, что датчик на самом светлом участке поля (Lmax) показывает 60%, а на темном (Lmin) - 24%, таким образом получается, что ожидаемая освещенность на границе линии (LA) - 42%.
Следовательно, необходимо придумать механизм (преобразование), который бы позволил при отклонении в -18 или 18 получать терминальные значения мощности (0% и 100%). Для этого запишем значения мощности в виде минимального и максимального необходимых значений: -50 и 50, с учетом того, что "средняя" мощность 50%.
Т.е. при отклонении -18 мощность на моторе B должна упасть до 0% - измениться на -50 от средней мощности, а при отклонении 18 мощность на моторе B должна наоборот возрасти до 100% - измениться на +50 к средней мощности.
Поэтому преобразовать надо -18 в -50, или увеличить -18 в 2,78 раз, чтобы получить -50, и в тоже самое время для преобразования 18 в +50, надо 18 увеличить в эти же 2,78 раз.
Необходимо напомнить, что 18 (или -18) - это отклонение текущей освещенности от освещенности на границе линии - LA - L. Таким образом, формулы определяющие зависимость мощности на моторах от освещенности теперь приобретут такой вид:
За счет этой небольшой модификации, значения мощностей, вычисленных по данным формулам, будут иметь уже вполне ожидаемый вид - изменяться от 0% до 100%. При 24% освещенности (Lmin) - колесо B будет вращаться с максимальной скоростью, а при 60% освещенности (Lmax) - полностью остановится.
Значение "2,78" называют коэффициентом пропорциональной составляющей линейного регулятора. Он не будет одним и тем же во всех программах, поскольку напрямую зависит от диапазона значений датчика освещенности, которые он может выдавать на конкретном поле при расположении на определенной высоте над поверхностью поля и в зависимости от многих других параметров.
При условиях, подобных текущему, когда средняя мощность должна быть 50%, и моторы должны варьировать свою мощность от 0% до 100% (т.е. изменяться максимум на 50 от средней мощности), формула определения коэффициента пропорционального регулятора будет следующей.
Также следует записать в более общем виде формулу зависимостей мощностей.
Комментариев нет:
Отправить комментарий