steel_monkey » 21 окт 2007, 13:18
Подскажите пожалуйста,каковы результаты изысканий? Щас тоже приступил к подобной теме, правда у меня имеются энкодеры. Но движение по не прямой линии от этого намного проще не стало.
Собственно, принимая, что если скорости колес различны, телега будет двигаться по кругу с радиусом
D*V1
______
V1-V2
, где D это база, а V1 и V2 это линейные скорости колес, ражиус поворота относительно некой точки окажется равным этой величине. Для радиуса поворота 10м, который можно считать приближенно прямой, на длине пути 30 см разница хода колес должна быть 4мм, а разница хода на одну прорезь энкодера 7,5 мм. Получается, что прямой ход можно получить только подсчетом времени, за которое колеса поворачиваются на прорезь (одну или несколько) энкодера. Сейчас думаю о реализации алгоритма подсчета времени. Хочется иметь некое усреднение времени за 2 или 4 сектора энкодера- его можно будет реализовать простой суммой и соответствующим шифтом вправо. Но получается, что если одно колесо движется очень медленно, а другое быстро ( например, я вычерчиваю фигуру), одно колесо пройдет например 3 сектора, а другое 1-ничего не усреднишь. И собственно получается, что количество секторов развязано в алгоритме с временем. То есть непонятно, какой формат данных сделать для рисования фигур и прямой езды- их хотелось бы совместить, а в моём решении придется городить огород для каждого режима. Может у кого есть инфа по этой теме? Желательно на асм, но Си тоже уже онемногу читаю, вьезжаю.