Innholdsfortegnelse:
- Trinn 1: Montering av motorstyringskortet
- Trinn 2: Servomotormontering
- Trinn 3: Programvare
- Trinn 4: Webkamera -montering
- Trinn 5: Konklusjon
Video: Autonomt bordfotballbord: 5 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
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
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
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
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
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:
Autonomt plantevanningssystem: 4 trinn
Autonomous Plant Watering System: Dette prosjektet presenterer et smart autonomt plantevanningssystem. Systemet er autonomt i energi ved hjelp av et 12v batteri og et solcellepanel, og vanner anlegget når de riktige forholdene er klare, med et gjennomtenkt (håper jeg) feilsikkert system. Det jeg
IoT APIS V2 - Autonomt IoT -aktivert automatisert plantevanningssystem: 17 trinn (med bilder)
IoT APIS V2 - Autonom IoT -enabled Automated Plant Irrigation System: Dette prosjektet er en utvikling av min tidligere instruerbare: APIS - Automated Plant Irrigation System Jeg har brukt APIS i nesten et år nå, og ønsket å forbedre den forrige designen: Evne til å overvåke anlegget eksternt. Dette er hvordan
Raspberry Pi IoT Bordfotballbord: 11 trinn
Raspberry Pi IoT Foosball Table: Velkommen til min versjon av et hacket fotballbord, som en del av et studentprosjekt for New Media and Communication technology. Jeg vokste i grunnen opp rundt fotball og biljardbord, så jeg tenkte at det ville være flott å prøve å koble en av disse enhetene til int
WebFoos - et smart bordfotballbord: 6 trinn
WebFoos - et smart bordfotballbord: For skoleprosjektet mitt første år på Howest bestemte jeg meg for å lage et smart bordfotballbord. Tabellen registrerer mål og lagrer spilte kamper, kampstatistikk og bruker-/lagstatistikk på en nettside
Autonomt kjøretøy: 7 trinn (med bilder)
Autonomous Vehicle: Dette prosjektet er en autonomt navigerende robot som prøver å nå sin målposisjon samtidig som det unngår hindringer på veien. Roboten vil være utstyrt med en LiDAR -sensor som skal brukes til å oppdage objekter i omgivelsene. Som gjenstander er dete