Category Archives: Smart Systems 2015 – SubRov

Uke 50-51

Grunnet andre eksamener skjedde det lite på starten av uke 50. En positiv ting som har skjedd er at vi endelig fikk en pakke vi hadde ventet på! Fordi USB dongelen vi fikk var litt vanskelig å jobbe med, bestilte vi en ny en som var simplere å programmere med. USB Host Shieldet er derimot litt vanskelig å ha med å gjøre, så vi fikk ikke brukt det.

Klikk her for koden til Arduinoen (Link).

ArduinoFinpuss
Finpussing av arduino koden/styringa

I forhold til ansiktsdeteksjonskoden, finpusses det som fungerer og vi ser om det er mulig å forbedre noe/legge til andre funksjoner. Vi fant også ut at det var mulig å få programmet til å finne ansikter raskere via en annen “tag”/”modus” enn den vi brukte, så vi bestemte oss for å bruke den istedenfor. Programmet starter nå også samtidig som raspberrien bootes, slik at programmet ikke trenger noen annen input enn at vi starter raspberrien.

Vi har også laget en tutorial for ansiktsdeteksjon, for å vise hva slags steg vi har gjort for å få koden vår til å fungere, som ligger som et eget innlegg. Koden ligger både der og på denne linken (Klikk her).

Bilen ble ferdig, og endte opp med å se slik ut, og spiller av lyd når den ser et ansikt:

FerdigProdukt
“Robofriend”

Veiledning for ansiktsdeteksjon vha Python og OpenCV

Step 1
Installere Raspian på minnekortet
https://www.raspberrypi.org/help/noobs-setup/
følg denne guiden.

Step 2

Oppdatere RPIen, OS og legge inn Open CV

Åpne terminal og skriv inn:
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update

Installere pi kamera:
sudo apt-get install python-picamera

Installere OpenCV:
sudo apt-get install libopencv-dev
sudo apt-get install python-opencv

Step 3

Opprett en fil med filending .py f.eks. Video.py og kopier inn denne koden

Trykk her for kode(link)

Step 4

Åpne en terminal og naviger til mappen der du opprettet Video.py fila.

Skriv så i terminal : sudo python Video.py

Programmet vil starte og finne ansikter i video feeden den mottar fra Pi kameraet!

Hvis det kommer opp at det er indentation error så les om det her : http://www.diveintopython.net/getting_to_know_python/indenting_code.html

Uke 47

Programmet som skal spille av en lydfil er klart, slik at det kan puttes direkte inn i hovedprogrammet etter at alt er klart. Det eneste som gjenstår er å sjekke om det fungerer på raspberrien.

Arbeidet som kan gjøres før vi får bilen er nesten helt ferdigstilt, slik at vi kan arbeide effektivt når vi får bilen, og kan begynne å sette alt på plass.

Uke 48-49

Fordi vi er inne i eksamensperioden, blir det gjort litt lite i disse ukene. Det vi kommer til å gjøre er å rydde litt opp i koden, evt prøve å få lagt inn planlagte funksjoner. Koden vil også bli publisert nærmere slutten av prosjektet.

Fordi bilen vi bestilte fortsatt ikke har kommet, kan det hende at vi må bruke en annen og montere alt på denne istedenfor. Etter at vi får montert alt på bilen vil det komme noen litt mer utfyllende bilder/videoklipp hvor vi demonstrerer funksjonaliteten til bilen og programmet.

Uke 44

Det er ikke så mye å skrive om i forhold til fremgang, men vi har diskutert innenfor i gruppa hva som skal skje videre, samtidig som vi også skal få lastet opp noen foreløpige resultater til bloggen av b.l.a programmet som oppdager ansikter. Grunnen til at det er lite fremgang er fordi vi får bilen litt sent, samtidig som kodinga er kommet til et punkt hvor ting begynner å bli veldig komplisert. Det som skal skje videre er derfor å se hva som kan forbedres/gjøres med programmet og hvordan komponentene (f. eks arduinoen og raspberrien) skal orienteres på bilen.

Uke 43

Det jobbes videre med koding av bildegjenkjenningen, men fordi bildelene fortsatt ikke har kommet, må vi vente med å se om styring osv fungerer som det skal. Med en eneste gang bildelene kommer, blir det veldig mye mer framgang, fordi vi får både testet om styringen fungerer og hvordan vi skal få festet alt utstyret til bilen. Sensorer som måler fart har også blitt tenkt på til bilen, slik at vi får enda flere funksjoner som er nyttige / autonome.

Uke 42

For å få PS3 kontrolleren til å fungere med bilen har det blitt sett på diverse forum og videoer for å gjøre det riktig og smidig etter at delene kommer. Samtidig har også koden for bilen blitt mer eller mindre helt ferdig, men må mest sannsynlig tilpasses vår bil, hvis noe ikke fungerer helt som det skal.

Raspberry Pi kameraet kan nå se hva som er ansikter, og hva som ikke er det; Med andre ord, kameraet tar et bilde hver gang det ser et ansikt. Det som må gjøres nå er å få det til å huske ansikter, noe som mest sannsynlig kommer til å skje ved hjelp av et register/en samling med ansikter. Ved hjelp av denne samlingen som er lagret på Raspberryen, blir det mulig å få den til å skille mellom forskjellige ansikter, og evt programmere den til å utføre en handling (Snakke, kjøre i en sirkel… osv) om den gjenkjenner ansiktet.

Uke 41

Delene har fortsatt ikke kommet, men koden for styringa til arduinoen har blitt jobbet med, slik at nesten alt er klargjort til delene kommer. Styringen skal skje via en PlayStation-3 kontroller, så vi har anskaffet en USB dongle og et shield til arduinoen.

Vi har også sett mer på hva slags funksjoner vi kan legge på via sensorer og ved hjelp av raspberry pien, samtidig som vi også prøver å fullføre bildegjenkjenningen.

Uke 45

Vi jobber med å få USB dongelen til å fungere, som skal gjøre at arduinoen mottar signaler fra en PlayStation kontroller, men etter litt feilsøking fant vi ut at det var en del problemer og vanskeligheter med den typen vi hadde. Derfor har vi gått til innkjøp av en annen type som skal være lettere å få til å fungere.

USBDongle
PS kontrolleren, arduinoen og dongelen

Programmet som skal gjenkjenne ansikter fungerer slik det skal, men vi ser etter rom for forbedringer, samtidig som det også skal være muligheter for at noe skjer hvis ansiktet blir gjenkjent.

AnsiktsGjenkjenning
Et bilde blir tatt hvert ~5sek