Как объединить два разных типа данных для получения окончательного результата? - PullRequest
0 голосов
/ 20 мая 2018

Я строю робота (2 приводных колеса и один шариковый подшипник).Проблема в том, что я не могу заставить его двигаться прямо.Я буквально нахожу это невозможным, я пытался в течение нескольких недель.

В настоящее время я могу рассчитывать на вращение (обоих двигателей) или показания гироскопа (у меня также есть два гироскопа, каждый около двух шин)

Есть ли способ объединить их вместе, что даст мне более точный способ определить, какой двигатель мне нужно ускорить?

Мои двигатели принимают значение от 0-900 (хотя скорость должна определяться мной, а не фиксированной).Также, если алгоритм существует, я бы хотел получить несколько указаний о том, что мне нужно поменять местами, если я заставлю двигатели двигаться назад.

1 Ответ

0 голосов
/ 28 июня 2018

Проблема в том, что робот не едет прямо, потому что скорости вращения двух двигателей могут быть разными.Например, один может совершать 30 оборотов в секунду, а другой 31. Обычно это решается с помощью колесного энкодера .Используя это, вы получаете разницу вращения двух колес, а затем соответственно меняете скорость двигателя.Гироскоп может дать вам угловую ошибку в единицу времени, например, если робот движется на 5 градусов влево через 2 секунды, тогда скорость правого двигателя должна быть уменьшена.Но насколько это нужно уменьшить, это не тривиальная проблема, потому что в конечном итоге это происходит из-за аппаратной ошибки.Таким образом, вы можете собрать некоторые данные об углах гироскопа, может быть, 10 показаний в секунду и проанализировать данные, чтобы определить, насколько вам нужно уменьшить скорость одного двигателя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...