Innholdsfortegnelse:

Autonomt bordfotballbord: 5 trinn (med bilder)
Autonomt bordfotballbord: 5 trinn (med bilder)

Video: Autonomt bordfotballbord: 5 trinn (med bilder)

Video: Autonomt bordfotballbord: 5 trinn (med bilder)
Video: WAS IST IN DER KABINE? LUXUS-LKW von AliExpress – was verstecken die Chinesen? 2024, Juli
Anonim
Autonomt bordfotballbord
Autonomt bordfotballbord
Autonomt bordfotballbord
Autonomt bordfotballbord
Autonomt bordfotballbord
Autonomt bordfotballbord

Hovedprosjektmålet var å fullføre en fungerende prototype for et Autonomous Foosball Table (AFT), der en menneskelig spiller står overfor en robotmotstander. Fra det menneskelige perspektivet på spillet, er fotballbordet veldig likt et vanlig bord. Spilleren (e) på menneskesiden styres via en serie på fire håndtak som kan flyttes inn og ut og roteres for å flytte spillerne lineært over spillefeltet og for å sparke ballen mot motstanderens mål. Den autonome siden består av:> Åtte servomotorer som brukes til å manipulere håndtakene på fotballbordet> En mikrokontroller for å aktivere servomotorene og kommunisere med datamaskinen> Et overheadmontert webkamera for å spore ballen og spillere> En datamaskin som skal behandles webkamera -bildene, implementere kunstig intelligens og kommunisere med mikrokontrolleren Budsjettbegrensninger for prototypen bremset prosjektet noe og holdt funksjonaliteten til et minimum. Riktige motorer for å flytte spillerne med en konkurransedyktig hastighet ble funnet å være veldig dyre, så lavere-end-servoer måtte brukes. å gjøre det ville koste mer enn $ 500 basisprisen (pris uten strømforsyning og datamaskin).

Trinn 1: Montering av motorstyringskortet

Montering av motorstyringskortet
Montering av motorstyringskortet
Montering av motorstyringskortet
Montering av motorstyringskortet
Montering av motorstyringskortet
Montering av motorstyringskortet
Montering av motorstyringskortet
Montering av motorstyringskortet

De vedlagte bildene er et fullstendig kretsskjema samt et bilde av sluttproduktet til motorstyringskortet. Alle disse nødvendige delene kan kjøpes i de fleste store elektronikkbutikker på nettet (inkludert Digi-Key og Mouser. Som en sidebemerkning var alle delene som ble brukt her gjennom hull, og dermed kan delene settes sammen på et protobrett/brødbrett, eller ved å bruke den vedlagte PCB -designen. En mye mindre pakke kan opprettes ved å bruke en rekke overflatemonterte deler. Når vi implementerte designet, delte vi motorstyringene i 2 kretser, selv om det ikke er noen fordel å gjøre det annet enn hvilken som helst bestemt kablingsordning som brukes. Den lille blå tavlen implementerer PWM-kontrollkretsene, som i utgangspunktet bare er en klokket PIC-12F med noen spesialisert kode.

Trinn 2: Servomotormontering

Servomotormontering
Servomotormontering
Servomotormontering
Servomotormontering
Servomotormontering
Servomotormontering

To forskjellige typer servoer brukes. Først styres sidebevegelsen av en gruppe på fire servomaskiner med høyt dreiemoment: Robotis Dynamixel Tribotix AX-12. Disse fire kjører på en enkelt seriell linje og gir fantastisk funksjonalitet. Det høye dreiemomentet gjør at disse servoene kan gis på en slik måte at de gir en høy tangensiell hastighet for sidebevegelser. Vi var i stand til å finne et sett med 3,5 tommers gir og spor for å gå med dem fra Grainger til en pris av omtrent $ 10 for hver. Servoene gir dreiemoment overbelastningsbeskyttelse, et individuelt servo adresseringsopplegg, rask kommunikasjon, intern temperaturovervåking, toveiskommunikasjon, etc. Ulempen med disse servoene er at de er dyre og ikke veldig raske (selv om giring hjelper dem). Så for å få raskere bevegelse for spark, brukes Hitec HS-81s. HS-81s er relativt rimelige, har en anstendig rask vinkelhastighet og er enkle å koble til (standard PWM). HS-81s roterer imidlertid bare 90 grader (selv om det er mulig-og ikke anbefalt-å prøve å endre dem til 180 grader). I tillegg har de innvendige nylongir som enkelt fjernes hvis du prøver å endre servoen. Det ville være verdt pengene å finne en 180 graders roterende servo som har denne typen vinkelhastighet. Hele systemet er bundet sammen med biter av medium-density fiberboard (MDF) og high-density fiberboard (HDF). Dette ble valgt på grunn av den lave kostnaden (~ $ 5 for et 6'x4 'ark), enkel skjæring og muligheten til å koble til praktisk talt alle overflater. En mer permanent løsning ville være å bearbeide aluminiumsbraketter for å holde alt sammen. Skruene som holder PWM -servoene på plass er standard maskinskruer (#10s) med sekskantmuttere som holder dem fra den andre siden. 1 mm metriske maskinskruer, ca 3/4 lange, holder AX-12 inn i MDF som forbinder de to servoene. Et dobbeltvirkende skuffespor holder hele enheten nede og på linje med sporet.

Trinn 3: Programvare

Programvare
Programvare

Det siste trinnet er å installere all programvaren som brukes på maskinen. Dette består av noen få individuelle kodebiter:> Koden som kjøres på bildebehandlings-PCen> Koden kjøres på PIC-18F mikrokontrolleren> Koden kjøres på hver av PIC-12F mikrokontrollerne Det er to forutsetninger å installere på bildebehandlingen PC. Bildebehandlingen utføres gjennom Java Media Framework (JMF), som er tilgjengelig via Sun her. Java Communications API, som også er tilgjengelig via Sun, brukes til å kommunisere til motorens styrekort, over den serielle porten på datamaskinen. Det fine med å bruke Java er at det * skal * kjøre på alle operativsystemer, selv om vi brukte Ubuntu, en Linux -distribusjon. I motsetning til hva mange tror, er behandlingshastigheten i Java ikke så ille, spesielt i grunnleggende looping (som visjonsanalyse bruker ganske mye). Som sett på skjermbildet, blir både ballen og motspillerne sporet på hver bildeoppdatering. I tillegg er oversikten over bordet plassert visuelt, og derfor ble blå malertape brukt til å lage en visuell oversikt. Mål blir registrert når datamaskinen ikke finner ballen i 10 påfølgende rammer, noe som vanligvis indikerer at ballen falt i målet, utenfor spilleflaten. Når dette skjer, starter programvaren en lydbyte for enten å heie seg selv eller bue motstanderen, avhengig av målretningen. Et bedre system, selv om vi ikke hadde tid til å implementere det, ville være å bruke et enkelt infrarødt sender/sensorpar for å oppdage ballen som faller ned i målet. All programvare som brukes i dette prosjektet er tilgjengelig i en enkelt zip -fil, her. For å kompilere Java -koden, bruk javac -kommandoen. PIC-18F og PIC-12F-koden distribueres med Microchips MPLAB-programvare.

Trinn 4: Webkamera -montering

Webkamera -feste
Webkamera -feste

Et Philips SPC-900NC webkamera ble brukt, selv om det ikke anbefales. Spesifikasjonene for dette kameraet ble forfalsket enten av ingeniør- eller salgspersonell hos Philips. I stedet ville et billig webkamera gjøre det, så lenge det støttes av operativsystemet. For mer informasjon om bruk av webkameraer under linux, sjekk denne siden. Vi målte avstanden som kreves av webkameraets brennvidde for å passe hele fotballbordet i rammen. For denne kameramodellen viste det tallet seg å være litt over 5 fot. Vi brukte hyllestativer tilgjengelig fra alle større maskinvarebutikker for å bygge et feste til kameraet. Hyllestativene strekker seg oppover fra hvert av de fire hjørnene på bordet og krysses av vinklede aluminiumsbraketter. Det er veldig viktig at kameraet er sentrert og ikke har noen vinkelrotasjon, siden programvaren antar at x- og y-aksen er justert til bordet.

Trinn 5: Konklusjon

Alle de relaterte prosjektfilene kan lastes ned på dette nettstedet. En sikkerhetskopi av flertallet av nettstedets innhold finner du her på min personlige webvert. Dette inkluderer den endelige rapporten, som har en markedsføringsanalyse samt ting vi ville endre, våre opprinnelige mål og en liste over hvilke spesifikasjoner som faktisk ble oppnådd. Prosjektet er IKKE ment å være den mest konkurransedyktige aktøren i verden. Det er et godt verktøy for å vise flere av trinnene som brukes i å designe et slikt dyr, samt en anstendig prototype av denne typen roboter som er bygget for en utrolig lav kostnad. Det er andre slike roboter i verden, og sikkert ville mange av dem "slå" denne roboten. Dette prosjektet ble designet av en gruppe på fire elektriske/dataingeniører ved Georgia Tech som et senior designprosjekt. Ingen mekaniske ingeniører mottok hjelp og ingen tredjepartsfinansiering ble brukt. Det var en flott læringsprosess for oss alle og en anstendig bruk av seniordesignkurs. Jeg vil takke> Dr. James Hamblen, vår seksjonsrådgiver, for hans kontinuerlige hjelp i tekniske strategier> Dr. Jennifer Michaels, professor, for ikke å ha motet oss fra å prøve et mer ambisiøst prosjekt> James Steinberg og Edgar Jones, senior designlaboratorier, for konstant hjelp til å bestille deler, feilsøking og finne de "kule tingene" å kaste inn i prosjektet til lave kostnader og høy funksjonalitet> Og selvfølgelig de tre andre medlemmene av teamet mitt, hvorav ingenting av dette hadde vært mulig: Michael Aeberhard, Evan Tarr og Nardis Walker.

Anbefalt: