Сталевий маніпулятор HEXAPOD

Сталевий маніпулятор HEXAPOD

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


Основний ухил на даному етапі був зроблений у бік апаратної складової і не дуже складної програмної частини. У майбутньому планується використовувати BeagleBoard-xM, організацію автономних режимів роботи і мінімальну обробку відеоданих. Займатися всім одночасно фізично не вистачає часу. Це мій перший досвід у робототехніці, тому деякі аспекти пристрою продумувалися і підганялися вже по ходу його реалізації.

Передумовами для створення маніпулятора був, який став культовим, анімаційний фільм Ghost in the shell. Фільм, що вийшов практично два десятиліття тому, справив незгладиме враження на багатьох, і на мене зокрема. Через роки, набувши певний рівень технічних знань, маючи час і деяку кількість вільних засобів, я вирішив реалізувати конструктив з області робототехніки.

Спочатку обмовлюся, що в моєму особистому уявленні канонічне поняття «робот» невід'ємно пов'язане з автономними алгоритмами роботи. Оскільки цей пристрій не може функціонувати (на поточному рівні програмного забезпечення) без участі людини, то в поточній статті буде використано визначення «маніпулятор».

В якості початкової конструкції був обраний один з відкритих проектів з сайту grabcad.com. Було це відносно давно, ще до повального інтересу до подібних шестиконечних пристроїв. Тому вибір з існуючих відкритих проектів на той момент був не великий, а розробляти свою першу робототехнічну конструкцію подібного рівня з нуля було дуже важко. Проект був доопрацьований у бік зменшення ваги конструкції та спрощення крайових ліній деталей. Нижче наведено ізометричний вид маніпулятора в програмному продукті SolidWorks (одна з передостанніх версій модифікації; найостаннішу, після стількох років, знайти так і не вийшло):

Як матеріал маніпулятора спочатку планувалося використовувати алюміній. Але знайти таку можливість в рамках мого периферійного міста на той момент так і не вийшло (можливо, через роки, щось і змінилося в цій області, однак, сумніваюся). На допомогу прийшла спадщина минулих часів - залишки корабельної вуглецевої сталі і можливість плазмової різання за нею. До того ж в якості вихідних даних підходив проект з SolidWorks 2007, що спрощувало підготовку до виготовлення. Товщина матеріалу - 2мм. Виготовлення конструкції з оргстекла або пластику було можливим, але спочатку не розглядалося, оскільки бажання зробити маніпулятор з металу переважало над здоровим поглядом на речі. Через деякий час деталі були отримані (перепрошую за якість, деякі фотографії в статті зроблені стареньким телефоном):

Після зовнішнього огляду деталей, все було акуратно складено в коробку і відправлено на «етап зняття залишкової напруженості металу». М'яко кажучи - відкладено на дуже тривалий термін, зважаючи на брак вільного часу.

Пізніше я знову повернувся до маніпулятора, і почав продумувати систему живлення, пристрої зв'язку, вибирати сервоприводу і керуючу електроніку. Виходячи з бажаного підходу до реалізації, було припущено, що кінцева вага буде досить істотною, тому сервоприводу потрібно було вибирати з деяким запасом по зусиллю. Однак вартість так само грала вагому роль. Виходячи зі співвідношення ціна/якість, були придбані сервоприводу HK15328A, що мають металевий редуктор, подвійний кулькопідшипник, латунні втулки, зусилля 12.8 кг на см., при напрузі 6.0 В., вага 58 грам. Якість виготовлення терпима, хоча відсутні будь-які пилозахисні прокладки, керуюча плата вільно бовтається всередині корпусу, висновки проводів не загерметизовані, мастила в половині із замовлених приводів практично відсутня, при тривалому навантаженні присутній незначний нагрів. Все вищеперелічене компенсується вартістю приводу {7 $. Було замовлено 18 приводів, всі були переграні, змащені графітовою мастильнею і перевірені під навантаженням. За тривалий час експлуатації жоден з них не вийшов з ладу. Нижче наведено фото нутрощів сервоприводу HK15328A:

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

Як елемент живлення було використано літій - полімерний акумулятор 12.6 В., 9800 мАг., 360 грам. Акумулятор складається з 3 елементів, з'єднаних досить дешевим тонким проводом, контролерів заряду для кожного з елементів, штекером зарядки і перемикачем:

Контролери заряду також обмежували акумулятором струм в 1А. Як зарядний пристрій планувалося використовувати iMAX B6, тому контролери заряду були зняті, а провідники, що з'єднують елементи, були замінені. Так само були виведені провідники від кожного елемента, для можливості збалансованої зарядки акумулятора. З перетворювачів напруги були доступні DC-DC Turnigy UBEC-15A, DC-DC Turnigy UBEC-7.5A, DC-DC Turnigy Micro UBEC 5V/3A. Перші два використовуються для живлення сервоприводів, останній перетворювач - для живлення керуючої електроніки.

У ролі керуючої електроніки було прийнято використовувати досить поширений проект від фірми LynxMotion - SSC-32. Оскільки на руках була плата робо-контролера MRC28, взята свого часу з сайту RoboZone.su, було вирішено відштовхуватися від неї. На тому ж сайті була знайдена плата розширення для MRC28 під проект SSC-32:

Плата розширення була виготовлена і підключена до плати контролера, зафіксованого двостороннім скотчем на акумуляторі. Були підключені перетворювачі напруги, і керуюча частина попередньо встановлена в каркас маніпулятора:

Для нижнього кріплення кінцівок використовувалися маленькі підшипники, зняті з японських крокових двигунів (розбирання старих японських принтерів) і встановлені в металеве кріплення. Для максимально надійного контакту використовувався клей Loctite 480. Для невеликого зазору між підшипником і нижньою частиною каркаса використовувалася металева шайба. Гвинт кріплення М5:

Кінцівка і кріплення з'єднані між собою за типом струбцини. Так було простіше реалізувати і дозволило трохи варіювати при виставленні соосності між валом сервоприводу і підшипником:

Загальний конструктив однієї кінцівки набув такого вигляду:

Для зв'язку маніпулятора з ПК використовувався Bluetooth-модуль HC-05 і Bluetooth-адаптер Class 1. Для передачі відео використовувалася найпростіша китайська бездротова аналогова камера 2.4 GHz з приймачем, підключеним до ПК через USB ТВ-тюнер EasyCE. Роздільна здатність зображення 720x576. Для управління маніпулятором був придбаний бездротовий геймпад SpeedLink STRIKE FX.

Після розпайки харчуючих провідників з роз'ємами всі дроти були згруповані і зафіксовані стяжками. Дроти від сервоприводів були обтягнуті нейлоновою сіткою. Для харчування камери використовувався перетворювач напруги на 9В. з LC-фільтром з підручних засобів, що дозволило практично повністю позбутися від навідних перешкод.

Для кріплення акумулятора (і всієї керуючої електроніки, що кріпиться до нього) до корпусу маніпулятора була організована алюмінієва скоба.

Нижче наведено фотографію фронтального боку маніпулятора:

З тильного боку маніпулятора розташовуються роз'єми включення і зарядки акумулятора:

Заряд акумулятора проводиться зовнішнім контролером iMAX B6, встановленим у збалансований режим заряду, і блоком живлення RXN-305D:

Після прошивки контролера, встановлення всіх необхідних модулів і калібрування кінцівок маніпулятор придбав остаточний вигляд, наведений нижче:

Кінцеву вагу маніпулятора склав ауд 3кг. Для повороту камера була встановлена на сервопривод MG995. Час роботи від одного заряду акумулятора ауд 40 хвилин. Відеосигнал вільно пробиває 3-4 залізобетонні стіни. Дальність зв'язку на відкритому просторі... 30 метрів.

Програмне забезпечення для ПК було розроблено в Microsoft Visual Studio 2008 і являє собою функціонал управління, калібрування і відображення відеоданих. Програма дозволяє керувати як окремо взятим сервоприводом, так і групою - суглобами.

Всі параметри, які використовуються в алгоритмах, виводяться на графічний інтерфейс. Передбачено збереження/завантаження даних калібрування для кожної кінцівки. Для отримання відеоданих з ТВ-тюнера використовувався DirectShow (спроби отримати картинку за коштами OpenCV не увінчалися успіхом). Так само була необхідна установка DXSDK_Jun10, і підключення до проекту бібліотеки роботи з графікою gdiplus. Віртуальний COM-порт, реалізований через Bluetooth, адекватно запрацював з китайським Bluetooth-адаптером лише за допомогою бібліотеки SerialGate.dll (найімовірніше проблема в драйверах або адаптері, але експериментувати з іншими адаптерами/драйверами не став). Для роботи з геймпадом (HID-пристроєм) були підключені бібліотеки hid.lib, hidpi.h, hidsdi.h, hidusage.h.

Для визначення значень, які використовуються клавішами геймпада, було реалізовано додатковий програмний модуль:

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

Після невеликих доопрацювань конструктиву і програми управління кінцева реалізація пристрою наведена в наступному відео:

Приблизна вартість всього комплекту... 400 $.

У висновку, хотілося б додати, що провівши вищеописані етапи розробки маніпулятора, був набутий певний досвід і зроблені відповідні висновки. Як у плані механіки пересування, компонування, фільтрації живлячих напружень так і в програмній частині. При створенні подібної конструкції в майбутньому буде врахована і конструкція корпусу, і більш легкі матеріали, і більш швидкі сервоприводи, і більш коректні алгоритми пересування, і автономні режими роботи з обробкою відеоданих. Але все це при наявності в майбутньому вільного часу.

Дякую за приділену увагу.

Image