Съдържание:

Bioinspired Robotic Snake: 16 стъпки (със снимки)
Bioinspired Robotic Snake: 16 стъпки (със снимки)

Видео: Bioinspired Robotic Snake: 16 стъпки (със снимки)

Видео: Bioinspired Robotic Snake: 16 стъпки (със снимки)
Видео: Bioinspired Robotic Snake (3D printed) 2024, Юли
Anonim
Image
Image

Бях вдъхновен да започна този проект, след като видях изследователски видеоклипове както на роботизирани змии, катерещи се по дърветата, така и на роботизирани змиорки. Това е първият ми опит и създаване на роботи, използващи серпентинно движение, но няма да е последният! Абонирайте се в YouTube, ако искате да видите бъдещи развития.

По-долу очертавам конструкцията на 2 различни змии, заедно с файловете за 3D печат и дискусия за кода и алгоритмите за постигане на змийско движение. Ако искате да продължите да научавате повече, след като прочетете тази инструкция, бих препоръчал да прочетете връзките в раздела за справки в долната част на страницата.

Тази инструкция е технически 2 в 1, като обяснявам как да направя 2 различни версии на роботизирана змия. Ако се интересувате само от изграждането на една от змиите, игнорирайте инструкциите за другата змия. Оттук нататък тези 2 различни змии ще се използват като взаимозаменяеми следните фрази:

  1. Едноосна змия, 1D змия или жълта и черна змия
  2. Двуосна змия, 2D змия или бяла змия

Разбира се, можете да отпечатате змиите във всякакви цветни нишки, които искате. Единствената разлика между двете змии е, че при 2D змията всеки двигател се завърта на 90 градуса спрямо предишния, докато при 1D змията всички двигатели са подредени в една ос.

Последно предисловие е, че макар всяка от моите змии да има само 10 серво, е възможно да се направят змии с повече или по -малко серво. Едно нещо, което трябва да имате предвид, е, че с по -малко сервомобили ще постигнете по -малко успешно движение, а с повече сервоустройства вероятно ще бъдете по -успешни със серпентинното движение, но ще трябва да вземете предвид цената, текущото теглене (вижте по -късните забележки) и броя на щифтовете на разположение на Arduino. Не се колебайте да промените дължината на змията, но имайте предвид, че ще трябва да промените и кода, за да отчетете тази промяна.

Стъпка 1: Компоненти

Това е списък с части за една змия, ако искате да направите и двете змии, ще трябва да удвоите обема на компонентите.

  • 10 сервомотора MG996R*
  • 1,75 мм нишка за 3D печат
  • 10 сачмени лагера, номер на част 608 (спасих моята от външния ръб на въртящите се въртящи се устройства Jitterspin)
  • 20 малки сачмени лагера, номер на част r188, за колелата ** (спасих моята от вътрешната част на въртящите се въртящи се колела на Jitterspin)
  • 40 винта с глава Philips 6-32 x 1/2 "(или подобни)
  • 8 по -дълги винта (нямам номер на част, но те са със същия диаметър като винтовете по -горе)
  • Най -малко 20 броя 4 инчови ципове (от вас зависи колко искате да използвате)
  • 5 м всеки от червен и черен проводник с 20 габарити или по -дебел ***
  • Стандартна тел 22 габарита
  • 30 мъжки щифта за заглавки (разделени на 10 партиди от 3)
  • Arduino Nano
  • 3D отпечатани части (вижте следващия раздел)
  • Някаква форма на захранване (вижте раздела: „Захранване на змията“за повече информация), аз лично използвах модифицирано ATX захранване
  • 1000uF 25V електролитен кондензатор
  • Термосвиваема тръба с различни размери, спойка, лепило и други различни инструменти

*можете да използвате други типове, но ще трябва да препроектирате 3D файловете, за да отговарят на вашите серво. Също така, ако се опитате да използвате по -малки сервомотори като sg90, може да откриете, че те не са достатъчно силни (не съм тествал това и от вас зависи да експериментирате).

** не е нужно да използвате малки сачмени лагери за колелата, просто имах много да лежа. Като алтернатива можете да използвате джанти LEGO или други колела играчки.

*** Този проводник може да има до 10 ампера, преминаващ през него, твърде тънък и токът ще го стопи. Вижте тази страница за повече информация.

Стъпка 2: Компоненти за 3D печат

Сглобяване на змиите
Сглобяване на змиите

Ако правите 1D змия, отпечатайте тези парчета.

Ако правите 2D змия, отпечатайте тези парчета.

Важна забележка: Скалата може да е грешна! Проектирам компонентите си във Fusion 360 (в мм единици), експортирам дизайна като.stl файл в софтуера MakerBot и след това го отпечатвам на принтер Qidi Tech (клонирана версия на MakerBot Replicator 2X). Някъде по този работен процес има грешка и всичките ми отпечатъци излизат твърде малки. Не успях да идентифицирам местоположението на грешката, но имам временно решение за мащабиране на всеки печат до 106% размер в софтуера MakerBot, това решава проблема.

Като се има предвид това, бъдете предупредени, че ако отпечатате горните файлове, те могат да бъдат неправилно мащабирани. Предлагам да отпечатате само едно парче и да проверите дали отговаря на вашето серво MG996R, преди да ги отпечатате всички.

Ако отпечатате някой от файловете, моля, уведомете ме какъв е резултатът: ако отпечатъкът е твърде малък, точен, твърде голям и с колко процента. Като работим заедно като общност, можем да отстраним проблема с местоположението на грешката, използвайки различни 3D принтери и.stl резачки. След като проблемът бъде разрешен, ще актуализирам този раздел и връзките по -горе.

Стъпка 3: Сглобяване на змиите

Сглобяване на змиите
Сглобяване на змиите
Сглобяване на змиите
Сглобяване на змиите
Сглобяване на змиите
Сглобяване на змиите

Процесът на сглобяване е предимно еднакъв и за двете версии на змията. Единствената разлика е, че при 2D змията всеки двигател се завърта на 90 градуса спрямо предишния, докато при 1D змията всички двигатели са подравнени в една ос.

Започнете, като развиете серво, запазете винтовете и премахнете горните и долните части на черната пластмасова рамка и внимавайте да не загубите някоя от предавките! Плъзнете серво в 3D отпечатаната рамка, ориентирана както на снимките по -горе. Сменете горната част на серво корпуса и го завийте на място с четири 6-32 1/2 винта. Запазете долната част на серво рамката (в случай, че искате да я използвате отново в по-късни проекти) и я заменете с 3D отпечатан калъф, като единствената разлика е допълнителното копче за преместване на сачмен лагер. Завийте сервозавода заедно, повторете 10 пъти.

ВАЖНО: Преди да продължите, трябва да качите код в Arduino и да преместите всяко серво на 90 градуса. Неспазването на това може да доведе до счупване на един или повече серво и/или 3D отпечатаните рамки. Ако не сте сигурни как да преместите серво на 90 градуса, вижте тази страница. По принцип свържете червения проводник на серво към 5V на Arduino, кафявия проводник към GND и жълтия проводник към цифров пин 9, след което качете кода в линка.

Сега, когато всяко серво е на 90 градуса, продължете:

Свържете 10 -те сегмента, като поставите 3D отпечатаното копче от един серво корпус в отвора на втори сегмент, след което с малко сила натиснете оста на серво в отвора му (вижте снимките по -горе и видеото за яснота). Ако правите 1D змия, всички сегменти трябва да бъдат подравнени, ако правите 2D змия, всеки сегмент трябва да се завърти на 90 градуса спрямо предишния сегмент. Обърнете внимание, че рамката на опашката и главата е само половината от дължината на останалите сегменти, свържете ги, но не коментирайте частите във формата на пирамида, докато не свършим окабеляването.

Прикрепете x-образното серво рамо и го завийте на място. Плъзнете сачмения лагер върху 3D отпечатаното копче, това ще изисква леко притискане на двете полукръгови стълба заедно. В зависимост от това каква марка нажежаема жичка използвате и плътността на пълнежа, стълбовете може да са твърде крехки и щракнати, не мисля, че това ще е така, но въпреки това не използвайте прекомерна сила. Аз лично използвах PLA нишка с 10% пълнеж. След като сачменият лагер е включен, той трябва да остане заключен от надвесите на копчето.

Стъпка 4: Схема

Верига
Верига
Верига
Верига
Верига
Верига

Схемата е еднаква и за двете роботизирани змии. По време на процеса на окабеляване се уверете, че има достатъчно място за окабеляване, за да може всеки сегмент да се завърти напълно, особено при 2D змията.

По -горе е схема на окабеляване само с 2 серво. Опитах да направя схема на чертежи с 10 серво, но стана твърде пренаселено. Единствената разлика между тази картина и реалния живот е, че трябва да свържете още 8 сервоусилвателя паралелно и да свържете PWM сигналните проводници към щифтове на Arduino Nano.

При окабеляването на електропроводите използвах единично парче проводник от 18 габарита (достатъчно дебел, за да издържи 10 ампера) като основна 5V линия, преминаваща по дължината на змията. С помощта на маша за отстраняване на тел премахнах малка част от изолатора на 10 редовни интервала и запоявах късо парче тел от всеки от тези интервали група от 3 мъжки щифта на заглавката. Повторете това за втори път за черния проводник GND с калибър 18 и втори мъжки щифт на заглавката. Накрая запоявайте по -дълъг проводник към 3 -ия мъжки щифт на заглавката, този щифт ще пренася PWM сигнала към сервото от Arduino Nano в главата на змията (жицата трябва да е достатъчно дълга, за да достигне, дори когато сегментите се огъват). Прикрепете термосвиваема тръба според нуждите. Свържете 3 -те мъжки щифта на заглавката и 3 -те женски щифта на серво проводниците. Повторете 10 пъти за всеки от 10 -те серво. В крайна сметка това, което се постига, е паралелно свързване на сервоусилвателите и преминаване на PWM сигнални проводници към Nano. Причината за мъжки/женски щифтове на заглавката е, че можете лесно да разглобите сегментите и да смените серво, ако се счупят, без да разпаявате всичко.

Запоявайте проводниците GND и 5V към перфорирана платка с отвор 3x7 в опашката с кондензатор и винтови клеми. Целта на кондензатора е да премахне всички скокове на изтегляне на ток, причинени при стартиране на сервомоторите, които могат да нулират Arduino Nano (ако нямате кондензатор, вероятно можете да избягате без него, но е по -добре да сте в безопасност). Не забравяйте, че дългият зъб на електролитни кондензатори трябва да бъде свързан към 5V линията, а по -късият - към GND. Запоявайте GND проводника към GND щифта на Nano и 5V проводника към 5V щифта. Обърнете внимание, ако използвате различно напрежение (вижте следващия раздел), кажете Lipo батерия със 7.4V, след това свържете червения проводник към щифта Vin, а не към 5V щифта, като по този начин ще унищожите щифта.

Запоявайте 10 -те ШИМ сигнални проводника към щифтове на Arduino Nano. Свързах моята в следния ред, можете да изберете да свържете вашата по различен начин, но не забравяйте, че след това ще трябва да промените редовете servo.attach () в кода. Ако не сте сигурни за какво говоря, просто го свържете по същия начин, както аз и няма да имате проблеми. За да направя от сервото на опашката на змията до главата на змията, свързах двете си змии в следния ред. Свързване на сигналните щифтове към: A0, A1, A2, A3, A4, A5, D4, D3, D8, D7.

Използвайте ципове, за да почистите окабеляването. Преди да продължите, проверете дали всички сегменти могат да се движат с достатъчно място, за да могат да се движат проводниците, без да се разглобяват. Сега, когато свързването е свършено, можем да завием капачките на главата и опашката с пирамидална форма. Обърнете внимание, че опашката има дупка, от която да излиза връзката, а главата има отвор за кабела за програмиране на Arduino.

Стъпка 5: Захранване на змията

Захранване на змията
Захранване на змията
Захранване на змията
Захранване на змията
Захранване на змията
Захранване на змията

Тъй като сервоусилвателите са свързани паралелно, всички те получават едно и също напрежение, но токът трябва да се сумира. Разглеждайки листа с данни за сервомоторите MG996r, те могат да извличат до 900mA всеки по време на работа (при условие, че няма забавяне). По този начин общото потребление на ток, ако всички 10 сервомотора се движат едновременно, е 0,9A*10 = 9A. Като такъв нормален 5v, 2A адаптер за стенен контакт няма да работи. Реших да променя ATX захранване, способно на 5v при 20A. Няма да обяснявам как да направя това, тъй като вече беше обсъждано много в Instructables и YouTube. Бързо търсене онлайн ще ви покаже как да промените едно от тези захранвания.

Ако приемем, че сте променили захранването, това е просто случай на свързване на дълга лента между захранването и винтовите клеми на змията.

Друг вариант е да използвате вградена батерия lipo. Не съм пробвал това, така че от вас ще зависи да проектирате монтаж за батериите и да ги свържете. Имайте предвид работното напрежение, токовото захранване на сервомоторите и Arduino (не запоявайте нищо друго освен 5v към 5v щифта на Arduino, отидете на Pin щифта, ако имате по -високо напрежение).

Стъпка 6: Тествайте дали всичко работи

Преди да продължите, просто проверете дали всичко работи. Качете този код. Вашата змия трябва да премества всяко серво поотделно между 0-180 и след това да завърши, като постави по права линия. Ако това не се случи, значи нещо не е наред, най -вероятно окабеляването е неправилно или сервомоторите първоначално не са били центрирани на 90 градуса, както е споменато в раздела "Сглобяване на змиите".

Стъпка 7: Код

Понастоящем няма дистанционно управление за змията, цялото движение е предварително програмирано и можете да изберете какво искате. Ще разработя дистанционно управление във версия 2, но ако искате да го управлявате дистанционно, бих предложил да разгледате други уроци по Instructables и да адаптирате змията да бъде съвместима с Bluetooth.

Ако правите 1D змия, качете този код.

Ако правите 2D змия, качете този код.

Насърчавам ви да играете с кода, да правите свои собствени промени и да създавате нови алгоритми. Прочетете следващите няколко раздела за подробно обяснение на всеки тип движение и как работи кодът за него.

Стъпка 8: Мащабирайте колелата

Везни срещу колела
Везни срещу колела
Везни срещу колела
Везни срещу колела
Везни срещу колела
Везни срещу колела
Везни срещу колела
Везни срещу колела

Един от основните начини, по който змиите могат да се движат напред, е чрез формата на люспите си. Везните позволяват по -лесно движение напред. За допълнително обяснение гледайте това видео от 3:04 нататък, за да видите как везните помагат на змията да се придвижи напред. Гледането на 3:14 в същия видеоклип показва ефекта, когато змиите са в ръкав, премахвайки триенето на люспите. Както е показано в моя видеоклип в YouTube, когато роботизираната 1D змия се опитва да се плъзне по трева без люспи, тя нито се движи напред или назад, тъй като силите се сумират до нулева мрежа. Като такива трябва да добавим някои изкуствени люспи към подбедрицата на робота.

Изследванията за пресъздаване на движението чрез везни бяха направени в Харвардския университет и демонстрирани в това видео. Не успях да измисля подобен метод за преместване на везните нагоре и надолу на моя робот и вместо това се задоволих с прикрепянето на пасивни 3D отпечатани везни към подбедрицата.

За съжаление това се оказа неефективно (вижте във видеоклипа ми в YouTube в 3:38), тъй като везните все още прелитат по повърхността на килима, вместо да хващат влакната и да увеличават триенето.

Ако искате да експериментирате с направените от вас везни, можете да отпечатате 3D файловете от моя GitHub. Ако направите своя собствена успешно, уведомете ме в коментарите по -долу!

Използвайки различен подход, опитах да използвам колела, изработени от сачмени лагери r188 с термосвиваеми тръби отвън като „гуми“. Можете да отпечатате 3D пластичните оси на колелата от.stl файловете на моя GitHub. Докато колелата не са биологично точни, те са аналогични на везните, тъй като въртенето напред е лесно, но движението отстрани е значително по -трудно. Можете да видите успешния резултат от колелата в моето видео в YouTube.

Стъпка 9: Плъзгащо движение (змия с една ос)

Първа награда в конкурса Make it Move

Препоръчано: