Робот никогда не идет прямо

19

Я использую 2 одинаковых двигателя постоянного тока и колесико. Двигатели подключены к приводу двигателя L293D и управляются RPi .

Робот не едет прямо. Это отклоняется вправо. Я использую оба двигателя на 100% ШИМ .

Что я пытался исправить ошибку:

  1. Я отрегулировал ШИМ колеса, идущего быстрее, до 99% , но робот просто поворачивается на другую сторону;
  2. Я отрегулировал вес робота, и проблема все еще сохраняется.

Однажды я попытался запустить мотор без нагрузки. Является ли это причиной того, что, как мне позже сказали, работа двигателя постоянного тока без нагрузки повреждает их?

Если это не причина, то, пожалуйста, скажите мне, как решить эту проблему, не используя датчики для управления ею.

мышь
источник
В конфигурации с дифференциальным приводом, которую я представляю, вы используете, это очень вероятно. Небольшая разница между двумя двигателями приведет к вращению робота.
Деметрис
4
Добро пожаловать в разомкнутый контур. Вам нужны собственные датчики (ваши глаза), чтобы самостоятельно определить проблему. Как вы думаете, сможет ли робот обнаружить ее без дополнительных датчиков? Замыкание контура управления датчиками - это путь.
гибочный узел 22
1
Шаговые двигатели могут работать, если вы хотите избежать датчиков.
@bdares - Если нет датчиков, как робот узнает, когда нужно исправить курс? Если одно колесо попадает в область с низким коэффициентом трения (например, пыль) и скользит, робот поворачивает и никогда не исправится.
Чак
Когда вы говорите, что нет датчиков, это может означать отсутствие внешнего зондирования или вы также исключаете датчики на колесах? потому что это типичное решение этой проблемы.
JamesRyan

Ответы:

29

Я отправляю это как ответ , потому что это ответ.

Ты не можешь

Как упоминает @ BendingUnit22, вы пытаетесь управлять «без обратной связи». Шум и колебания означают, что ваш робот никогда не будет двигаться по совершенно прямой линии.

Двигатели могут иметь разные сопротивления обмоток (разные токи / крутящий момент), колеса могут быть разных размеров, колеса могут иметь разные тяговые характеристики, подшипник ролика может быть «жестким», ролик может быть не совсем прямым, когда автомобиль запускается. у пола могут быть различные характеристики трения поверхности (читай: пыль или ковер) - этот список можно продолжать и продолжать.

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

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

Чак
источник
5
Точно! Вопрос заключается в утверждении «Я использую 2 одинаковых двигателя постоянного тока». Они никогда не бывают полностью идентичными, и, как упоминает @Chuck, есть целый ряд других соображений. Единственное, что определенно в робототехнике, это то, что появятся ошибки и шум.
Ryan Loggerythm
2
Использование двух колес на одной оси должно по-прежнему давать гораздо лучшие результаты, чем использование двух одинаковых двигателей, не так ли?
Джон Дворак
@JanDvorak - я не совсем уверен, что вы имеете в виду, когда говорите «два колеса на одной оси», но я считаю, что понятно / подразумевается, что два колеса находятся на одной геометрической оси. Если вы имеете в виду ту же ось управления (как в одном двигателе) или ось (опять-таки подразумевается один двигатель), то я хотел бы отметить, что невозможно выполнить дифференциальное рулевое управление с заблокированной осью. Для того чтобы один двигатель мог управлять обоими колесами на разных скоростях, требуется дифференциал (и другое оборудование), а дифференциал эффективно разбивает ось на две части, и вы возвращаетесь на круги своя.
Чак
Я имел ввиду одну ось, извини. Я не знал, что было требование, чтобы иметь возможность идти не прямо?
Джон Дворак
2
@JanDvorak - Я считаю, что робот OP - это автомобиль в стиле микромузей. Даже если бы он только шел прямо и использовал одну ось, все остальные источники ошибок все еще применяются. Если одно колесо на 0,1% больше в диаметре, чем другое, то оно будет перемещаться на длину пути, которая на 0,1% дальше, чем меньшая шина за оборот . Скажем, например, номинальный размер колеса составляет 10 см, а расстояние между колесами составляет 10 см. Большая шина составляет 10,01 см и перемещается на 0,0314 см дальше за оборот . Для колесной базы робот поворачивается на 0,12 градуса за оборот колеса . 0.01 см может легко быть от пыли на одной шине.
Чак
6

Поскольку проблема разомкнутого контура уже упоминалась, я дам комментарий: «Однажды я пытался запустить двигатель постоянного тока без нагрузки».
Да, вы можете повредить свой двигатель этим, но вы также можете повредить или разрушить свой двигатель с нагрузкой. Разрушение происходит от текущей и результирующей температуры. Если нет дыма и какого-то явного запаха, исходящего от двигателя, он, скорее всего, не поврежден. По своему опыту я могу сказать, что двигатели постоянного тока для хобби в широком масштабе начнут деградировать при температуре выше 100 ° C. И вы обязательно заметите такие температуры

РЕДАКТИРОВАТЬ:
Я снова подумал об этом, и я мог бы понять, о чем ваш коллега мог говорить. Есть особый вид AC-Motor. Это невозбужденные синхронные двигатели. В основном они созданы для самоуничтожения. Если вы включите их, они начнут ускоряться, пока не разберутся. Но если вы возлагаете на них большую нагрузку, они не могут достичь этого состояния только из-за огромного момента, который они должны применить к нагрузке. Таким образом, вы можете использовать их в разумных целях. В любом случае, вы точно не используете такой двигатель в своем приложении.

TobiasK
источник
1
Я также думаю, что, особенно с хобби-моторами, к тому времени, когда вы нагреваете его достаточно, чтобы заметить, что он горячий или пахнет смешно, вы, вероятно, уже сожгли изоляцию на обмотках. Как и много электрооборудования, оно либо работает нормально, либо сломано. Там не так много промежуточных случаев.
Чак
Там не было такого дыма или каких-либо видимых повреждений. Так что, может быть, он не поврежден, так как я пробежал его менее чем за полминуты.
Мышь
2

То, что вы описываете, называется управлением разомкнутым контуром, и для этого вам нужны два одинаковых двигателя, два одинаковых колеса, центр тяжести робота в центре между колесами, идеальная симметричная электрическая цепь, и, наконец, идеальная ровная поверхность для бега.

Для этого вы обычно заказываете десятки или сотни каждой детали, а затем проводите серьезное тестирование, чтобы найти два двигателя, наиболее близких друг другу по мощности и скорости в зависимости от напряжения и ШИМ. Сделайте то же самое для колес, контроллеров двигателя и других частей.

Этот процесс называется биннингом - после этих тестов вы сортируете их в соответствии с их возможностями или характеристиками. Это считается намного более дорогостоящим как по времени, так и по ресурсам, чтобы делать это правильно, чем переход на модель с замкнутым контуром, и даже не учитывает плохие условия грунта.

Однако это один из способов удовлетворить ваши требования без дополнительных датчиков.

Адам Дэвис
источник
1

Хотя он никогда не будет идеальным, может быть простой способ сделать его более прямым.

Если при 100% -100% автомобиль всегда поворачивает налево, а при 100% -99% автомобиль всегда поворачивает направо, вы можете улучшить его, попробовав промежуточные значения.

Начните со 100% -99,5% и продолжайте со 100% -99,75% или 100% -99,25% в зависимости от результата. Это скоро должно сойтись с ситуацией, когда вы пойдете прямо «в среднем».

Деннис
источник
0

Что ж, если проблема не в разнице в аппаратном или программном обеспечении для каждого колеса, то это, вероятно, проблема с естественными недостатками в том, как вы построили робота или как были изготовлены двигатели. Соединения могут быть не сплошными или RPI может не выдавать тот же ток. Вы, вероятно, хотите использовать регуляторы скорости. Попробуйте сначала.

Если это не сработает, возможно, ваш производитель не сделал идентичные двигатели, и вам, вероятно, придется просто откалибровать двигатели. Это может означать масштабирование значения более сильного двигателя, чтобы 100% мощности для сильного двигателя соответствовали слабому.

половину картофеля
источник
2
Использование идентичных контроллеров двигателя не решит проблему под рукой. Проблема лежит в основе робототехники, а именно: «Как мне исправить ошибку?»
Ryan Loggerythm
Я слышал, что двигатели постоянного тока могут работать немного медленнее назад и вперед. Кроме того, любой дисбаланс в весе может вызвать некоторое смещение в сторону. Не говоря уже о других вещах, таких как трение и т. Д. Делать что-то «идентичное» не получится. Степперы могли бы быть немного лучше, но тогда вы не должны ездить слишком быстро или что-нибудь еще ...
Пол
-2

Колеса с двигателями постоянного тока должны быть спереди. И костер на спине. Тогда он будет двигаться прямо только в прямом направлении

Арслан
источник
Добро пожаловать в робототехнику Арслан. На бирже стека мы ищем исчерпывающие ответы, которые дают некоторое объяснение и контекст. Очень короткие ответы не могут этого сделать, поэтому, пожалуйста, измените свой ответ, чтобы объяснить, почему это правильно, в идеале с цитатами. Ответы, не содержащие объяснений, могут быть удалены.
Марк Бут