Робот ніколи не йде прямо


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

Оскільки проблема з циклом відкритого закритого циклу вже згадується, я дам коментар до "Я колись намагався запустити DC-мотор без навантаження".
Так, ви можете пошкодити свій мотор цим, але ви також можете пошкодити або знищити двигун вантажем. Руйнування відбувається від поточної та результуючої температури. Якщо немає диму і якийсь явний запах, що йде від мотора, він, швидше за все, не пошкоджується. Зі свого досвіду можу сказати, що постійні постійні постійні мотори почнуть руйнуватися при температурі понад 100 ° C. І ви напевно помітите такі температури

EDIT:
Я ще раз про це думав, і, можливо, я мав уявлення, про який міг говорити ваш колега. Існує особливий вид змінного струму. Це синхронні двигуни без збудження. В основному вони будуються для самознищення. Якщо ви їх включите, вони почнуть розганятися, поки не розберуться. Але якщо ви покладете на них велике навантаження, вони не зможуть досягти цього стану, лише через величезний момент, який їм доведеться застосувати до навантаження. Тож ви можете використовувати їх для розумних цілей. У будь-якому випадку ви точно не маєте такого двигуна у своїй заявці.


1
Я теж думаю, що, особливо з хобі моторами, до моменту нагрівання його достатньо, щоб помітити, що він гарячий або пахне смішно, ви, мабуть, вже спалили ізоляцію від обмоток. Як і багато електрообладнання, воно або працює добре, або воно зламане. Між ними випадків не так багато.
Чак

Такого диму чи видимих ​​пошкоджень не було. Тож, можливо, воно не пошкоджене, оскільки я пробіг його менше півхвилини.
Миша

2

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

Для цього ви, як правило, замовляєте десятки або сотні кожної деталі, а потім проводите значні випробування, щоб знайти два двигуни, які за потужністю та швидкістю відносно напруги та ШІМ мають найбільшу відповідність один одному. Зробіть те саме для коліс, контролерів двигуна та інших деталей.

Цей процес називається бінінг - після цих тестів ви сортуєте їх відповідно до можливостей або характеристик. Це вважається набагато дорожчим як часу, так і ресурсів, щоб зробити належним чином, ніж перейти на модель замкнутого циклу, і навіть не враховує погані умови наземного руху.

Однак це один із способів досягти своїх вимог без додаткових датчиків.


1

Хоча це ніколи не буде ідеальним, може бути простий спосіб змусити його пройти більш прямо.

Якщо на 100% -100% автомобіль завжди повертає ліворуч, а на 100% -99% автомобіль завжди повертає праворуч, ви повинні мати змогу покращити це, пробуючи значення між ними.

Почніть з 100% -99,5% і продовжуйте з 100% -99,75% або 100% -99,25% залежно від результату. Це незабаром повинно сходитися до ситуації, коли ви будете прямо "в середньому".


0

Ну, якщо проблема не полягає в відмінностях обладнання та програмного забезпечення для кожного колеса, то це, мабуть, проблема з природними недосконалостями або в тому, як ви побудували робота, або в тому, як вироблялися мотори. З'єднання можуть бути не суцільними, або ІРП може не виводити той самий струм. Напевно, ви хочете використовувати регулятори швидкості. Спробуйте спочатку.

Якщо це не працює, ваш виробник, ймовірно, не робив однакові двигуни, і вам, мабуть, доведеться просто калібрувати мотори. Це може означати масштабування більш сильного мотора, тому 100% потужність до сильного мотора відповідає слабкому.


2
Використання однакових контролерів двигуна не вирішить проблему. Проблема лежить в основі робототехніки, яка полягає в тому, як "як я виправити помилку?"
Ryan Loggerythm

Я чув, що мотори постійного струму можуть працювати трохи повільніше назад, як вперед. Крім того, будь-який дисбаланс у вазі може призвести до деякого зміщення в сторону. Не кажучи вже про інші речі, як тертя тощо. Робити щось "однакове" не вийде. Степери можуть зробити трохи краще, але тоді вам не слід їхати занадто швидко або що-небудь ...
Павло

-2

Колеса з постійними двигунами повинні бути спереду. І задне колесо ззаду. Тоді він буде рухатися прямо лише в напрямку вперед


Ласкаво просимо в робототехніку Arslan. На обміні стека ми шукаємо вичерпні відповіді, які дають певні пояснення та контекст. Дуже короткі відповіді не можуть цього зробити, тому, будь ласка, відредагуйте свою відповідь, щоб пояснити, чому це правильно, в ідеалі з цитатами. Відповіді, які не містять пояснень, можуть бути видалені.
Марк Бут
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.