Алгоритмы: черно-белое движение. Часть V
Автор: Alexander Kolotov на 19:30
На самом деле то одно, то другое колесо замедляет ход, но никогда полностью не останавливается (правда это еще зависит от заряда батареи - описываемое поведение справедливо для полностью заряженных батарей). Это приводит к тому, что даже не на очень крутых поворотах робот теряет трассу. Чтобы разобраться почему так происходит, можно составить таблицу, показывающую предполагаемую мощность на моторах в зависимости от показаний датчика освещенности. Для составления таблицы еще раз укажем формулы зависимости мощностей от показаний датчика, а также будем считать, что датчик на самом светлом участке поля (Lmax) показывает 60%, а на темном (Lmin) - 24%, таким образом получается, что ожидаемая освещенность на границе линии (LA) - 42%. Из этих данных видно, что в то время, как показания на датчике достигают своего минимума или максимума, возможного на этом поле, мощность моторов никогда не доходит до 100%, а также моторы никогда полностью не останавливаются. Вместо этого значения мощности не выходят за пределы диапазона от 32 до 68 процентов.
Поэтому преобразовать надо -18 в -50, или увеличить -18 в 2,78 раз, чтобы получить -50, и в тоже самое время для преобразования 18 в +50, надо 18 увеличить в эти же 2,78 раз. Необходимо напомнить, что 18 (или -18) - это отклонение текущей освещенности от освещенности на границе линии - LA - L. Таким образом, формулы определяющие зависимость мощности на моторах от освещенности теперь приобретут такой вид: Где LA * 2,78 - называют пропорциональной составляющей линейного регулятора управляющего мощностью мотора в зависимости от показаний на датчике освещенности. За счет этой небольшой модификации, значения мощностей, вычисленных по данным формулам, будут иметь уже вполне ожидаемый вид - изменяться от 0% до 100%. При 24% освещенности (Lmin) - колесо B будет вращаться с максимальной скоростью, а при 60% освещенности (Lmax) - полностью остановится.
При условиях, подобных текущему, когда средняя мощность должна быть 50%, и моторы должны варьировать свою мощность от 0% до 100% (т.е. изменяться максимум на 50 от средней мощности), формула определения коэффициента пропорционального регулятора будет следующей. Например, если диапазон значений датчика освещенности - от 10 до 80, то коэффициент будет 1,43; если от 40 до 90, то KP = 2; если от 30 до 50, то KP = 5. Также следует записать в более общем виде формулу зависимостей мощностей. Если же говорить о программировании, то новая программа будет отличаться от предыдущей в незначительной степени - добавить лишь один общий блок, выполняющий операцию преобразования с помощью коэффициента пропорциональной составляющей.
|