Taula de continguts:

Robòtic bipèdic controlat per Arduino: 13 passos (amb imatges)
Robòtic bipèdic controlat per Arduino: 13 passos (amb imatges)

Vídeo: Robòtic bipèdic controlat per Arduino: 13 passos (amb imatges)

Vídeo: Robòtic bipèdic controlat per Arduino: 13 passos (amb imatges)
Vídeo: Proyecto robótica. #microbit #arduino #arduinoprojects #roboticaeducativa #robotics #robotica #tech 2024, Desembre
Anonim
Image
Image
Robòtic bipèdic controlat per Arduino
Robòtic bipèdic controlat per Arduino
Robòtic bipèdic controlat per Arduino
Robòtic bipèdic controlat per Arduino

Projectes Fusion 360 »

Sempre m’han fascinat els robots, sobretot els que intenten imitar les accions humanes. Aquest interès em va portar a intentar dissenyar i desenvolupar un robot bípede que pogués imitar la marxa i la carrera humana. En aquest instructiu, us mostraré el disseny i el muntatge del robot bípede.

L’objectiu principal durant la construcció d’aquest projecte era fer que el sistema fos el més robust possible, de manera que, mentre experimentava amb diverses marxes caminant i corrents, no hauria de preocupar-me constantment de la fallada del maquinari. Això em va permetre portar el maquinari al seu límit. Un objectiu secundari era fer que el bípede fos relativament baix mitjançant l'ús de peces hobby fàcilment disponibles i la impressió 3D, deixant espai per a noves actualitzacions i ampliacions. Aquests dos objectius combinats proporcionen una base sòlida per dur a terme diversos experiments, cosa que permet desenvolupar el bípede fins a requisits més específics.

Seguiu per crear el vostre propi robot bípede controlat per Arduino i deixeu votar al "Concurs Arduino" si us ha agradat el projecte.

Pas 1: procés de disseny

Procés de disseny
Procés de disseny
Procés de disseny
Procés de disseny
Procés de disseny
Procés de disseny

Les potes humanoides van ser dissenyades al programari de modelatge 3D Fusion 360 d’ús gratuït d’Autodesk. Vaig començar important els servomotors al disseny i vaig construir les potes al voltant d’ells. Vaig dissenyar mènsules per al servomotor que proporcionen un segon punt de pivot diametralment oposat a l’eix del servomotor. Tenir eixos dobles a tots dos extrems del motor proporciona estabilitat estructural al disseny i elimina qualsevol inclinació que es pugui produir quan les potes prenen una mica de càrrega. Els enllaços van ser dissenyats per subjectar un coixinet mentre que els suports utilitzaven un pern per a l'eix. Una vegada que els enllaços es muntessin als eixos mitjançant una rosca, el coixinet proporcionaria un punt de gir suau i robust al costat oposat de l'eix del servomotor.

Un altre objectiu durant el disseny del bípede era mantenir el model el més compacte possible per aprofitar al màxim el parell proporcionat pels servomotors. Les dimensions dels enllaços es van fer per aconseguir un ampli rang de moviment mentre es minimitzava la longitud total. En fer-los massa curts, els suports xocarien, reduint el rang de moviment i fer-lo massa llarg, exerciria un parell innecessari sobre els actuadors. Finalment, vaig dissenyar el cos del robot sobre el qual es muntarien l’Arduino i altres components electrònics.

Nota: Les parts s’inclouen en un dels passos següents.

Pas 2: el paper de l'Arduino

El paper de l'Arduino
El paper de l'Arduino

En aquest projecte s’ha utilitzat un Arduino Uno. L'Arduino va ser responsable de calcular els camins de moviment de les diverses marxes que es van provar i va indicar als actuadors que es moguessin a angles precisos a velocitats precises per crear un moviment de marxa suau. Un Arduino és una opció fantàstica per desenvolupar projectes a causa de la seva versatilitat. Proporciona un munt de pins IO i també proporciona interfícies com ara sèrie, I2C i SPI per comunicar-se amb altres microcontroladors i sensors. L'Arduino també proporciona una gran plataforma per realitzar prototips i proves ràpides i també ofereix als desenvolupadors espai per a millores i capacitat d'expansió. En aquest projecte, altres versions inclouran una unitat de mesura inercial per al processament de moviments, com ara detecció de caigudes i locomoció dinàmica en terrenys irregulars, i un sensor de mesura de distància per evitar obstacles.

L’IDE Arduino s’ha utilitzat per a aquest projecte. (Arduino també proporciona un IDE basat en web)

Nota: Els programes del robot es poden descarregar des d’un dels passos següents.

Pas 3: materials necessaris

Materials necessaris
Materials necessaris
Materials necessaris
Materials necessaris
Materials necessaris
Materials necessaris
Materials necessaris
Materials necessaris

Aquí teniu la llista de tots els components i peces necessaris per fabricar el vostre propi robot bipedal alimentat per Arduino. Totes les peces haurien d’estar disponibles i fàcils de trobar.

ELECTRONNICA:

Arduino Uno x 1

Servomotor Towerpro MG995 x 6

Perfboard (mida similar a l'Arduino)

Clavilles masculines i femenines (aproximadament 20 de cadascuna)

Jumper Wires (10 peces)

MPU6050 IMU (opcional)

Sensor d'ultrasons (opcional)

HARDWARE:

Rodament de monopatí (8x19x7mm)

Femelles i femelles M4

Filament d'impressora 3D (en cas que no tingueu cap impressora 3D, hi hauria d'haver una impressora 3D en un espai de treball local o les impressions es puguin fer en línia per un preu bastant econòmic)

Excloent la impressora Arduino i 3D, el cost total d’aquest projecte és de 20 $.

Pas 4: peces impreses en 3D

Parts impreses en 3D
Parts impreses en 3D
Parts impreses en 3D
Parts impreses en 3D
Parts impreses en 3D
Parts impreses en 3D
Parts impreses en 3D
Parts impreses en 3D

Les peces necessàries per a aquest projecte havien de ser dissenyades a mida, per tant, es va utilitzar una impressora 3D per imprimir-les. Les impressions es van fer amb un 40% d’ompliment, 2 perímetres, broquet de 0,4 mm i una alçada de capa de 0,1 mm amb PLA, color que trieu. A continuació podeu trobar la llista completa de peces i els STL per imprimir la vostra pròpia versió.

Nota: A partir d'aquí es farà referència a les parts mitjançant els noms de la llista.

  • suport de servo peu 1
  • mirall de suport per a servopiedes x 1
  • porta-servomotor de genoll x 1
  • mirall porta-genolls x 1
  • suport per a servopiedes x 1
  • mirall porta servoportes de peu x 1
  • enllaç de rodament x 2
  • enllaç de servocorn x 2
  • enllaç de peu x 2
  • pont x 1
  • muntura electrònica x 1
  • espaiador electrònic 8 (opcional)
  • espai de trompa servo x 12 (opcional)

En total, excloent els separadors, hi ha 14 parts. El temps total d’impressió és d’unes 20 hores.

Pas 5: Preparació dels suports de servo

Preparació dels suports de servo
Preparació dels suports de servo
Preparació dels suports de servo
Preparació dels suports de servo
Preparació dels suports de servo
Preparació dels suports de servo

Una vegada que s’imprimeixin totes les parts, podeu començar configurant els servos i els suports de servo. Primer introduïu un coixinet al porta servocomandament del genoll. L’ajust hauria de ser ajustat, però recomanaria polir una mica la superfície interna del forat en lloc de forçar el coixinet, cosa que pot comportar el risc de trencar la peça. A continuació, passeu un cargol M4 pel forat i estrenyeu-lo amb una femella. A continuació, agafeu l'enllaç del peu i fixeu-hi una banya de servo circular mitjançant els cargols subministrats. Connecteu l'enllaç del peu al porta servocomandament del genoll mitjançant els cargols que utilitzarà per fixar també el servomotor. Assegureu-vos d’alinear el motor de manera que l’eix quedi al mateix costat del pern que havíeu fixat anteriorment. Finalment, assegureu el servo amb la resta de femelles i cargols.

Feu el mateix amb el suport de servo de maluc i el servo de peu. Amb això, hauríeu de tenir tres servomotors i els seus suports corresponents.

Nota: Proporciono instruccions per construir una cama, l’altra simplement es reflecteix.

Pas 6: elaboració de les peces de l'enllaç

Realització de les peces d’enllaç
Realització de les peces d’enllaç
Realització de les peces d’enllaç
Realització de les peces d’enllaç
Realització de les peces d’enllaç
Realització de les peces d’enllaç

Un cop muntats els claudàtors, comenceu a fer els enllaços. Per fer l'enllaç del coixinet, torneu a polir lleugerament la superfície interna dels forats del coixinet i, a continuació, empenyeu el coixinet al forat dels dos costats. Assegureu-vos d’empènyer el coixinet fins que un dels laterals quedi a ras. Per construir l’enllaç del servocorn, agafeu dos servocorns circulars i els cargols subministrats. Col·loqueu les banyes a la impressió 3D i alineeu els forats i, a continuació, cargoleu la banya a la impressió 3D fixant el cargol a la cara d'impressió 3D. Recomano utilitzar un espaiador de trompa imprès en 3D per a aquests cargols. Un cop construïts els enllaços, podeu començar a muntar la cama.

Pas 7: Muntatge de les cames

Muntatge de les cames
Muntatge de les cames
Muntatge de les cames
Muntatge de les cames
Muntatge de les cames
Muntatge de les cames
Muntatge de les cames
Muntatge de les cames

Un cop muntats els enllaços i claudàtors, podeu combinar-los per construir la pota del robot. En primer lloc, utilitzeu l’enllaç de la banya de servo per unir el suport de servo de maluc i el servo servo de genoll. Nota: No cargoleu la trompa al servo encara, ja que hi ha una etapa de configuració a la següent etapa i seria un inconvenient si la trompa estigués cargolada al servomotor.

Al costat oposat, munteu l’enllaç de rodament als cargols sortints amb femelles. Per últim, fixeu el suport del servo peu inserint el pern sobresortint pel coixinet del suport del servo genoll. I fixeu l’eix del servo a la banya del servo connectada al porta-servo del genoll de l’altra banda. Pot ser que sigui una tasca complicada i us recomanaria un segon parell de mans.

Repetiu els passos de l’altra cama. Utilitzeu les imatges adjuntes a cada pas com a referència.

Pas 8: PCB i cablejat personalitzats

PCB i cablejat personalitzats
PCB i cablejat personalitzats
PCB i cablejat personalitzats
PCB i cablejat personalitzats
PCB i cablejat personalitzats
PCB i cablejat personalitzats

Aquest és un pas opcional. Per fer que el cablejat fos més net, vaig decidir fer un PCB personalitzat amb placa de perf i pins de capçalera. El PCB conté ports per connectar directament els cables del servomotor. A més, també vaig deixar ports addicionals per si volia ampliar i afegir altres sensors com ara unitats de mesura inercial o sensors de distància ultrasònics. També conté un port per a la font d'alimentació externa necessària per alimentar els servomotors. S'utilitza una connexió jumper per canviar entre USB i alimentació externa de l'Arduino. Munteu l'Arduino i el PCB a banda i banda del muntatge electrònic utilitzant cargols i separadors impresos en 3D.

Nota: assegureu-vos de desconnectar el pont abans de connectar l'Arduino a l'ordinador mitjançant USB. Si no feu això, es pot fer malbé l'Arduino.

Si decidiu no utilitzar el PCB i, en canvi, utilitzar una placa de configuració, aquí teniu les connexions servo:

  • Maluc esquerre >> pin 9
  • Maluc dret >> pin 8
  • Genoll esquerre >> pin 7
  • Genoll dret >> pin 6
  • Peu esquerre >> pin 5
  • Peu dret >> pin 4

Si decidiu fer que el PCB segueixi el mateix ordre que anteriorment utilitzant els ports del PCB de dreta a esquerra amb el port IMU cap amunt. I utilitzeu cables de pont normal per a femella per connectar el PCB a l’Arduino mitjançant els números de pin anteriors. Assegureu-vos de connectar també el pin de terra i crear el mateix potencial de terra i el pin Vin per quan decidiu executar-lo sense alimentació USB.

Pas 9: Muntatge del cos

Muntatge del cos
Muntatge del cos
Muntatge del cos
Muntatge del cos
Muntatge del cos
Muntatge del cos

Un cop muntades les dues potes i l'electrònica, combineu-les per formar el cos del robot. Utilitzeu la peça del pont per unir les dues potes. Utilitzeu els mateixos forats de muntatge al suport del servochip i les femelles i cargols que subjecten el servomotor. Finalment, connecteu el suport electrònic al pont. Alineeu els forats del pont i el muntatge de l’electrònica i utilitzeu cargols i femelles M4 per fer la junta.

Consulteu les imatges adjuntes per obtenir ajuda. Amb això, heu completat la construcció de maquinari del robot. A continuació, saltem al programari i donem vida al robot.

Pas 10: Configuració inicial

Configuració inicial
Configuració inicial
Configuració inicial
Configuració inicial
Configuració inicial
Configuració inicial

El que he notat en construir aquest projecte és que els servomotors i les botzines no necessiten alinear-se perfectament per mantenir-se relativament paral·lels. És per això que la "posició central" de cada servomotor s'ha d'ajustar manualment per alinear-la amb les potes. Per aconseguir-ho, traieu les banyes de servo de cada servo i executeu l'esbós initial_setup.ino. Un cop els motors s'han instal·lat a la seva posició central, torneu a col·locar les banyes de manera que les potes siguin perfectament rectes i el peu sigui perfectament paral·lel al terra. Si és així, estàs de sort. Si no obriu el fitxer constants.h que es troba a la pestanya adjacent i modifiqueu els valors de compensació del servo (línies 1-6) fins que les potes estiguin perfectament alineades i el peu estigui pla. Juga amb els valors i tindràs una idea del que és necessari en el teu cas.

Un cop establertes les constants, tingueu en compte aquests valors perquè seran necessaris més endavant.

Consulteu les imatges per obtenir ajuda.

Pas 11: una mica sobre la cinemàtica

Una mica sobre la cinemàtica
Una mica sobre la cinemàtica
Una mica sobre la cinemàtica
Una mica sobre la cinemàtica
Una mica sobre la cinemàtica
Una mica sobre la cinemàtica

Per fer que el bípede realitzi accions útils com ara córrer i caminar, cal programar diverses marxes en forma de camins de moviment. Els camins de moviment són camins pels quals recorre l'efector final (els peus en aquest cas). Hi ha dues maneres d'aconseguir-ho:

  1. Un enfocament seria alimentar els angles articulats dels diversos motors de manera bruta. Aquest enfocament pot ser llarg, tediós i també pot contenir errors, ja que el judici és purament visual. En canvi, hi ha una manera més intel·ligent d’aconseguir els resultats desitjats.
  2. El segon enfocament gira al voltant de l'alimentació de les coordenades de l'efector final en lloc de tots els angles articulars. Això és el que es coneix com a cinemàtica inversa. L'usuari introdueix coordenades i els angles de les articulacions s'ajusten per situar l'efector final a les coordenades especificades. Aquest mètode es pot considerar com una caixa negra que pren com a entrades una coordenada i emet els angles de les articulacions. Els que estiguin interessats en com es van desenvolupar les equacions trigonomètriques d’aquesta caixa negra poden veure el diagrama anterior. Per a aquells que no hi estiguin interessats, les equacions ja estan programades i es poden utilitzar mitjançant la funció pos que pren com a entrada x, z i com a sortida tres angles corresponents als motors.

El programa que conté aquestes funcions es troba al següent pas.

Pas 12: Programació de l'Arduino

Programació de l'Arduino
Programació de l'Arduino
Programació de l'Arduino
Programació de l'Arduino

Abans de programar l'Arduino, cal fer lleugeres modificacions al fitxer. Recordeu les constants que us havia demanat de treure una nota? Modifiqueu les mateixes constants als valors que definiu al fitxer constants.h.

Nota: Si heu utilitzat els dissenys proporcionats en aquest manual, no teniu res a canviar. En cas que hi hagi alguns que hagin creat els seus propis dissenys, haureu de canviar uns quants valors més junt amb les compensacions. La constant l1 mesura la distància entre el pivot del maluc i el pivot del genoll. La constant l2 mesura la distància entre el pivot del genoll i el pivot del turmell. Per tant, si heu dissenyat el vostre propi model, mesureu aquestes longituds i modifiqueu les constants. Les dues constants finals s’utilitzen per a les marxes. La constant stepClearance mesura l’altura que el peu s’elevarà en avançar després d’un pas i la constant stepHeight mesura l’alçada des del terra fins al maluc mentre fa passos.

Un cop totes les constants es modifiquin segons les vostres necessitats, podeu carregar el programa principal. El programa principal simplement inicialitza el robot en una posició de caminar i comença a fer passos cap endavant. Les funcions es poden modificar segons la vostra necessitat d’explorar les diferents marxes, velocitats i longituds de pas per veure què funciona millor.

Pas 13: Resultats finals: temps per experimentar

Resultats finals: temps per experimentar
Resultats finals: temps per experimentar
Resultats finals: temps per experimentar
Resultats finals: temps per experimentar
Resultats finals: temps per experimentar
Resultats finals: temps per experimentar

El bípede pot prendre mesures que varien de 10 a 2 cm de llarg sense bolcar-se. La velocitat també es pot variar mantenint la marxa equilibrada. Aquest bíped combinat amb la potència de l’Arduino proporciona una plataforma robusta per experimentar amb altres marxes i altres objectius com saltar o equilibrar-se mentre xutem una pilota. Us recomanaria que proveu de canviar els camins de moviment de les cames per crear les vostres pròpies marxes i descobrir com diverses marxes afecten el rendiment del robot. Es poden afegir sensors com un IMU i un sensor de distància al sistema per augmentar les seves funcionalitats, mentre que els sensors de força es poden afegir a les potes per experimentar amb locomoció dinàmica en superfícies irregulars.

Espero que us hagi agradat aquest instructiu i us serveixi d’inspiració per construir el vostre. Si us ha agradat el projecte, doneu-li suport votant al "Concurs Arduino".

Feliç fer!

Concurs Arduino 2020
Concurs Arduino 2020
Concurs Arduino 2020
Concurs Arduino 2020

Primer premi del Concurs Arduino 2020

Recomanat: