I dette kurset skal vi bruke KI og Google Teachable machine til å styre Micro:biten. Vi skal trene opp vår egen KI, og få et innblikk i hvordan maskinlæring fungerer i praksis.
Del 1: KI-robot med Teachable Machine
Bruk denne koden som utgangspunkt (trykk på "edit code" oppe til høyre for å kunne redigere).
Dette programmet inneholder en del ting som vi trenger senere, men foreløpig skal vi bare styre servomotoren ved hjelp av knappene for å se at vi får det til.
Servoer liker å få litt mer strøm enn det en micro:bit klarer å levere direkte. For å gi den mer strøm kan vi koble den til et utvidelseskort (eks. Wukong), eller bruke servotilkoblingene til Bitbot.
For å kunne styre servoene trenger dere da hhv. Wukong- eller Bitbot-utvidelsene i makecode, alt etter hvilken løsning dere bruker. Vi vil vise hvordan det skal kobles opp.
Når dere har lastet inn utvidelsene, finner dere blokker for å sette servomotorene i en bestemt posisjon. I eksempelet over vises hvordan Bitbot-tillegget får en servo til å stille seg i posisjonen 90 grader. Wukong-blokkene er relativt like.
I første omgang er det nok å sjekke at dere får til å sette servomotoren i 3 forskjellige vinkler. En når knapp A trykkes, en når knapp B trykkes, og en når begge knappene trykkes samtidig (A+B).
Vi setter micro:biten litt på pause, og lager en bildegjenkjenningsmodell. Vi bruker Google sin Teachable Machine. Trykk på Get Started -> Image Project -> Standard Image Model.
Vi vil vise fremgangsmåten her, men kort fortalt: Ta en del bilder for hver av de forskjellige klassene med ting den skal gjenkjenne. Kall klassene "Class 1", "Class 2" osv. Tren modellen, last opp og kopier linken. Den trenger dere senere.
Nå gjenstår det bare å koble sammen micro:bit-koden med Teachable Machine-modellen. Det gjøres på nettsiden makeairobots.com.
Nå trenger vi alle de tingene vi ignorerte i steg 1. I stedet for å styre servoen når vi trykker på knappene, legger vi servofunksjonene inn som på bildet til høyre. Det kan hende dere trenger å legge til flere klasser her, alt etter hvor mange klasser KI-modellen deres kan kjenne igjen. Last programmet ned på micro:biten.
Inne på makeairobots.com, trykk på "Connect your micro:bit to your AI". Koble sammen med micro:bit, og sjekk om det fungerer!
Nå når du kan få en servomotor til å bevege seg ved hjelp av en KI, kan du jo for eksempel få to servomotorer til å bevege seg! Eller flere. Eller andre typer motorer. Eller andre ting. Nå er det bare fantasien som setter grenser.
Takk til "Digital skaperkraft og dømmekraft med KI", et samarbeid mellom Trondheim Vitensenter, Oslo Vitensenter og Jærmuseet, med NTNU ved Inga Strumke som samarbeidspartner for idé og ressurser til dette kurset!
Ekstra
Bygg en kulebane i papp og bruk KI til å starte den, sortere baller, eller gjenkjenne hvilken ball som vinner kulebanekonkurransen?
I dette opplegget kombineres brukes Teachable Machine til å gjenkjenne kulene som så styrer en micro:bit og en servo som får ting til å skje i kulebanen. Byggeinstruksjoner og ressurser finner du her.
Prosjektet er hentet fra kapittel 4 i boka "AI Robot" skrevet av SteamLabs. Boka kan kjøpes på Ark.
KI-roboten som en bygger med Micro:bit og Google Machine Learning er avhengig av å være tilkoblet PC og internett for å fungere. Men det er også mulig å ta steget videre, og lage et stand-alone-kamera som en kan lære opp med maskinlæring til objekt-gjennkjenning.
Ved å bruke Edge Impulse i stedet for Google Machine Learning kan en bygge en kode som kan lagres i en liten mikrokontroller med kamera, f.eks ESP32-CAM. Dronebot Workshop har en super tutorial på dette, som en kan finne her.
Bygg din egen tvistsorterer, med samlebånd som velger ut din favoritt-tvist.