INHOUDSOPGAWE:

3D -gedrukte Arduino -aangedrewe viervoudige robot: 13 stappen (met foto's)
3D -gedrukte Arduino -aangedrewe viervoudige robot: 13 stappen (met foto's)

Video: 3D -gedrukte Arduino -aangedrewe viervoudige robot: 13 stappen (met foto's)

Video: 3D -gedrukte Arduino -aangedrewe viervoudige robot: 13 stappen (met foto's)
Video: Lesson 49: Introduction to L293D Motor driver and speed control | Arduino Step By Step Course 2024, Julie
Anonim
3D -gedrukte Arduino -aangedrewe viervoetige robot
3D -gedrukte Arduino -aangedrewe viervoetige robot
3D -gedrukte Arduino -aangedrewe viervoetige robot
3D -gedrukte Arduino -aangedrewe viervoetige robot
3D -gedrukte Arduino -aangedrewe viervoetige robot
3D -gedrukte Arduino -aangedrewe viervoetige robot

Fusion 360 -projekte »

Uit die vorige instruksies kan u waarskynlik sien dat ek baie belangstel in robotiese projekte. Na die vorige Instructable, waar ek 'n robot met twee bene gebou het, het ek besluit om 'n viervoetige robot te maak wat diere soos honde en katte kan naboots. In hierdie instruksies sal ek u die ontwerp en samestelling van die robot viervoetige wys.

Die primêre doelwit tydens die bou van hierdie projek was om die stelsel so robuust moontlik te maak, sodat ek nie voortdurend hoef bekommerd te wees oor die hardeware wat misluk as ek met verskillende loop- en hardlooppaaie eksperimenteer nie. Dit het my in staat gestel om die hardeware tot sy uiterste te stoot en te eksperimenteer met komplekse gang en bewegings. 'N Sekondêre doelwit was om die viervoetige relatief goedkoop te maak met behulp van geredelik beskikbare stokperdjie-onderdele en 3D-drukwerk wat vinnige prototipering moontlik gemaak het. Hierdie twee doelwitte saam bied 'n robuuste grondslag om verskillende eksperimente uit te voer, sodat 'n mens die quadruped kan ontwikkel vir meer spesifieke vereistes, soos navigasie, vermyding van hindernisse en dinamiese beweging.

Kyk na die video hierbo om 'n vinnige demonstrasie van die projek te sien. Gaan voort om u eie Arduino Powered Quadruped Robot te skep en stem in die 'Make it Move Contest' as u van die projek hou.

Stap 1: Oorsig en ontwerpproses

Oorsig en ontwerpproses
Oorsig en ontwerpproses
Oorsig en ontwerpproses
Oorsig en ontwerpproses
Oorsig en ontwerpproses
Oorsig en ontwerpproses

Die viervoetige is ontwerp in Autodesk se gratis Fusion 360 3D -modelleringsagteware. Ek het begin met die invoer van die servomotore in die ontwerp en die pote en lyf rondom hulle gebou. Ek het hakies ontwerp vir die servomotor wat 'n tweede spilpunt bied wat diametraal teenoor die servomotor se as is. Deur dubbele asse aan weerskante van die motor te hê, gee die ontwerp strukturele stabiliteit en elimineer enige skeefheid wat kan ontstaan as die bene 'n bietjie las neem. Die skakels is ontwerp om 'n laer te hou terwyl die hakies 'n bout vir die as gebruik het. Sodra die skakels met 'n moer op die as gemonteer is, sou die laer 'n gladde en robuuste spilpunt aan die teenoorgestelde kant van die servomotoras bied.

'N Ander doelwit tydens die ontwerp van die quadruped was om die model so kompak as moontlik te hou om die wringkrag wat deur die servomotors verskaf word, optimaal te benut. Die afmetings van die skakels is gemaak om 'n groot bewegingsbereik te bereik, terwyl die totale lengte tot 'n minimum beperk word. Deur hulle te kort te maak, kan die hakies bots, die bewegingsbereik verminder en dit te lank maak, sal onnodige wringkrag op die aandrywers uitoefen. Uiteindelik het ek die liggaam van die robot ontwerp waarop die Arduino en ander elektroniese komponente gemonteer kan word. Ek het ook ekstra monteerpunte op die boonste paneel gelaat om die projek skaalbaar te maak vir verdere verbeterings. Eens kon daar sensors soos afstandsensors, kameras of ander bediende meganismes soos robotgrijpers byvoeg.

Opmerking: die onderdele is ingesluit in een van die volgende stappe.

Stap 2: materiaal benodig

Materiaal benodig
Materiaal benodig
Materiaal benodig
Materiaal benodig

Hier is die lys van al die komponente en onderdele wat u benodig om u eie Arduino Powered Quadruped Robot te maak. Alle onderdele moet algemeen beskikbaar wees en maklik in plaaslike hardewarewinkels of aanlyn gevind word.

ELEKTRONIES:

Arduino Uno x 1

Towerpro MG995 servomotor x 12

Arduino Sensor Shield (ek beveel die V5 -weergawe aan, maar ek het die V4 -weergawe)

Jumper Wires (10 stukke)

MPU6050 IMU (opsioneel)

Ultrasoniese sensor (opsioneel)

HARDWARE:

Kogellagers (8x19x7mm, 12 stukke)

M4 moere en boute

3D -drukkersdraad (as u nie 'n 3D -drukker besit nie, moet daar 'n 3D -drukker in 'n plaaslike werkruimte wees, of die afdrukke kan goedkoop aanlyn gedoen word)

Akriel velle (4 mm)

GEREEDSKAP

3D -drukker

Lasersnyer

Die grootste koste van hierdie projek is die 12 servomotors. Ek beveel aan dat u van die middel tot hoë weergawe gaan, in plaas van om goedkoop plastiek te gebruik, aangesien dit maklik breek. Sonder die gereedskap is die totale koste van hierdie projek ongeveer $ 60.

Stap 3: Digitaal vervaardigde onderdele

Digitaal vervaardigde onderdele
Digitaal vervaardigde onderdele
Digitaal vervaardigde onderdele
Digitaal vervaardigde onderdele
Digitaal vervaardigde onderdele
Digitaal vervaardigde onderdele

Die onderdele wat vir hierdie projek benodig word, moes spesiaal ontwerp word, daarom gebruik ons die krag van digitaal vervaardigde onderdele en CAD om dit te bou. Die meeste dele is 3D gedruk, afgesien van 'n paar wat laser gesny is uit 4 mm akriel. Die afdrukke is gemaak met 40% vulsel, 2 omtrek, 0,4 mm spuitstuk en 'n laaghoogte van 0,1 mm met PLA. Sommige dele benodig steun, aangesien dit 'n komplekse vorm het met oorhangings, maar die stutte is maklik toeganklik en kan met 'n paar snyers verwyder word. U kan die kleur van u filament kies. Hieronder vind u die volledige lys van onderdele en die STL's om u eie weergawe en die 2D -ontwerpe vir die lasersnitonderdele te druk.

Nota: Van hier af sal na die dele verwys word met die name in die volgende lys.

3D -gedrukte onderdele:

  • heup servo bracket x 2
  • heup servo bracket spieël x 2
  • knie servo bracket x 2
  • knie servo bracket spieël x 2
  • laerhouer x 2
  • laerhouerspieël x 2
  • been x 4
  • servo horing skakel x 4
  • laerskakel x 4
  • arduino houer x 1
  • afstandsensorhouer x 1
  • L-steun x 4
  • laerbos x 4
  • servo horing afstandhouer x 24

Lasergesnyde onderdele:

  • servo houer paneel x 2
  • boonste paneel x 1

In totaal is daar 30 dele wat 3D gedruk moet word, uitgesluit die verskillende afstandhouers, en in totaal 33 dele wat digitaal vervaardig is. Die totale druktyd is ongeveer 30 uur.

Stap 4: Voorbereiding van die skakels

Die voorbereiding van die skakels
Die voorbereiding van die skakels
Die voorbereiding van die skakels
Die voorbereiding van die skakels
Die voorbereiding van die skakels
Die voorbereiding van die skakels

U kan die montering begin deur aan die begin 'n paar dele op te stel, wat die finale monteerproses meer hanteerbaar sal maak. U kan met die skakel begin. Om die laerskakel te maak, skuur die binneste oppervlak van die gate vir die laer liggies en druk die laer aan beide kante in die gat. Druk die laer in totdat die een kant gelyk is. Om die servohoringskakel te bou, gryp twee sirkelvormige servohorings en die skroewe wat daarmee saamgevoeg is. Plaas die horings op die 3D -afdruk en rangskik die twee gate, en skroef daarna die horing op die 3D -druk deur die skroef aan die 3D -drukkant vas te maak. Ek moes 'n paar 3D -gedrukte servohoringafstandhouers gebruik, aangesien die skroewe wat verskaf is, 'n bietjie lank was en sou sny met die servomotorliggaam terwyl dit draai. Sodra die skakels gebou is, kan u die verskillende houers en hakies begin opstel.

Herhaal dit vir al 4 skakels van beide tipes.

Stap 5: Berei die servo -hakies voor

Berei die servo -hakies voor
Berei die servo -hakies voor
Berei die servo -hakies voor
Berei die servo -hakies voor
Berei die servo -hakies voor
Berei die servo -hakies voor

Om die knieservo -houer op te stel, steek 'n bout van 4 mm deur die gat en maak dit vas met 'n moer. Dit sal funksioneer as die sekondêre as vir die motor. Draai twee boute deur die heup servo -houer deur die twee gate en maak dit vas met nog twee moere. Gryp dan nog 'n sirkelvormige servohoring en maak dit vas aan die effens verhoogde gedeelte van die bracket met die twee skroewe wat by die horings kom. Weereens sou ek u aanbeveel dat u die afstandhouer van die servohoring gebruik sodat die skroewe nie in die opening van die servo uitsteek nie. Gryp laastens die laerhouerdeel en druk 'n laer in die gat. Miskien moet u die binneste oppervlak liggies skuur vir 'n goeie pas. Druk dan 'n laerstoot in die laer sodat die laerhouerstuk buig.

Raadpleeg die foto's hierbo aangeheg terwyl u die hakies bou. Herhaal hierdie proses vir die res van die hakies. Die spieëls is soortgelyk, maar alles word weerspieël.

Stap 6: Monteer die bene

Montering van die bene
Montering van die bene
Montering van die bene
Montering van die bene
Montering van die bene
Montering van die bene
Montering van die bene
Montering van die bene

Sodra al die skakels en hakies saamgestel is, kan u die vier bene van die robot begin bou. Bevestig die servo's met 4 x M4 -boute en moere op die hakies. Maak seker dat die as van die servo in lyn is met die uitsteekbout aan die ander kant.

Koppel dan die heup servo met die knieservo met behulp van die servo horing skakel stuk. Gebruik nog nie 'n skroef om die horing op die servomotoras vas te maak nie, aangesien ons moontlik later die posisie moet aanpas. Monteer die laerskakel met die twee laers aan die teenoorgestelde kant met moere op die boute wat uitsteek.

Herhaal hierdie proses vir die res van die drie bene en die 4 bene vir die viervoetige is gereed!

Stap 7: Monteer die liggaam

Die samestelling van die liggaam
Die samestelling van die liggaam
Die samestelling van die liggaam
Die samestelling van die liggaam
Die samestelling van die liggaam
Die samestelling van die liggaam
Die samestelling van die liggaam
Die samestelling van die liggaam

Vervolgens kan ons fokus op die bou van die liggaam van die robot. Die bak huisves vier servomotors wat die bene hul derde graad van vryheid gee. Gebruik 4 x M4 -boute en -boute om die servo aan die lasergesnyde servohouerpaneel vas te maak.

Let wel: Maak seker dat die servo vasgemaak is sodat die as aan die buitekant van die stuk is, soos op die foto's hierbo aangeheg. Herhaal hierdie proses vir die res van die drie servomotore, hou die oriëntasie in gedagte.

Bevestig vervolgens L-stutte aan beide kante van die paneel met twee M4 moere en boute. Met hierdie stuk kan ons die servohouerpaneel stewig aan die boonste paneel vasmaak. Herhaal hierdie proses met nog twee L-ondersteuners en die tweede servohouerpaneel wat die tweede stel servomotore bevat.

Sodra die L -stutte op hul plek is, gebruik meer M4 -moere en -boute om die servohouerpaneel aan die boonste paneel vas te maak. Begin met die buitenste stel moere en boute (voor en agter). Die sentrale moere en boute hou ook die arduino -houerstuk vas. Gebruik vier moere en boute om die arduino -houer van bo af op die boonste paneel vas te maak en die boute in lyn te bring sodat hulle ook deur die L -steengate gaan. Raadpleeg die prentjies hierbo aangeheg vir verduidelikings. Skuif ten slotte vier moere in die gleuwe op die servohouerpanele en gebruik boute om die servohouerpanele aan die boonste paneel vas te maak.

Stap 8: Alles saamvoeg

Om alles bymekaar te sit
Om alles bymekaar te sit
Om alles bymekaar te sit
Om alles bymekaar te sit
Om alles bymekaar te sit
Om alles bymekaar te sit

Sodra die bene en die lyf bymekaargemaak is, kan u die monteerproses begin voltooi. Monteer die vier bene aan die vier servo's met behulp van die servo -horings wat aan die heup -servohouer geheg is. Gebruik laastens die laerhouerstukke om die teenoorgestelde as van die heupbeugel te ondersteun. Trek die as deur die laer en gebruik 'n bout om dit vas te maak. Bevestig die laerhouers aan die boonste paneel met twee M4 moere en boute.

Hiermee is die hardeware -samestelling van die quaduped gereed.

Stap 9: Bedrading en stroombaan

Bedrading en stroombaan
Bedrading en stroombaan
Bedrading en stroombaan
Bedrading en stroombaan
Bedrading en stroombaan
Bedrading en stroombaan
Bedrading en stroombaan
Bedrading en stroombaan

Ek het besluit om 'n sensorskerm te gebruik wat verbindings vir servomotors bied. Ek sou aanbeveel dat u die sensor shield v5 gebruik, aangesien dit 'n ingeboude eksterne kragtoevoerpoort het. Die een wat ek gebruik het, het egter nie hierdie opsie nie. As ek die sensorskerm van nader bekyk, het ek opgemerk dat die sensorskerm krag trek uit die Arduino se 5v -pen aan boord (wat 'n vreeslike idee is as dit kom by servomotore met hoë krag, aangesien u die Arduino kan beskadig). Die oplossing vir hierdie probleem was om die 5v -pen op die sensorskerm uit die pad te buig, sodat dit nie kon aansluit by die 5v -pen van die Arduino nie. Op hierdie manier kan ons nou eksterne krag verskaf deur die 5v -pen sonder om die Arduino te beskadig.

Die verbindings van die seinpenne van die 12 servomotore word in die onderstaande tabel aangedui.

Nota: Hip1Servo verwys na die servo wat aan die liggaam geheg is. Hip2Servo verwys na die servo wat aan die been geheg is.

Been 1 (links voor):

  • Hip1Servo >> 2
  • Hip2Servo >> 3
  • KnieServo >> 4

Been 2 (regs vorentoe):

  • Hip1Servo >> 5
  • Hip2Servo >> 6
  • KnieServo >> 7

Been 3 (links agter):

  • Hip1Servo >> 8
  • Hip2Servo >> 9
  • Knieservo >> 10

Been 4 (regs agter):

  • Hip1Servo >> 11
  • Hip2Servo >> 12
  • Knieservo >> 13

Stap 10: Aanvanklike opstelling

Aanvanklike opstelling
Aanvanklike opstelling
Aanvanklike opstelling
Aanvanklike opstelling

Voordat ons komplekse gang en ander bewegings begin programmeer, moet ons die nulpunte van elke servo opstel. Dit gee die robot 'n verwysingspunt wat hy gebruik om die verskillende bewegings uit te voer.

Om skade aan die robot te voorkom, kan u die servohoringskakels verwyder. Laai dan die onderstaande kode op. Hierdie kode plaas elk van die servo's op 90 grade. Sodra die servo's die posisie van 90 grade bereik het, kan u die skakels weer vasmaak sodat die bene heeltemal reguit is en die servo wat aan die liggaam vasgemaak is, loodreg op die boonste paneel van die viervoet is.

Vanweë die ontwerp van die servohorings kan sommige gewrigte op hierdie stadium nog steeds nie heeltemal reguit wees nie. Die oplossing hiervoor is om die zeroPositions -skikking op die vierde reël van die kode aan te pas. Elke getal verteenwoordig die nulposisie van die ooreenstemmende servo (die volgorde is dieselfde as die volgorde waarin u die servo aan die Arduino geheg het). Pas hierdie waardes 'n bietjie aan totdat die bene heeltemal reguit is.

Let wel: Hier is die waardes wat ek gebruik, hoewel hierdie waardes moontlik nie vir u werk nie:

int zeroPositions [12] = {93, 102, 85, 83, 90, 85, 92, 82, 85, 90, 85, 90};

Stap 11: 'n bietjie oor die kinematika

'N Bietjie oor die kinematika
'N Bietjie oor die kinematika
'N Bietjie oor die kinematika
'N Bietjie oor die kinematika
'N Bietjie oor die kinematika
'N Bietjie oor die kinematika

Om die viervoetige handelinge soos hardloop, loop en ander bewegings te laat uitvoer, moet die servo's in die vorm van bewegingspaaie geprogrammeer word. Bewegingspaaie is paaie waarlangs die eindversterker (die voete in hierdie geval) beweeg. Daar is twee maniere om dit te bereik:

  1. Een benadering sou wees om die lashoeke van die verskillende motors op 'n brute krag manier te voer. Hierdie benadering kan tydrowend, vervelig en ook vol foute wees, aangesien die oordeel suiwer visueel is. In plaas daarvan is daar 'n slimmer manier om die gewenste resultate te behaal.
  2. Die tweede benadering draai om die koördinate van die eindeffektor in plaas van al die gesamentlike hoeke. Dit staan bekend as Inverse Kinematics. Die gebruiker voer koördinate in en die gewrigshoeke pas aan om die eindeffektor op die gespesifiseerde koördinate te plaas. Hierdie metode kan beskou word as 'n swart boks wat as insette 'n koördinaat neem en die gesamentlike hoeke uitvoer. Vir diegene wat belangstel in hoe die trigonometriese vergelykings van hierdie swart boks ontwikkel is, kan hulle na die bostaande diagram kyk. Vir diegene wat nie belangstel nie, die vergelykings is reeds geprogrammeer en kan gebruik word met behulp van die pos -funksie wat as invoer x, y, z neem, wat die kartesiese ligging van die eindeffektor is en drie hoeke na die motors gee.

Die program wat hierdie funksies bevat, kan in die volgende stap gevind word.

Stap 12: Programmering van die Quadruped

Die programmering van die Quadruped
Die programmering van die Quadruped

Sodra die bedrading en inisialisering voltooi is, kan u die robot programmeer en koel bewegingspaaie genereer sodat die robot interessante take verrig. Voordat u verder gaan, verander die vierde reël in die aangehegte kode na die waardes wat u in die inisialiseringstap gestel het. Nadat die program opgelaai is, moet die robot begin loop. As u agterkom dat sommige gewrigte omgekeer is, kan u die ooreenstemmende rigtingwaarde in die rigtingsreeks in reël 5 verander (as dit 1 is, maak dit -1 en as dit -1 is, maak dit 1).

Stap 13: Finale resultate: Tyd om te eksperimenteer

Finale uitslae: Tyd om te eksperimenteer
Finale uitslae: Tyd om te eksperimenteer
Finale uitslae: Tyd om te eksperimenteer
Finale uitslae: Tyd om te eksperimenteer
Finale uitslae: Tyd om te eksperimenteer
Finale uitslae: Tyd om te eksperimenteer

Die viervoetige robot kan stappe neem wat wissel van 5 tot 2 cm lank. Die snelheid kan ook verander word, terwyl die gang gebalanseerd gehou word. Hierdie viervoetige bied 'n robuuste platform om te eksperimenteer met verskillende ander gange en ander doelwitte, soos spring of take voltooi. Ek sal u aanbeveel om die bewegingspaaie van die bene te verander om u eie gang te maak en te ontdek hoe verskillende gange die prestasie van die robot beïnvloed. Ek het ook verskeie bevestigingspunte aan die bokant van die robot gelaat vir bykomende sensors, soos afstandmetersensors vir hindernisontwykingstake of IMU vir dinamiese gange op ongelyke terrein. U kan ook eksperimenteer met 'n ekstra gryparm wat aan die bokant van die robot gemonteer is, aangesien die robot uiters stabiel en robuust is en nie maklik kan kantel nie.

Hoop jy het hierdie Instructable geniet, en dit het jou geïnspireer om jou eie te bou.

As u van die projek hou, ondersteun dit dan deur 'n stemming in die "Make it Move Contest" te laat val.

Gelukkige maak!

Maak dit Move Contest 2020
Maak dit Move Contest 2020
Maak dit Move Contest 2020
Maak dit Move Contest 2020

Tweede prys in die Make it Move Contest 2020

Aanbeveel: