Інженер-блогер, відомий на YouTube під ніком Tazer узявся збудувати двоногого балансуючого робота як випускний проєкт. Тему диплома він знав ще десять місяців тому. Але, як це часто буває зі студентами, до реальної роботи взявся лише в грудні, коли випадково побачив на YouTube чужий проєкт із точнісінько таким самим роботом, який мав здати у травні.
План на шість тижнів і робот, що починається з котаСтартовий план був мінімалістичний, майже як студентська заявка в останню ніч перед дедлайном: змоделювати й роздрукувати весь робот на 3D-принтері, розвести проводку, розібратися з пультом дистанційного керування і написати код для балансування. Усе по мінімуму, але по-чесному.
Перш ніж братися за серйозну конструкцію, автор за традицією роздрукував тестову фігурку кота — щоб перевірити налаштування принтера. Лише після цього розпочалося моделювання самого корпусу, який, за власним визнанням розробника, вийшов одним із найвдаліших дизайнів за весь час. Зовнішність трохи перегукується зі спортивними автомобілями, хоча в результаті форма народилася практично з нуля.
Робот заплановано доволі великим — приблизно пів метра на зріст, проте конструкція максимально полегшена: більшість деталей — це просто кріплення для карбонових трубок-сполучних елементів, а сам корпус повністю порожнистий усередині.
Кожен з шести актуаторів отримав індивідуальний захисний кожух з еластичного TPU — матеріал добре поглинає удари, а порожниста конструкція кожуха забезпечує достатню циркуляцію повітря, щоб двигуни не перегрівалися під час роботи.
Дроти, термінатори опору і 14 годин у пошуках причиниЗібрати корпус виявилося відносно простою частиною. Справжнім випробуванням стала електрика. Кожна нога потребувала двох типів проводів: скрученої пари для CAN-шини зв’язку між контролером і актуаторами та окремого силового проводу для подачі живлення на двигуни. Розведення єдиної ноги забрало три години і коштувало одного зламаного роз’єму — після чого автор чесно визнав, що варто було спочатку подивитись, як цю проблему вирішують у справжніх промислових роботах.
Та найбільший головний біль чекав під час перших тестів зв’язку: команди до актуаторів доходили лише вряди-годи,
що робило діагностику справжнім кошмаром. Спочатку підозра впала на розводку проводів — її переробили, додавши термінатори по обидва кінці CAN-шини. Не допомогло. Потім спробували прибрати зайвий резистор. Знову нічого. Лише приблизно за 14 годин копання у проблемі з’ясувалося: кожен актуатор уже мав вбудований термінувальний резистор на 120 ом, увімкнений за замовчуванням у налаштуваннях самого двигуна. Додаткові резистори на кінцях лінії лише створювали зайві відбиття сигналу і заважали стабільному зв’язку. Чотирнадцять годин на одну строчку в документації — мабуть, найменш захоплива частина всього проєкту.
Власна плата замість готових рішеньКоли проводка нарешті запрацювала стабільно, настав час нової друкованої плати. Попередня версія вже одного разу вийшла з ладу — під час діагностики осцилограф показав стрибок напруги до 65 вольт у момент включення живлення, що, найімовірніше, і спалило понижувальний перетворювач. Замість того, щоб ускладнювати схему додатковим резистором для плавного заряду конденсаторів, автор просто поставив високовольтний перетворювач і вирішив проблему силовим методом.
Нову плату розробляли в KiCad за класичною схемою: спочатку електрична схема із символами роз’ємів і конденсаторів, потім прив’язка реальних посадкових місць компонентів, і нарешті розташування деталей та трасування доріжок на двох шарах плати. Готові гербер-файли відправили на виготовлення — отримати реальну плату з виробництва коштувало лише кілька доларів, і весь процес можна було відстежувати онлайн у режимі реального часу.
Як навчити робота не падатиАпаратна частина була готова, лишалося найскладніше — навчити двоногу конструкцію стояти й рухатись, не падаючи носом у підлогу. В основі алгоритму балансування лежить найпростіший регулятор з теорії автоматичного керування: вимірюється кут нахилу корпусу за допомогою датчика IMU, і швидкість коліс підлаштовується так, щоб утримати цей кут якомога ближче до нуля.
Найпростіший варіант — просто перевіряти знак кута і крутити колеса в одному чи іншому напрямку — на практиці викликає несамовиті коливання й нічого не балансує. Тому в хід пішов пропорційний регулятор: похибка між цільовим і реальним кутом множиться на коефіцієнт,
і чим більше робот нахилений, тим швидше крутяться колеса. Та навіть цього виявилось недостатньо — пропорційна складова сама по собі залишає так звану статичну похибку, через яку робот балансував би під нахилом, поступово сповзаючи й зрештою впав би. Рішенням стало додавання інтегральної складової, яка накопичує похибку з часом, а згодом і диференціальної — вона гасить різкі коливання, не даючи системі «розгойдатися».
Першу версію регулятора зібрали з двох паралельних ПІД-контурів — один на кут, інший на швидкість. Робот балансував, але постійно зносило в один бік, бо центр мас не завжди лишався точно над колесами. Зрештою автор перейшов на каскадну схему: зовнішній контур регулює бажану швидкість руху, а внутрішній, що працює на значно вищій частоті, відпрацьовує потрібний кут нахилу для досягнення цієї швидкості. Саме ця конфігурація і дала результат, якого не вдавалося досягти попередніми спробами.
Перша поїздка — і робота ще попередуПісля місяців механічного проєктування, електроніки, розводки плат і боротьби з теорією керування робот зрештою поїхав сам,
утримуючи рівновагу. Видовище не ідеальне — конструкції ще є куди вдосконалюватись, — але для автора, який пройшов через усе це з нуля, момент вийшов по-справжньому емоційним. Знання, здобуті на парах, які колись здавалися сухими й нудними, раптом склались у щось реально працююче.
Втім, надовго насолодитися результатом не вдалося: робот почав мимовільно розбиратися сам по собі прямо під час зйомки, а кілька мікроконтролерів за час проєкту вже встигли вийти з ладу. Тож наступне відео, за словами автора, буде про серйозне доопрацювання конструкції — а поки що головна мета досягнута: диплом має шанс на захист, а двоногий робот — на друге життя в наступних оновленнях.
Запис Інженер за кілька місяців створив двоногого робота, який сам тримає рівновагу спершу з'явиться на ProstoMob.