Innehållsförteckning:
- Steg 1: Montering av motorstyrkortet
- Steg 2: Servomotormontering
- Steg 3: Programvara
- Steg 4: Webbkamerafäste
- Steg 5: Slutsats
Video: Autonomt fotbollsbord: 5 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:47
Huvudprojektmålet var att slutföra en fungerande prototyp för ett Autonomous Foosball Table (AFT), där en mänsklig spelare står inför en robotmotståndare. Ur spelets mänskliga perspektiv liknar fotbollsbordet mycket som ett vanligt bord. Spelaren / spelarna på den mänskliga sidan styrs via en serie med fyra handtag som kan flyttas in och ut och roteras för att flytta spelarna linjärt över spelplanen och för att sparka bollen mot motståndarens mål. Den autonoma sidan består av:> Åtta servomotorer som används för att manipulera handtagen på fotbollsbordet> En mikrokontroller för att aktivera servomotorerna och kommunicera med datorn> En övermonterad webbkamera för att spåra bollen och spelare> En dator att bearbeta webbkamerabilderna, implementera artificiell intelligens och kommunicera med mikrokontrollern Budgetbegränsningar för prototypen saktade ner projektet och höll dess funktionalitet till ett minimum. Korrekta motorer för att flytta spelarna med en konkurrenskraftig hastighet visade sig vara mycket dyra, så servor med lägre ände måste användas. Medan denna specifika implementering begränsades av kostnad och tid, skulle ett större växelförhållande ge en snabbare robot, även om att göra det skulle kosta mer än $ 500 baspris (pris utan strömförsörjning och dator).
Steg 1: Montering av motorstyrkortet
De bifogade bilderna är en fullständig kretsschema samt en bild av slutprodukten för motorstyrkortet. Alla dessa nödvändiga delar kan köpas i de flesta större elektronikbutiker online (inklusive Digi-Key och Mouser. Som en sidnotering var alla delar som användes här genomgående hål, och därför kan delarna monteras på ett protoboard/breadboard, eller med den bifogade PCB -designen. Ett mycket mindre paket kan skapas genom att använda ett antal ytmonterade delar. När vi implementerade konstruktionen delade vi upp motorreglagen i 2 kretsar, även om det inte finns någon fördel att göra det annat än något särskilt kabelschema som används. Den lilla blå skivan implementerar PWM-styrkretsen, som i princip bara är en klockad PIC-12F med någon specialiserad kod.
Steg 2: Servomotormontering
Två olika typer av servon används. Först styrs sidorörelsen av en grupp med fyra servomoment med högt vridmoment: Robotis Dynamixel Tribotix AX-12. Dessa fyra körs på en enda seriell linje och ger fantastisk funktionalitet. Det höga vridmomentet gör att dessa servon kan växlas på ett sådant sätt att de ger en hög tangentiell hastighet för sidorörelser. Vi kunde hitta en uppsättning 3,5 -tums växlar och spår för att följa med dem från Grainger till en kostnad av cirka $ 10 för varje. Servoerna ger överbelastningsskydd för vridmoment, ett individuellt servo-adresseringsschema, snabb kommunikation, intern temperaturövervakning, tvåvägskommunikation, etc. Nackdelen med dessa servon är att de är dyra och inte särskilt snabba (även om växlingen hjälper dem). Så för att få snabbare rörelse för sparkar används Hitec HS-81s. HS-81s är relativt billiga, har en hyfsat snabb vinkelhastighet och är enkla att ansluta (standard PWM). HS-81s roterar dock bara 90 grader (även om det är möjligt-och rekommenderas inte-att försöka ändra dem till 180 grader). Dessutom har de inre nylonväxlar som enkelt tar av om du försöker ändra servon. Det skulle vara värt pengarna att hitta en 180 graders roterande servo som har denna typ av vinkelhastighet. Hela systemet är knutet ihop med bitar av medeltäthet fiberboard (MDF) och high-density fiberboard (HDF). Detta valdes för sin låga kostnad (~ $ 5 för ett 6'x4 'ark), enkel skärning och förmåga att ansluta till praktiskt taget vilken yta som helst. En mer permanent lösning skulle vara att bearbeta aluminiumfästen för att hålla ihop allt. Skruvarna som håller PWM -servon på plats är standardmaskinskruvar (#10s) med sexkantmuttrar som håller dem från andra sidan. 1 mm metriska maskinskruvar, ca 3/4 långa, håll AX-12 i MDF: n som förbinder de två servona. Ett dubbelverkande lådspår håller hela enheten nere och i linje med spåret.
Steg 3: Programvara
Det sista steget är att installera all programvara som används på maskinen. Detta består av några enskilda kodbitar:> Koden körs på bildbehandlings-datorn> Koden körs på PIC-18F mikrokontroller> Koden körs på var och en av PIC-12F mikrokontroller Det finns två förutsättningar att installera på bildbehandlingen PC. Bildbehandlingen görs via Java Media Framework (JMF), som är tillgängligt via Sun här. Java Communications API är också tillgängligt via Sun och används för att kommunicera till motorstyrkortet över datorns serieport. Det fina med att använda Java är att det * ska * köras på alla operativsystem, även om vi använde Ubuntu, en Linux -distribution. I motsats till vad många tror är bearbetningshastigheten i Java inte så dålig, särskilt i grundläggande looping (som visionanalys använder ganska mycket). Dessutom ligger bordets kontur visuellt, varför blått målarband användes för att skapa en visuell kontur. Mål registreras när datorn inte kan lokalisera bollen i 10 ramar i följd, vilket typiskt indikerar att bollen föll i målet, utanför spelytan. När detta händer initierar programvaran en ljudbyte för att antingen heja sig själv eller boo motståndaren, beroende på målets riktning. Ett bättre system, även om vi inte hade tid att implementera det, skulle vara att använda ett enkelt infrarött emitter/sensorpar för att upptäcka att bollen faller i målet. All programvara som används i detta projekt är tillgänglig i en enda zip -fil, här. För att kompilera Java -koden, använd kommandot javac. PIC-18F- och PIC-12F-koden distribueras med Microchips MPLAB-programvara.
Steg 4: Webbkamerafäste
En Philips SPC-900NC webbkamera användes, men den rekommenderas inte. Specifikationerna för denna kamera förfalskades antingen av ingenjörs- eller säljpersonal på Philips. Istället skulle någon billig webbkamera göra så länge den stöds av operativsystemet. För mer information om användningen av webbkameror under Linux, kolla in den här sidan. Vi mätte avståndet som krävs för webbkamerans brännvidd för att passa hela fotbollsbordet i ramen. För den här kameramodellen visade sig det numret vara drygt 5 fot. Vi använde hyllställ som finns tillgängliga från alla större järnaffärer för att bygga ett fäste för kameran. Hyllställen sträcker sig uppåt från vart och ett av bordets fyra hörn och täcks av vinklade aluminiumfästen. Det är mycket viktigt att kameran är centrerad och inte har någon vinkelrotation, eftersom mjukvaran förutsätter att x- och y-axeln är inriktade mot tabellen.
Steg 5: Slutsats
Alla relaterade projektfiler kan laddas ner på denna webbplats. En säkerhetskopia av majoriteten av webbplatsens innehåll finns här, på mitt personliga webbhotell. Detta inkluderar den slutliga rapporten, som har en marknadsföringsanalys samt saker vi skulle ändra, våra ursprungliga mål och en lista över vilka specifikationer som faktiskt uppnåddes. Projektet är INTE tänkt att vara den mest konkurrenskraftiga aktören i världen. Det är ett bra verktyg för att visa fler av stegen som används för att designa ett sådant djur samt en anständig prototyp av denna typ av robot byggd för en otroligt låg kostnad. Det finns andra sådana robotar i världen, och säkert skulle många av dem "slå" den här roboten. Detta projekt designades av en grupp om fyra el-/datoringenjörer på Georgia Tech som ett seniordesignprojekt. Ingen hjälp fick några mekaniska ingenjörer och ingen finansiering från tredje part användes. Det var en stor inlärningsprocess för oss alla och en anständig användning av seniordesignkurs. Jag vill tacka> Dr. James Hamblen, vår sektionsrådgivare, för hans kontinuerliga hjälp i tekniska strategier> Dr. Jennifer Michaels, ledande professor, för att inte ha avskräckt oss från att försöka ett mer ambitiöst projekt> James Steinberg och Edgar Jones, senior designlabbadministratörer, för ständig hjälp med att beställa delar, felsökning och hitta "coola grejer" att slänga in i projektet till låg kostnad och hög funktionalitet> Och naturligtvis de andra tre medlemmarna i mitt team, av vilka inget av detta skulle ha varit möjligt: Michael Aeberhard, Evan Tarr och Nardis Walker.
Rekommenderad:
Autonomt växtbevattningssystem: 4 steg
Autonomous Plant Watering System: Detta projekt presenterar ett smart autonomt plantningsvattensystem. Systemet är autonomt i energi med hjälp av ett 12v batteri och en solpanel, och vattnar anläggningen när de rätta förhållandena är inställda, med ett genomtänkt (hoppas jag) felsäkert system. Det jag
IoT APIS V2 - Autonomt IoT -aktiverat automatiserat växtbevattningssystem: 17 steg (med bilder)
IoT APIS V2 - Autonomt IoT -aktiverat automatiserat växtbevattningssystem: Detta projekt är en utveckling av mitt tidigare instruerbara: APIS - Automatiserat växtbevattningssystem Jag har använt APIS i nästan ett år nu och ville förbättra den tidigare designen: Förmåga att övervaka anläggningen på distans. Detta är hur
Upptäck rörelse och förstör målet! Autonomt DIY -projekt: 5 steg
Upptäck rörelse och förstör målet! Autonomous DIY Project: Detect Motion and Destroy Target! I den här videon visar jag dig hur du bygger ett DIY -rörelsesspårningsprojekt med en Raspberry Pi 3. Projektet är autonomt så det rör sig och avfyrar pistolen när den upptäcker rörelse. Jag använde lasermodul för detta projekt, men du
WebFoos - ett smart fotbollsbord: 6 steg
WebFoos - ett smart fotbollsbord: För mitt skolprojekt under mitt första år på Howest bestämde jag mig för att göra ett smart fotbollsbord. Tabellen registrerar mål och sparar spelade matcher, matchstatistik och användar-/lagstatistik på en online -webbplats
Autonomt fordon: 7 steg (med bilder)
Autonomt fordon: Detta projekt är en autonomt navigerande robot som försöker nå sin målposition samtidigt som man undviker hinder på vägen. Roboten kommer att utrustas med en LiDAR -sensor som kommer att användas för att detektera föremål i omgivningen. Som föremål är dete