Как и обещано ранее, настало время рассмотреть от чего же еще зависит коэффициент пропорциональности линейного регулятора при движении вдоль линии. В предыдущих заметках было выведено, что он однозначно зависит от освещенности трассы и яркости элементов на ней: |
Данный коэффициент использовался в формуле, которая определяла мощность подаваемую на каждый мотор при том или ином значении освещенности во время движения.
Из графика и из формулы выше видно, что мощность колеблется вокруг некоторого среднего значения - 50%. Что по сути обозначает мощность, при которой оба мотора двигаются в одном направлении с одинаковой скоростью, т.е. робот едет прямо, в случае, когда текущее показание освещенности (показание на границе линии) равно LA. Такую мощность мы назвали средней мощностью.
Легко предположить, что бывают ситуации, при которых средняя мощность может принимать другие значения.
Например, если линия, вдоль которой происходит движение, практически не изменяет своего направления, средняя скорость может быть больше, потому что ситуации, когда робот выскочит за линию и начнет снова ее искать, очень редки.
при большой нагрузке на робота или при севших батарейках скорость придется увеличить, иначе робот будет двигаться слишком медленно и т.д.
Итак, для простоты объяснения рассмотрим оба варианта: один, когда средняя скорость меньше 50%, и второй, когда скорость больше 50%.
Первый вариант: PA (средняя скорость ) > 50%
Представим, что робот едет по границе линии, а затем съезжает с нее, т.е. сначала освещенность примерно равна LA, а а затем увеличивается до Lmax.
Одно из колес при этом должно полностью остановиться, чтобы движение второго вернуло робота на линию, т.е. мощность на этом колесе должна измениться со значения PA до 0.
В действительности, если продолжать рассчитывать коэффициент и мощность по старым формулам, то произойдет примерно следующее:
Пусть LA = 42, а Lmax = 60, а PA = 70, тогда KP = 2,78.
Следовательно, значения, использующиеся в формуле вычисления мощности должны быть изменены таким образом, чтобы обеспечить изменение мощности от PA до 0 при изменении освещенности от LA до Lmax. Иными словами, каждому значению из диапазона от LA до Lmax должно быть поставлено в соответствие значение мощности от PA до 0.
Первый вариант: PA (средняя скорость ) < 50%
Робот сейчас и так едет достаточно медленно, но дело еще усугубляется тем, что при сильном съезде с границы линии робот не спешит возвращаться на нее - особенно это актуально для трассы с крутыми поворотами представленной на картинке выше.
Чтобы добиться подачи максимально возможной энергии на мотор нужно сопоставить каждому значению из диапазона LA .. Lmax значение мощности от PA до 100. Проделаем преобразования, аналогичные тем, что представлены выше:
В двух вариантах для вычисления коэффициента получились две разные формулы, которые отличаются лишь верхней частью делимого. Можно рассмотреть, есть ли какая-нибудь закономерность в этих частях, так чтобы все-таки свести их к единой формуле.
В формуле умышленно брались Pmax и Pmin вместо 100 и 0, для того чтобы показать, что в определенных случая желаемые максимальные и минимальные мощности могут отличаться от предельно допустимых, если программист робота точно понимает какого результата он хочет добиться. Но в большинстве случаев, вместо Pmax следует использовать 100, а вместо Pmin - 0.
На языке NXT-G данное вычисление коэффициента пропорциональности линейного регулятора для движения робота-тележки вдоль границы черной линии может выглядеть следующим образом:
Комментариев нет:
Отправить комментарий