Monthly Archives: October 2016

Welcome Home – 43

Hei Bloggen!

Filmen som vi lovet får vi ikke lagt inn grunnet at bloggen har en max begrensning på 2 MB. Så da blir det en liten tekst på åssen den fungere og hva vi fant ut. Vi har nå laget en kode som gjør at vi kan sende mellom telefonen og arduinoen. Vi bruker bluethooth tilkobling en så lenge, men vi skal også ha Wifi som kommer senere. Så har vi koblet opp en servo motor. Vi klarer nå og åpne og lukke låsen, som er koblet på servo motoren med appen. I denne testen fant vi ut at bluetooth brikka vi bruker kan bare ha en telefon paret om gangen. Dette må vi endre siden vi skal ha flere brukere samtidig. Vi har også en RGB lampe som lyser i 10 sekunder etter at vi har lukket eller åpnet døren, der grønn er open og rød er låst. 

Vi blei enige om å legge til en ekstra funksjon til produktet. Det skal i tillegg være en sensor som reagerer på en unik lyd som vi bestemmer. Lyden som vi tenker er en spesiell banke lyd som arduinoen gjenkjenner, noe som igjen vil åpne låsen.

Materialvalg av kasse

Ettersom 3D-modellen vår begynner å ta form er det naturlig å være på utkikk etter hvilke materialer som kan brukes.

Vi har hatt mange diskusjoner om hva som funker best med tanke på tre, stål eller 3D-print. Vi fant raskt ut at det beste alternativet vi har er å bruke tre, nærmere bestemt kryssfiner eller spon, ettersom disse materialene er rimelige og kan bestilles i nøyaktige mål som trengs.

Vi sto mellom å velge kryssfiner eller spon som vist under og valgte dermed kryssfiner på grunn av pris, tykkelse og tilgjengelighet.

kryssfinergolvsp_nskiva

Etter en liten runde innom diverse byggforetninger som Byggmax, Monter og XL bygg fikk vi gode tilbud på kryssfiner med mål som var ønskelig og dermed fikk dette bestilt.

Neste steg nå er å sette sammen kassen og begynne å legge inn alt det elektriske som trengs.

Bildebonanza

For å få et bedre innblikk i hva vi holder på med, så kommer det en liten bildespesial her.

 

14690913_1228000383907664_3673700088238719_n

Raspberry pi B, koblet opp for første gang (tilbake i uke 1)

 

14724014_1229671937073842_648977895_o

Ansiktsgjenkjenning fungerer i real-time. Jippi!

 

14796116_1229672313740471_285786070_o

Det har blitt behov for å kjøre flere scripts for å få testet ansiktsgjenkjenningen på flere personer.

 

14799870_1229671223740580_1751539765_o

Fikser ansiktsgjenkjenning openCV på Raspberry Pi.

 

14567417_10157456199040702_5944850167342738702_o

Vi har kommet frem til flere mulige løsninger på blant annet kapselholder, her ser man noen tanker fanget på en tavle.

 

14595573_10157456152535702_1317150293308213579_n

Sammenstilling av kaffetårn, sett fra siden, med kapsler.

 

14494623_10157456152530702_4169580607668336545_n

Assembly kaffetårn sett fra undersiden.

 

14570748_10157456152540702_2658572106838781822_o

Kaffetårn assembly hvor blå flate viser låsefunksjonen til kapsler når den er trukket tilbake. Vil bli fjæring som dytter den i posisjon og låser neste kapsel fra å falle ut.

 

14502695_10157456152670702_3640771495195165234_n

Proof of concept på en utkaster-mekanisme som er designet til kaffetårnet vårt.

 

14570622_10157456199200702_343221291243314817_o

Feil under 3D- printing. Printeren skjønner ikke selv at noe er galt og fortsetter å legge ut materialet i lufta.

 

Det var alt for denne gang, ses snart!

Welcome home – uke 42

Hei bloggen!

Vi er en gruppe som kaller oss Welcome Home, bestående av Anders Værås, Afshin Alavi, Steffen Amandus Nielsen og Sindre Ryen Thunberg.

20160913_122344-2-1img_0459

Elektro:  Anders Væårs og Sindre Ryen Thunberg

 

3x4img_0491

Data: Afshin Alavi og Steffen Amandus Nielsen

 

Her kommer en produktbeskrivelse på engelsk

«We focus on developing smart, reliable and safe products, that make every-day life easier for our customers»

WelcomeHome is a smart locking system for your home, easily managed through an application on the world wide web, or on smart phones. You can add multiple users for your WelcomeHome lock, so your whole family can join in.

 

The WelcomeHome application comes with multiple features:

Lock When Home (locks the door when your home).

Scheduled Lock (locks the door at a given time).

Parents Best Friend (gives you a notification when a child (etc.) comes home) x

Temporary Access (grants access through a given code you can enter in the application) x

System Status (gives you the information about the status of your system, power etc.) x

 

De første ukene har vi definert prosjektet, slik at alle medlemmene er inneforstått med hvilke oppgaver som skal gjøres, og hvordan det ferdige produktet skal fungere. Deretter fant vi frem de forskjellige komponetene som skal være med.

 

Hardware:

Servo motor

Batteripakke

Arduino Uno

Wifi

Bluetooth

RGB lampe

Div. motstander og kabler

 

Det skal også lags en database og appfunskjon, dette blir våres software til produktet. Vi har nå fått laget en kode i arduino som utfører en åpne og lukke funksjon på en servo motor. Motoren blir styrt av telefonen via bluetooth.

 

Film av dette kommer i løpet av nestet uke!

Oppdatering fra datastudentene!

Hei

De to siste ukene har gått med til å jobbe på interface til speilet. Det har bydd på en del problemer. Vi har jobbet for å få til kalenderfunksjonen på speilet. Det viser seg imidlertid at google calendar ikke støttes ved bruk av ICS. Dvs. at vi ikke får implementert kalenderen vi først hadde planer om.

I tillegg sliter vi veldig med klokken på RaspberryPien. Det ser ikke ut som den har noe spesielt funksjon til å synkronisere klokken på. Derfor blir tiden til stadighet feil. Vi ser på muligheten til å bruke en tredjeparts-app som kan løse klokkeproblemene våre.

— Data

Ting begynner å ta form!

 

 

3D-modellen vår begynner å ta form, og vi har fått visualisert mekanismen i SolidWorks. Under ser dere ulike bilder fra modellen i sin nåværende stand.

14876596_10209371486503003_3115521762705730035_o14753264_10209371486463002_2500817062978199670_o14615694_10209371486423001_7824746052064740476_o14753778_10209371486383000_6066728244377061644_o

Vi har fått kjøpt skinner, men disse måtte modifiseres ettersom vi ønsker å fjerne stoppmekanismen.  GIF-illustrasjonen nedenfor viser en av skinnene etter at stoppmekanismen er modifisert.

14805480_1377443165629740_496605729_n

Vi trenger nå å gå til innkjøp av materialer, og starte konstruksjon av rammeverket til skapet.

Oppdatering: Hvem, hva og hvordan?

Hva skjer? Hvor langt har vi egentlig kommet? Og ikke minst, blir kaffemaskinen så «smart» som planlagt? Dette prosjektet krever helt klart både samarbeid og «egenarbeid» innen hvert felt, og her kommer en liten oppdatering fra oss alle. Her er det både kriser, lovende resultater, 3D- printing og blogging. Først ut med oppdatering er data, og her er ansiktsgjenkjenning, app og tekniske utfordringer noen stikkord. Data kommer her med ukesoppdateringer ut i fra hvilken uke i prosjektet de er i.

UKE TRE
Kent:Testet med flere personer og resultatet er dessverre mye dårligere enn først antatt. Dette blir en utfordring som må jobbes videre med. For øyeblikket har vi testet med opp til fire personer i databasen og opp til tre personer samtidig foran kameraet. Nøyaktigheten på deteksjonen er alt for lav på det nåværende tidspunkt. Ansiktsgjenkjenningen blander lett personer, og klarer ikke engang detektere ansikter og personer konstant. I tillegg kan personer utenfor databasen lett bli feiltatt som en person i databasen, istedenfor den faktiske personen. KRISE!
Vebjørn: Sjekket rundt på nettet etter ulike App-tutorials. Planlegger å først implementere en logg inn og en registreringsside for så å få lagret dissen dataene i en MYSQL database. Må derfor lære meg basisen i hvordan PHP-programmering fungerer for å koble opp Android-studios mot databasen. PC-problemer har hindret meg i nevneverdig fremdrift kodemessig.
Planen til neste uke er for Kent sin del å jobbe videre med ansikstgjenkjenningen, da denne må forberedes på en eller annen måte. Vebjørn leser seg opp på oppretting av databaser og PHP- programmering. Venter også på ny PC som kreves for å komme i gang med koding. Den mer langsiktige planen er å få ansiktsgjenkjenningen til å takle flere personer, og ha en høy deteksjons-nøyaktighet. Det ideele vil være 100 %, men det kan være vanskelig å gjennomføre i praksis. I tillegg må man finne en løsning på deteksjon av kaffe-kopp. Deretter sy sammen alt til et prosjekt. Vi må også kartlegge tekniske problemer med den nåværende valgte løsningen, og planlegge hvordan hele systemet skal samhandle. Sammen finne tekniske løsninger eller research på de problemene vi allerede nå vet vi kommer til å støte på.
Kent: Jobbet med å fikse vanskene knyttet til ansiktsgjenkjenningen, så på forskjellige metoder og hvordan de utfører. Blant annet å laste ned bildene eller kjøre i sanntid. Hvorvidt det gir en effekt på nøyaktigheten. Fant ikke en målbar forskjell på disse to framgangsmåtene. Så står fortsatt fast i forhold til forbedring av nøyaktigheten til ansiktsgjenkjenning. Planen framover blir å prøve å endre lys, kvalitet, størrelse og andre lignende egenskaper på bildene for å se hva som gir den beste ytelsen og kvaliteten.
Vebjørn: PC-problemene er borte, så nå kan det startes med koding. Har fortsatt endel research å gjøre før arbeidsoppgavene blir mer konkrete. Funnet et par tutorials som kan hjelpe på vei både med android studios og database-delen.
Kent og Vebjørn: Satt oss ned denne uken med å se litt på hvordan vi tenker at de forskjellige delene i prosjektet skal kobles sammen, sånn som App’en, RPI`en, gjenkjenning av ansikt/kopp og motorer. Og ikke minst hva som blir utfordringene framover. Hva vi har kontroll på, og hva som vi trenger å finne løsninger på.
Systemet vil fungere på denne måten: En bruker vil bruke APP til å logge seg inn (eller registre seg) og velge hans kaffepreferanse. Informasjonen vil bli sent og oppdatert i gitte intervaller på RPI. I tillegg vil RPI laste inn kaffepreferanser for hver gang systemet blir slått på. Når systemet er oppe vil den konstant sjekke etter om det blir plassert en kopp foran kaffemaskinen. Når dette skjer, blir deretter frontkameraet aktivert og prøver å identifisere personen. Hvis personen blir identifisert vil RPI hente informasjon som kaffepreferanse, hvis ikke brukeren er identifisert gjør den ingenting. RPI kontrollerer deretter motorene og henter den gitte kapseltypen. Deretter venter RPI til kaffen blir fylt og koppen blir flyttet før den går tilbake til å sjekke etter nye kaffe-kopper og oppdaterer informasjonen i gitte intervaller. Rinse and repeat.
Noen av de større framtidige problemene som vi ikke helt vet hvordan skal gjøres er blant annet forbindelsen mellom RPI og APP, hvordan de skal sende og motta informasjon. Hvordan RPI skal kommunisere med motorer, hvilken motor skal vi ha, hvilken bus-protokoll vi skal bruke, men alt dette er litt tidlig å svare på. Deteksjon av kopp, og nøyaktighet av ansiktsgjenkjenning må vi også jobbe videre med, samt få RPI til å kjøre programmet fra oppstart, og ikke minst hvordan vi skal sette alt sammen slik at det gir et resultat vi er fornøyd med.
Til neste uke ønsker Kent å få jobbet videre med å forbedre nøyaktigheten på ansiktsgjenkjenningen, men også begynne å tenke på hvordan kopp-deteksjon skal funke. Blir det kamera, sensor etc? Vebjørns oppgave er hovedsakelig å få koblet til mobilen og få opp appen på den, gjerne med en enkel innloggingside. Langsiktig plan er hovedsakelig den samme som forrige uke. Ønsker å se mer inn på research i forhold til hvordan vi kan løse de tekniske utfordringene som vi vil møte om noen ukers tid.
Neste ut er maskin, og her er kapselmateren i hovedfokus, samt 3D- printing. Oppdatering kommer her: Det er jobbet med videre design av kapselmater, da løsningen vi hadde med å bruke en kjøpt del fra Elkjøp ikke stod til alle kravene våre. Vi går fortsatt for et likt konsept, men har designet en litt annerledes modell. Denne vil være betraktelig lettere enn den kjøpte delen og det gjør det enklere å komme til med motoren som skal styre kapslene ned i maskinen. Det er brukt en del tid på å diskutere forskjellige alternativer i forhold til design, men det er nå laget en som ser lovende ut. Den kjøpte delen fra Elkjøp er det fortsatt muligheter for å bruke deler av. Det har også blitt designet litt forskjellige modeller for kapselbeholderen, men utseende er ikke forandret så mye. Det som er diskutert og designet er forskjeller for hvordan den skal settes sammen etter 3D- print. Det er også blitt sett mer på touchpenn, siden kaffemaskinen har tre touch knapper. En løsning er å se om en eventuell del av kobber kan fungere som en touchpenn. Etter kontakt med Nespresso har vi fått donert to kaffemaskiner som vi kan ha til rådighet og det gjør at vi har eventuelle ekstradeler tilgjengelig ved behov. Utover dette har vi hatt en samtale med Lars Heggen fra Tinius Olsen Skolen. Heggen har sagt seg villig til å holde en opplæring på strekkprøve- maskinen, men tidspunkt for dette er ikke helt sikkert ennå.

Kapselmateren ble klargjort for 3d- print, men når vi så nærmere på det oppdaget vi at det var mulig å kutte ned på størrelse. Hadde vi gått videre med den opprinnelige modellen hadde hele delen kostet 3000 kroner, men etter omgjøring av modellen ble kostnadene halvert. Vi er opptatt av å lage en så god modell som mulig når vi modellerer, slik at en kan gjøre endringer ved behov. I tillegg ble tiden vi brukte på printingen kuttet med den nye modellen (fra beregnet tid på 12 timer for en del til 15 timer på to deler) og man kan nå produsere to deler samtidig. Når delene skulle printes ut lagret vi filene i STL- format for å klargjøre delene for print. Det er først en kalibreringsrutine på plata for å se om den kan brukes, og maskinen bruker en sensor for å sette nullpunktene sine. Så begynner printingen. Det tilføres da lag for lag med materiale til det endelige produktet er ferdig. I 3D- printeren vi bruker er det ABS- plastikk og printmaterialet kommer på spoler som mates inn i maskinen, varmes opp og føres ned til dysen hvor det blir formlagt. På vårt første printingsforsøk skjedde det en feil med selve maskinen, så det var bare senga som ble printet (se bilde 4). Alt i alt fikk vi printet totalt to ferdige deler, og vil fortsette å printe resten av modellen neste uke.
Det ble også diskutert å bytte ut materiale på stoppeklaffene. En løsning her er å gå for eventuelt aluminium istedenfor plast fra 3d- printen. Dette ser vi nærmere på, om vi har tid til rådighet. Det må også sees litt nærmere på friksjon før det blir tatt en endelig beslutning. Enn så lenge blir det printet ut i plast.

 

printing

Bilde1: første utkast, ser at delen er veldig stor og dekker hele platen i maskinen

 

print2

Bilde 2: printe maskinen

 

print3

Bilde 3: siste utkast. viser hvordan delene ligger på platen inne i maskinen. 2 deler printet samtidig

 

forste-print

Bilde4: Første print forsøk, maskinen fikk problemer med å printe

 

forste-deler

Bilde 5: De to ferdige delene for denne uken

Så over til elektro. Elektro har frem til nå jobbet tett med maskin i forbindelse med design av det fysiske produktet, deler som skal produseres og andre viktige beslutninger. Dette er naturlig da løsningene som velges her har en stor betydning for hvilke valg vi gjør og kommer til å gjøre videre i prosjektet. Vi har kommet frem til flere mulige løsninger på flere deler av systemet, i tillegg til sub-systemer til disse igjen. Enkelte viser seg da praktisk gjennomførbare mens andre kanskje er vel visjonære. Mye av dette er nevnt tidligere, også lenger opp i dette innlegget. Elektro har også begynt å lese seg opp på motor- og sensorløsninger, og dette vil vi fortsette med videre. Det er laget en “Control Loop Analysis”, og denne kan du se her: control-loop-analysis

Vi venter spent på noen motorer vi trenger til prosjektet, disse skal være på vei, men usikkert når de er på plass. Av den grunn har vi foreløpig kun datablader å stole på når det gjelder hva motorene kan rotere/bevege. Alle maskinerte deler er heller ikke på plass enda (men det skjer mye fremover), så eksakt vekt på det totale systemet er pr dags dato kvalifisert gjetning. Og det er av den grunn litt usikkerhet når det gjelder kraft/momentet til motorer vi tenker å bruke, er den sterk nok? Ellers har jeg, Ole, hatt ansvar for bloggen fra start av og bruker en del tid på å oppdatere, redigere og samkjøre den.

Alt i alt; det går fremover! Noen tilbakeskritt, noen overraskelser og kriser, noen gode vurderinger og en del samarbeid. Nå er vi spent på veien videre. Vi holder dere oppdatert!

Utførelsesfase: Just do it?

Hvor begynner man når man har så mange planer? Hvem gjør hva? Og hva trenger man av utstyr? Vi har begynt med å modellere og har blant annet modellert kaffemaskinen i 1:1 størrelse (se figur under).

 

k2k1

Bilde 1 og 2: Modell av innkjøpt kaffemaskin

Når det gjelder annet utstyr har gruppen diskutert og tenkt en del rundt dette. Foreløpig antar vi at det trengs tre-fire motorer. Vi trenger bla. en motor som kan rotere kaffestativet, men også en som kan hente frem kapsler.

 

modell-motor-smartsystem

Bilde 3: Modell av motor
Det blir spennende å se hvordan dette utvikler seg og vi kommer nok tilbake til det i løpet av prosessen. Kanskje flere ganger? Hvem vet. Gruppen kommer, som nevnt, til å bruke en del 3-d print i oppgaven. For å finne ut styrken til materialet har det blitt produsert strekkstaver i materialet som blir printet. Disse stavene blir tatt med til laboratoriet på HSN og strukket i maskin for å finne verdier på materialet.

I dette prosjektet spiller software stor rolle, her kommer en oppdatering:

Data-delen av dette prosjektet kan lett bli delt opp i noen hovedområder: ansikts-gjenkjenning, gjenkjenning av kopp, styring av motorer/servo og app. I tillegg til det blir det også en utfordring med å få alt til å fungere sammen med hverandre på riktig måte.
Recap fra uke 1, data: Vi har delt inn hovedansvar for App (til Vebjørn) og hovedansvar for ansiktsgjenkjenning (til Kent). Den første uken har vi drevet med en god del oppdateringer. Vi kommer til å bruke en Raspberry Pi i prosjektet, koblet opp mot raspberry pi kamera og et ekstra kamera eller sensor. RPI`en kommer også til å styre motorene som trengs for å få den riktige kapselen til maskinen. Denne uken har vi jobbet for å få raspberry-pi kamerat til å ta bilder og snakke sammen med openCV. Vi startet med å få tak i et SD-kort til RPI`en. Deretter har vi reformatert kortet og fått installert raspbian (et operativsystem basert på Debian). I tillegg har vi fått lastet ned openCV som er et open-source facial-recognition software. På app fronten har Vebjørn fått lastet ned Android studios og begynt å planlegge hvordan app`en skal bygges, og funksjonaliteten den må innholdet.
Recap fra uke 2, data:
Ansiktsgjenkjenning funker! (I det minste delvis…)
Har lastet ned firmware oppdateringer på kamera fronten. OpenCV tar nå rundt 14-16 bilder i sekundet med raspberry pi`en. Noe som er mye mer enn hva vi trenger. For øyeblikket har jeg alt kjørende i samtid, og kameraet detekterer ansikter flere ganger i sekundet(4-8 bilder). Jeg har matet Raspberry pi-en med en del bilder av diverse personer. Ut fra det klarer den å kjenne igjen ansikter (av forskjellige typer, både av mann/kvinne). Neste skritt blir å sjekke hvordan den håndterer flere personer av gruppen.
I tillegg har jeg laget et lite script for å ta bildene som er nødvendige av hver enkelt person samtidig over kort tid. Deretter bruker jeg et annet litt større script som sjekker bildene etter ansikt, reformaterer størrelsen, lagrer som nytt bildet med spesifisert navn og endrer bildet til gråtoner istedenfor farger. Dette hjelper med å effektivisere antall personer som kaffemaskinen kan identifisere. Til nå har den klart å kjøre med 65 bilder av diverse personer og 25 av meg (Kent). Den klarer fint å skille mellom andre personer og meg i de fleste tilfeller. Kanskje det blir nødvendig å ta færre bilder og heller laste dem ned og analysere dem for mer nøyaktighet? Time will show.
Vebjørn har dessverre måtte bestille ny pc, og har ikke kunnet jobbet med app`en før neste uke.

Stay tuned!

04.10.16

Hei!

Stian og John Morgan har i dag jobbet videre med ansiktsgjenkjenningen til systemet. Vi var nødt til å endre størrelsen på alle bildene vi har tatt av oss selv fordi vi fant ut av OpenCV var mer nøyaktig når størrelsen på bildene var mindre.

Vi har fått programmet til å skille mellom oss og også skrive ut navnet på oss når vi sitter foran kameraet! 😀

Når det er sagt, er det fortsatt ikke den nøyaktigheten vi ønsker. For eksempel dersom det kommer en annen person enn Stian eller John Morgan vil den gjette enten Stian eller John Morgan. Dessverre.

Planen for neste uke er å sidestille ansiktsgjenkjenningen inntil videre for å begynne på interface til speilet.

Her har dere et bilde som viser at den kjenner igjen ansikter, programmet klipper deretter ut bildet i den grønne firkanten og sjekker det opp mot bildene vi har i en database/mappestruktur på raspberry pien.

20161205_141700-min

— Data