Taula de continguts:

Serp robòtica bioinspirada: 16 passos (amb imatges)
Serp robòtica bioinspirada: 16 passos (amb imatges)

Vídeo: Serp robòtica bioinspirada: 16 passos (amb imatges)

Vídeo: Serp robòtica bioinspirada: 16 passos (amb imatges)
Vídeo: A 1000 Year Old Abandoned Italian Castle - Uncovering It's Mysteries! 2024, Desembre
Anonim
Image
Image

Em va inspirar començar aquest projecte després de veure vídeos d’investigació de serps robòtiques que escalaven arbres i d’anguiles robotitzades. Aquest és el meu primer intent i construir robots amb locomoció serpentina, però no serà l'últim! Subscriviu-vos a YouTube si voleu veure novetats futures.

A continuació esbosso la construcció de 2 serps diferents juntament amb els fitxers per a la impressió 3D i una discussió sobre el codi i els algorismes per aconseguir un moviment semblant a una serp. Si voleu continuar aprenent més, després de llegir aquest instructiu us suggeriria que llegiu els enllaços de la secció de referències a la part inferior de la pàgina.

Aquesta instrucció és tècnicament un 2 en 1, ja que explico com fer 2 versions diferents d’una serp robòtica. Si només us interessa construir una de les serps, ignoreu les instruccions de l’altra serp. A partir d’aquest moment es referirà a aquestes 2 serps diferents utilitzant indistintament les frases següents:

  1. Serp d’un eix, serp 1D o serp groga i negra
  2. Serp de doble eix, serp 2D o serp blanca

Per descomptat, podeu imprimir les serps amb qualsevol filament de color que vulgueu. L'única diferència entre les dues serps és que a la serp 2D cada motor gira 90 graus respecte a l'anterior, mentre que a la serp 1D tots els motors estan alineats en un únic eix.

Un darrer pròleg és que, tot i que cadascuna de les meves serps només té 10 servos, és possible fer les serps amb més o menys servos. Una cosa a tenir en compte és que amb menys servos aconseguireu un moviment menys reeixit i, amb més servos, probablement tindreu més èxit amb el moviment serpentí, però haureu de tenir en compte el cost, el sorteig actual (vegeu les observacions posteriors) i el nombre de pins disponible a l'Arduino. No dubteu a modificar la longitud de la serp, però tingueu en compte que també haureu d’alterar el codi per tenir en compte aquest canvi.

Pas 1: components

Aquesta és una llista de peces per a una sola serp, si voleu fer les dues serps, haureu de duplicar el volum de components.

  • 10 servos MG996R *
  • Filament d’impressió 3D d’1,75 mm
  • 10 coixinets de boles, número de part 608 (he recuperat els meus de la vora exterior de les filadores fidget de Jitterspin)
  • 20 coixinets de boles petits, número de peça r188, per a les rodes ** (he recuperat el meu de la part interior de les filadores Jitterspin fidget)
  • 40 cargols de capçalera Philips de 6 a 32 x 1/2 "(o similar)
  • 8 cargols més llargs (no tinc un número de peça, però tenen el mateix diàmetre que els cargols anteriors)
  • Com a mínim 20 peces de 4 polzades (depèn de tu la quantitat que vulguis utilitzar)
  • 5 m cadascun de filferro de calibre 20 vermell i negre o més gruixut ***
  • Cable de calibre 22 estàndard
  • 30 passadors de capçalera masculins (dividits en 10 lots de 3)
  • Arduino Nano
  • Parts impreses en 3D (vegeu la secció següent)
  • Alguna forma d'energia (vegeu la secció "Alimentació de la serp" per obtenir més informació), personalment he utilitzat una font d'alimentació ATX modificada
  • Condensador electrolític 1000uF 25V
  • Tub termoretràctil de diverses mides, soldadura, cola i altres eines diverses

* Podeu utilitzar altres tipus, però haureu de redissenyar els fitxers 3D perquè s'adaptin als vostres servos. A més, si proveu d'utilitzar servos més petits com el sg90, és possible que trobeu que no són prou forts (no ho he provat i serà a vosaltres experimentar).

** No cal que utilitzeu rodaments de boles petits per a les rodes, només en tenia moltes. També podeu utilitzar rodes LEGO o altres rodes de joguina.

*** Aquest cable pot tenir fins a 10 amperes, massa prim i el corrent el fon. Consulteu aquesta pàgina per obtenir més informació.

Pas 2: components d'impressió 3D

Muntatge de les Serps
Muntatge de les Serps

Si esteu fent la serp 1D, imprimiu aquestes peces.

Si esteu fent la serp 2D, imprimiu aquestes peces.

Nota important: l’escala pot ser errònia. Vaig dissenyar els meus components a Fusion 360 (en unitats de mm), vaig exportar el disseny com a fitxer.stl al programari MakerBot i després el vaig imprimir en una impressora Qidi Tech (una versió clon del MakerBot Replicator 2X). En algun lloc d’aquest flux de treball hi ha un error i totes les meves impressions surten massa petites. No he pogut identificar la ubicació de l'error, però he tingut una solució temporal per escalar cada impressió a una mida del 106% al programari MakerBot; això soluciona el problema.

Tenint en compte això, tingueu en compte que si imprimiu els fitxers anteriors, és possible que es redimensionin incorrectament. Us recomano imprimir només una peça i comprovar si s’adapta al servo MG996R abans d’imprimir-les totes.

Si imprimiu algun dels fitxers, si us plau, feu-me saber quin és el resultat: si la impressió és massa petita, és correcta, massa gran i en quin percentatge. Treballant junts com a comunitat, podem resoldre la ubicació de l’error mitjançant diferents impressores 3D i talls.stl. Un cop resolt el problema, actualitzaré aquesta secció i els enllaços anteriors.

Pas 3: Muntatge de les serps

Muntatge de les Serps
Muntatge de les Serps
Muntatge de les Serps
Muntatge de les Serps
Muntatge de les Serps
Muntatge de les Serps

El procés de muntatge és majoritàriament el mateix per a les dues versions de la serp. L'única diferència és que a la serp 2D cada motor gira 90 graus respecte a l'anterior, mentre que a la serp 1D tots els motors estan alineats en un únic eix.

Comenceu descargolant el servo, deseu els cargols i traieu les parts superior i inferior del marc de plàstic negre i tingueu cura de no perdre cap dels engranatges. Feu lliscar el servo al marc imprès en 3D, orientat com a les imatges anteriors. Substituïu la part superior de la caixa del servo i enrosqueu-la al seu lloc amb quatre cargols de 6-32 1/2 . Deseu la part inferior del quadre del servo (en cas que vulgueu tornar a utilitzar-lo en projectes posteriors) i substituïu-lo pel 3D caixa impresa, l'única diferència és la perilla addicional perquè un rodament de boles es pugui relliscar. Torneu a cargolar el servo, repetiu-lo 10 vegades.

IMPORTANT: Abans de continuar, heu de penjar codi a l'Arduino i moure cada servo a 90 graus. Si no ho feu, podríeu provocar que trenqueu un o més servos i / o els marcs impresos en 3D. Si no esteu segur de com moure un servo a 90 graus, consulteu aquesta pàgina. Connecteu bàsicament el cable vermell del servo a 5V a l’Arduino, el cable marró a GND i el cable groc al pin digital 9 i, a continuació, pengeu el codi a l’enllaç.

Ara que cada servo està a 90 graus, continueu:

Connecteu els 10 segments inserint el comandament imprès en 3D d’una caixa de servo al forat d’una peça de segon segment i, a continuació, empenyeu l’eix del servo al seu forat amb una mica de força (vegeu les imatges anteriors i el vídeo per obtenir més claredat). Si esteu fent la serp 1D, tots els segments haurien d’estar alineats; si feu la serp 2D, cada segment s’hauria de girar 90 graus respecte al segment anterior. Tingueu en compte que el bastidor de la cua i el cap tenen només la meitat de la longitud dels altres segments, connecteu-los, però no comenteu les peces en forma de piràmide fins que no hàgim acabat el cablejat.

Col·loqueu el servo braç en forma de x i cargoleu-lo a la seva posició. Feu lliscar el coixinet de boles sobre el pom imprès en 3D, per la qual cosa caldrà prémer suaument els 2 pals de semicercle. Depenent de la marca de filament que utilitzeu i de la densitat de farciment, els missatges poden ser massa fràgils i a poc a poc, no crec que sigui el cas, però, no obstant això, no utilitzen una força excessiva. Personalment he utilitzat filament PLA amb un 10% d’ompliment. Un cop el rodament de boles estigui encès, hauria de romandre bloquejat pels voladissos del pom.

Pas 4: Circuit

Circuit
Circuit
Circuit
Circuit
Circuit
Circuit

El circuit és el mateix per a les dues serps robotitzades. Durant el procés de cablejat, assegureu-vos que hi hagi prou espai de cablejat perquè cada segment giri completament, especialment a la serp 2D.

A la part superior es mostra un diagrama de circuits per al cablejat amb només 2 servos. Vaig provar de fer un dibuix de circuit amb 10 servos, però va quedar massa massificat. L’única diferència entre aquesta imatge i la vida real és que cal connectar 8 servos més en paral·lel i connectar els cables de senyal PWM als pins de l’Arduino Nano.

Quan vaig connectar les línies elèctriques, vaig fer servir una sola peça de cable de calibre 18 (prou gruixuda com per suportar 10 ampères) com a línia principal de 5V que recorre la longitud de la serp. Amb els separadors de filferro vaig treure una petita secció d’aïllant a 10 intervals regulars i vaig soldar un petit tros de filferro de cadascun d’aquests intervals un grup de 3 passadors masculins. Repetiu-ho una segona vegada per al fil negre GND de calibre 18 i un segon pas masculí. Finalment, soldeu un cable més llarg al tercer passador de capçalera masculí, que portarà el senyal PWM al servo des de l’Arduino Nano al cap de la serp (el cable ha de ser prou llarg per arribar fins i tot quan els segments es doblegin). Col·loqueu el tub de contracció de calor segons sigui necessari. Connecteu els 3 pins de capçalera masculins i els 3 pins de capçalera femenins dels servocables. Repetiu 10 vegades per cadascun dels 10 servos. En definitiva, el que s’aconsegueix és connectar els servos en paral·lel i executar els cables de senyal PWM al Nano. El motiu dels passadors de capçalera home / dona va ser que podeu separar els segments fàcilment i substituir els servos si es trenquen sense desoldar-ho tot.

Soldeu els cables GND i 5V a un tauler de perfils de 3x7 a la cua amb un condensador i terminals de cargol. El propòsit del condensador és eliminar els pics de corrent causats en arrencar els servos, que puguin restablir l'Arduino Nano (si no teniu un condensador, probablement pugueu sortir-ne, però és millor estar segur). Recordeu que la punta llarga dels condensadors electrolítics ha d’estar connectada a la línia de 5 V i la punta més curta a la línia GND. Soldeu el cable GND al pin GND del Nano i el cable de 5V al pin de 5V. Tingueu en compte si utilitzeu un voltatge diferent (vegeu la secció següent), digueu una bateria Lipo de 7,4 V i, a continuació, connecteu el cable vermell al pin Vin, NO al pin 5V, en fer-ho destruirà el pin.

Soldeu els cables de senyal de 10 PWM als pins de l’Arduino Nano. Vaig connectar la meva en el següent ordre, podeu triar connectar-la de manera diferent, però recordeu que haureu de canviar les línies servo.attach () del codi. Si no esteu segur de què estic parlant, connecteu-lo de la mateixa manera que jo i no tindreu problemes. En ordre, des del servo a la cua de la serp fins al cap de la serp, vaig connectar les dues serps en el següent ordre. Connexió dels pins de senyal a: A0, A1, A2, A3, A4, A5, D4, D3, D8, D7.

Utilitzeu zipties per netejar el cablejat. Abans de continuar, comproveu que tots els segments es puguin moure amb suficient espai perquè els cables es moguin sense separar-los. Ara que el cablejat està fet, podem cargolar els capçals i les cues amb forma de piràmide. Tingueu en compte que la cua té un forat per a la sortida de la lligadura i que el cap té un forat per al cable de programació Arduino.

Pas 5: alimentació de la serp

Alimentació de la serp
Alimentació de la serp
Alimentació de la serp
Alimentació de la serp
Alimentació de la serp
Alimentació de la serp

Com que els servos estan connectats en paral·lel, tots obtenen la mateixa tensió, però s’ha de sumar el corrent. Mirant el full de dades dels servos MG996r, poden arribar a arribar a 900 mA cadascun mentre s’executen (suposant que no s’aturin). Per tant, el consum total de corrent si els 10 servos es mouen al mateix temps és de 0,9A * 10 = 9A. Com a tal, un adaptador de presa de paret de 5V i 2A no funcionarà. Vaig decidir modificar una font d'alimentació ATX, capaç de 5 V a 20A. No explicaré com fer-ho, ja que ja s’ha parlat molt a Instructables i a YouTube. Una cerca ràpida en línia us mostrarà com podeu modificar una d’aquestes fonts d’alimentació.

Suposant que hagueu modificat la font d'alimentació, es tracta simplement de connectar una llarga xarxa entre la font d'alimentació i els terminals de cargol de la serp.

Una altra opció és fer servir una bateria lipo incorporada. No ho he provat, de manera que dependrà de vosaltres dissenyar un muntatge per a les bateries i connectar-les. Tingueu en compte les tensions de funcionament, el consum de corrent dels servos i l'Arduino (no soldeu res més que 5v a el pin de 5v a l’Arduino, aneu al pin Vin si teniu un voltatge més alt).

Pas 6: proveu que tot funcioni

Abans de continuar, només hem de provar que tot funciona. Pengeu aquest codi. La serp hauria de moure cada servo individualment entre 0-180 i després acabar col·locant-lo en línia recta. Si no passa, és probable que el cablejat sigui incorrecte o que els servos no estiguessin inicialment centrats a 90 graus, tal com s'esmenta a la secció "Muntatge de les serps".

Pas 7: Codi

Actualment no hi ha cap comandament a distància per a la serp, tot el moviment està preprogramat i podeu triar el que vulgueu. Desenvoluparé un control remot a la versió 2, però si voleu controlar-lo remotament, us suggeriria que consulteu altres tutorials a Instructables i que adapteu la serp perquè sigui compatible amb bluetooth.

Si esteu fent la serp 1D, pengeu aquest codi.

Si esteu fent la serp 2D, pengeu aquest codi.

Us animo a jugar amb el codi, fer els vostres propis canvis i crear algoritmes nous. Llegiu les seccions següents per obtenir una explicació detallada de cada tipus de locomoció i de com funciona el codi.

Pas 8: Escales contra rodes

Escales contra rodes
Escales contra rodes
Escales contra rodes
Escales contra rodes
Escales contra rodes
Escales contra rodes
Escales contra rodes
Escales contra rodes

Una de les principals maneres en què les serps poden avançar és mitjançant la forma de les seves escates. Les escales permeten avançar més fàcilment. Per obtenir una explicació addicional, mireu aquest vídeo a partir de les 3:04 per veure com les escates ajuden a la serp a avançar. Mirant les 3:14 del mateix vídeo es mostra l’efecte quan les serps es troben en una màniga, eliminant la fricció de les escates. Com es mostra al meu vídeo de YouTube quan la serp robòtica 1D prova de lliscar sobre herba sense escates, ni avança ni retrocedeix, ja que les forces sumen un zero net. Com a tal, hem d’afegir algunes escates artificials a la part inferior del robot.

La investigació sobre la recreació de la locomoció mitjançant escales es va fer a la Universitat de Harvard i es va demostrar en aquest vídeo. No vaig poder idear un mètode similar per moure les escales cap amunt i cap avall del meu robot i, en canvi, em vaig conformar amb la fixació de bàscules impreses en 3D passives al ventre inferior.

Malauradament, això va resultar ineficaç (vegeu el meu vídeo de YouTube a les 3:38), ja que les escates encara desnataven sobre la superfície de la catifa en lloc d’atrapar les fibres i augmentar la fricció.

Si voleu experimentar amb les escales que he fet, podeu imprimir els fitxers en 3D des del meu GitHub. Si feu el vostre propi, feu-m'ho saber als comentaris que apareixen a continuació.

Amb un enfocament diferent, vaig provar d'utilitzar rodes de rodaments de boles r188 amb tubs termorretractables per fora com a "pneumàtics". Podeu imprimir en 3D els eixos de les rodes de plàstic des dels fitxers.stl del meu GitHub. Tot i que les rodes no són biològicament precises, són similars a les escales, ja que la rotació cap endavant és fàcil, però el moviment de costat a costat és significativament més dur. Podeu veure el bon resultat de les rodes al meu vídeo de YouTube.

Pas 9: moviment lliscant (serp d'un eix)

Primer premi del concurs Make it Move

Recomanat: