Я задаю здесь еще один вопрос в связи с моим предыдущим .
Я хотел бы знать, как поступить, если вы хотите управлять тяжелым роботом с дифференциальным приводом. Когда дело доходит до отправки значений ШИМ, я не могу управлять роботом, т.е. не могу заставить робота двигаться по прямой.
Другой проблемой будет торможение робота. Подумайте о 100 кг при максимальном весе, поэтому у него будет МНОГО импульса и инерции. Зная это, что бы вы сделали, чтобы контролировать его движение с помощью системы дифференциального привода, и как бы вы контролировали поломку?
Примечание: это не должно рассматриваться как хобби-проект. Думайте об этом как о лучшем способе реализации.
Один ответ: системы с замкнутым контуром и/или слияние датчиков
Вы не можете просто посылать мотору правильные команды и ожидать, что робот будет действовать именно так, как вы ожидаете. Подумайте об очень-очень небольшой разнице в крутящем моменте, создаваемом двумя вашими двигателями, которые получили два одинаковых ШИМ-сигнала (из-за производственных допусков двигателя). Один будет двигаться немного быстрее другого, и робот будет бегать по кругу (очень большому, но все же кругу), а не по прямой. Ответом на эту проблему является замкнутый контур управления. Ваши двигатели или ваши колеса будут иметь энкодеры. И ваша система управления будет получать сигналы от энкодеров и реагировать таким образом, чтобы ваши колеса делали именно то, что вы от них ожидаете.
Но в случае с автономным роботом этого недостаточно. Подумайте о том, чтобы колесо было немного больше другого из-за износа или просто из-за производственных допусков. Или подумайте о колесе, которое немного скользит по полу. В этом случае вы больше не знаете наверняка, где вы находитесь. Этот метод называется одометрией или счислением пути. Чтобы решить эту проблему, вы должны использовать датчики, которые добавляют знания о вашей среде в вашу систему. (Обзор, датчик приближения, бамперы, магнитометр, гироскопы и т.д.). Затем используются передовые алгоритмы, чтобы использовать лучшее от каждого датчика на каждом временном шаге.
Микеа15
Блуп1980