Raspberry Pi i lager

Raspberry Pi i lager

Efter första halvåret av pandemin så var det väldigt svårt att få tag i en Raspberry pi, bland annat. Saker å ting ser ljusare ut nu på den fronten.

Raspberry Pi Sense HAT

Raspberry Pi Sense HAT

Inlägget är reklam för en produkt hos Kjell&Company och innehåller annonslänkar.

För att utveckla och träna modellen behövs någon typ av data. Det kan (teoretiskt sett) vara vilken data som helst men i vårt fall så har vi valt att börja med accelerometer och eventuellt kompass.

Raspberry PI Sense HAT har väldigt många olika sensorer och även en hel del LEDs. Vi har valt denna, trots sin storlek, för att få något som direkt kan kommunicera med Raspberry Pi Zero. Om storleken visar sig vara ett problem så löser vi det senare.

AI, enkelt eller smart?

AI, enkelt eller smart?

Inlägget är reklam för en produkt hos Kjell&Company och innehåller annonslänkar.

Att välja komponenter (oavsett område) kan vara svårt. Vi har målet att göra alla pusselbitar så enkla som möjligt till en början. Optimering kan vi göra senare.

Till exempel så valde vi Raspberry Pi Sense HAT för att det fanns färdiga API’er som vi kunde komma igång med snabbt och enkelt.

Bilbana med AI, start och bilarna.

Bilbana med AI, start och bilarna.

När bilbanan levererades så påbörjades mätningarna. Bilen öppnades och det fanns en hel del olika saker som skulle räknas på.

Vi behöver undersöka två olika (potentiella) störningar.

  1. Om vår bil står still och den andra bilen körs på full styrka. Hur mycket elektromagnetisk störning drabbas vår bil av då?
  2. Om vi kör vår bil på hög spänning. Hur mycket elektromagnetisk störning drabbas då vår Raspberry av vår egen motor?

Bilarna har ett par filter i sig. De är designade för att äta upp just dessa störningarna.

Rätt dator för projektet

Rätt dator för projektet

Inlägget är reklam för en produkt hos Kjell&Company och innehåller annonslänkar.

I detta projektet ska vi försöka styra en av bilarna på en bilbana. Bilbanan är av skalan 1:32. Datorn som ska köra AI’n och kontrollera bilbanan är en Raspberry Pi Zero W.

AI SDK snabbare än människan?

AI SDK snabbare än människan?

I våra test så användes ett AI SDK som installerades på en enkortsdator.

Vid mätningarna så framgick tydligt att AI’n upptäckte svängarna i banan i god tid och kunde agera därefter.

Hur som helst så var reglerloopen i systemet inte tillräckligt bra. Men efter lite justeringar så kommer den vinna!

Löda fast bandkabel

Löda fast bandkabel

Att använda bandkabel när det går är att rekommendera. Ledarna är väldigt mycket mer skyddade och det är lättare att hålla koll på de. Mindre risk för trassel och att de åker in i andra komponenter eller hjul och bråkar.

Det kan vara bra att, efter lödningen, fästa själva bandkabeln med lite häftmassa eller liknande för extra skydd. Detta gäller huvudsakligen under utveckling och testande av projektet.

Accesstid accelerometer, benchmarking

Accesstid accelerometer, benchmarking

För att resultatet ska bli så bra som möjligt så behöver AI-modellerna så mycket och aktuell data som möjligt. Detta sätter press på flera delar av projektet.

Här testas läshastigheten från givarna, i detta fallet: accelerometern. En tom while-loop kör, som väntat, 100 iterationer väldigt snabbt. Samma antal och while-loop fast med ett anrop till accelerometern tar 2.16 sekunder. Detta resultatet var konsekvent genom alla tester, där antalet iterationer ändrades.

Vi kan alltså få data från accelerometern ungefär 50 gånger / sekund (= 50 Hz). Det är inte jätte hög hastighet jämfört med andra accelerometrar på marknaden, men det sparar oss tid. Dessutom tror vi nog ändå att 50 Hz kommer vara tillräckligt.

Bilbana med AI, strömförsörjning

Bilbana med AI, strömförsörjning

Det finns flera saker att ta hänsyn till när det kommer till strömförsörjning.

  1. Störningar. Att separera de olika elektriska systemen/delarna.
  2. Pålitlighet. Med en isolerad källa kan man säkerställa strömförsörjningen till eventuell dator. Skulle den tappa spänning så är det stor risk att den stänger ner. Får datorn (eller andra komponenter) tillfälliga spikar så finns stor risk att de går sönder.
  3. Kontroll. Uppladdningsbara batterier och/eller batterier med indikatorer kan underlätta så man vet att ström är garanterad.
  4. Vikt. Batterier väger mycket och kommer påverka bilens prestanda mycket.

Vi har valt att ta ström till datorn från batteripack av en enkel anledning: mängden jobb. Batteriet väger mycket men vi slipper jobbet med att plocka ström från bilbanans krets. För vidare optimering kan detta sättet vara bättre dock.

Bilbana, accelerometer och kraschar

Bilbana, accelerometer och kraschar

För att få ett hum om vilka sensorer och axlar som var av störst intresse så körde vi en massa tester.

Accelerometern har tre axlar, typiskt 3D-verklighet:

  1. Yaw - tänk höger och vänster sväng.
  2. Pitch - upp och ned.
  3. Roll - i sidled, som om bilen skulle rulla.
Test av sensorer, ställdon

Test av sensorer, ställdon

För att förbereda mjukvaru-modulerna och samtidigt testa accesstider så konstruerades här ett enkelt test. Datorn togglar (slår på och av) en av GPIO-kontakterna ett antal gånger. Tidtagning görs i mjukvaran med Pythons egna tidsbibliotek. På andra sidan sitter en röd LED för att ’visa’ effekten. Tiderna till ställdonen (LED i detta fall, motorn i framtiden) var tillfredsställande låga.

« Till start