Monthly Archives: September 2014

Første oppdatering

Prosjektet går ut på å ha en live-feed fra et kamera til en enhent, og kunne styre kameraet derfra, i tillegg til å følge et objekt.

Så langt har vi fått til en live feed fra en webkamera gjennom en raspberry pi. Den sender live feed til en node.js server som hvilken som helst nettside kan koble seg til. Vi kan også bevege kamera i alle retninger 180 grader.

Vi er også i gang med en Android-app, som skal koble seg til samme live-feed.

Bildegjenkjenning

Et alternativ vi har sett på er å ha et stasjonært kamera som kjenner igjen både telys og roboten. “Stasjonen” vil da enten kunne gi koordinater som roboten navigerer seg frem til, eller kontinuelig oppdatering om hvilken retning den burde kjøre. Overføring kunne skjedd over bluetooth.

Det er mange problemstillinger ved denne fremgangsmåten. Først og fremst å få en datamaskin til å kjenne igjen et bord, et telys og roboten. Etter mye leting fant vi frem til opencv, it bibliotek for bildegjenkjenning. Fordelen med opencv er at det finnes moduler for å utvikle i Python, noe som øker progresonshastigheten.

Som en test tok vi bilde av et bord

table2

 

for å finne hjørnenene er det mange muligheter, men vi valge å bruke en blanding av mange algoritmer. Vår fremgangsmåte er:

  • finne alle kanter / piksler som er ved siden av hverandre med veldig forskjellig verdi.
  • skille ut disse og bruke en fill algoritme som fyller avgrensede områder i bildet.
  • velge det største avgrensede området (antar bordet er plassert i fokus).
  • fjerne ande kanter.
  • Bruke Hough transform til å kjenne igjen rette linjer, og finne deres skjæringspunkter. Disse skjæringspunktene er da hjørnene på bordet.

Etter kantdeteksjon:

canny

 

Ferdig prosessert bilde:

output

 

Neste steg er så å transformere dette perspektivet til et 2D plan slik at punkter kommer ut som koordinater. Dette er fullt mulig, da vi har bredde og lengde på bordet, men krever noen litt kinkige matrise transformasjoner.

Dette jobber vi med nå.

 

Arduino_Car_3000

So today we wanted to make the bluetooth work without having any fails like the previous times. After trying some
“no good” connections we managed to find the right one and make the electro car begin. To combine the “car begin”
code with the bluetooth code was a bit difficult so when we did find the appropriate one we didn’t have much time
left. We tested the vehicle and we could start it and stop whenever we wanted. After that we said that the next time
we will try to make a code to make it turn and if we have more time, maybe we will take some time trying to find a
code for the wii-controller.

 

Robothund – Andre Oppdatering (27.09.2014)

Hei igjen! 

Da har det gått enda en uke! Vi har hatt litt fremgang, men har også fått en del problemer med saker.

Vårt hovedfokus har ligget i det å styre Pi’en over Wi-Fi. Ved å sette en USB-dongle i Raspberry Pi’en, så skal man kunne koble til Wi-Fi for å styre alle programmer over internett. Dette skal da skje ved at man kobler seg til Pi’en med ett program som heter VNC. Vi støter på problemer nå vi prøver å koble til eduroam (skolens nettverk).  Vi tester videre neste uke, for å se om vi muligens klarer å få en fremgang i å koble til skolens nettverk.

Foruten dette problemet, så har vi jobbet videre med byggingen av Lego roboten. Vi har begynt med en simpel prototype av hvordan vi vil at roboten skal se ut.
Videre har vi studert ulike sensorer til tracking og tilkobling av Arduino til Raspberry Pi. Gruppen har bestemt seg for at å prøve kjøre roboten bare ved bruk av Brick Pi’en. Det vil da si at vi i all hovedsak skal prøve å styre alt av motorer og sensorer ved å bare bruke Brick Pi’en, altså uten hjelp fra Arduino. Dersom det viser seg at dette ikke lar seg gjøre, så har vi en oversikt over hvordan vi kan koble til Arduinoen.

Vi snakkes! 🙂

Blog 19.09.2014

This day we worked more on our car. Our main issue at this time is to get the Bluetooth working. After using three different Blueooth modules to get the interaction working with the computer, we had no positive result, until the end of this group “meeting”. We had used atleast 4-5 hours on trying to get the Bluetooth up and going, and after asking the teacher and other students we re-wired the whole car and looked up the code, to see if we had done correctly. The problem was within the wiring and the bluetooth connection on the computer. We had acctually connected to the wrong device the whole time, so that explains a lot of why we didn’t get it to work. But on friday we will meet and hopefully the Bluetooth will still work. And we can continue working on the car.

Siste nytt!

Hei!

Arbeidet med prosjektet går fremover! Vi har startet med design av kretskortet og delvis også fått kretsen simulert. I tillegg har vi fått til level shifter til I2C-kommunikasjon mellom Arduino og Raspberry Pi. Det gjenstår nå å jobbe videre med kretsen slik at alle de nødvendige sensorene kan kobles til. I denne delen av prosjektet kjører vi programmet OrCAD.

Bilde

Etter litt problemer med SD-kort-leseren på Pi’en, har vi endelig fått den til å kjøre. Nå venter vi bare på å få vår egen Raspberry Pi, slik at vi kan få installert OS på den. Det samme gjelder kameraet – før vi kan jobbe videre med denne delen av prosjektet.

Temperatursensoren som har funnet frem veien fra Malaysia har vi testet, og den fungerte! Videre må vi finne ut av alle komponentene vi trenger; GPS, GSM, GY-81 (som fungerer som gyro-, baro- og akselerometer, samt som elektrisk kompass).

Vi har sakte, men sikkert begynt å skrive koden for Arduino’en, men dette er i en såpass tidlig fase at mer konkret informasjon kommer i en av de neste innleggene!

Når det kommer til vår nettside og databasen, er det noe vi har tenkt å begynne med så fort som mulig! Det er bestemt at all data skal lagres som CSV-filer, og at vi skal bruke MySQL som database for å vise frem filene på nettsiden.

Foreløpig ser det meste OK ut, men mye arbeid gjenstår!

Gimbal-3000 – Current process

Autocad tegning

This is the blog for the project Gimbal-3000, an project about the making of a gimbal for an DSLR camera. There are 3 members in the group, two cybernetics- and one virtual systems- student

Cybernetics: Torbjørn Harsund and Ole Martin Rosbach

Virtual Systems: Jonny Bråten

We started off the project trying to find existing projects, using them as a template and analyzing their pros and cons. From there we started sketching different alternatives and later choosing our system. We also began making AutoCad drawing and Solidworks models to calculate the sizes of the metal we are going to use.

Solidworks

One of our problems is that we are going to use servos (Tower Pro MG995) but we can’t overburden the shaft, to solve this we are going to use bearings welded to the “chassi”. This was also a problem, since if it gets welded we risk of distortion. Therefore we had to find another way to attach it, our solution is to use a 3D printer to design and make a bearing support bracket

Bearing support

In the following weeks we are going to look into optocouplers, how to code the gyro sensor and find solutions on our extra features.

Team Rabi – Lydstyrt bil-prosjektet

10708080_10152282485266717_1455553509_n

Team Rabi består av

Elektro:

 Rabi Aslami og Stian Yttrehus

Programmering:

Håkon Andre Totland

 

Oppgave:

Generell beskrivelse

Lage en bil som styres av/etter lydsignaler. Bilen skal oppfatte, tolke og reagere etter akustiske signaler i rommet.

 

LOGG:

 

02 sep 2014

Prosjektets ambisjoner ble konkretisert:

Bil som styres mot lyd/stemme. Bilen skal kunne manøvrere i alle retninger basert på opplysninger fra lydsensor.

Grove sound sensor bestill fra seeed. Bilen skal ha konstant fart lav fremover og svinge mot lyden.

Ambisjon hvis tiden strekker til: Inkludere sonar som unngår hindringer.

 

09 sep 2014

Oppdaget koplingsavvik på kortene til hjulene i forhold til forventet. Pinneposisjon ble funnet ved å teste alle pinneposisjonene. Endringene ble testet med positivt resultat.

Koden endret etter nye opplysninger.

Endret hastighet på motorene ved hjelp av analogWrite til enable inngangene på motorkortene.

12 sep 2014

Montert IR sensorer på hver side av bilen slik at bilen kan styres til høyre og venstre ved å plassere hånden fremfor IR sensoren. Dette ble gjort kun for testing da målet er å kunne styre den ved hjelp av lyd sensorer.

Koden:

——————–void loop() {    if(digitalRead(v) && digitalRead (h)){      //hvis det leses signal på pinne v og h så kjøres stopp();    stopp();}   if(!digitalRead(v)&& !digitalRead(h)){       //ikke signal på pinne v eller h så kjøres frem();  frem(); }    if (digitalRead (v)&& !digitalRead(h)){        //signal på pinne v og ikke pinne h så kjøres venstre();  venstre(); } if (!digitalRead (v)&& digitalRead(h)){        //signal på pinne h og ikke pinne v så kjøres venstre();  hoyre(); }}——————

 

12 sep 2014Koblet på lydsensor. Satt grenseverdi slik at bilen kjører frem når det analog innsignalet går over denne verdien. Lagt inn forsinkelse slik at bilen kjører i 2 sekunder etter gitt lydsignal. Koblet på lyssensor foran for at bilen skal stoppe når den møter på en vegg. Et problem oppstod her da signalet fra lyssensoren ikke avbryter sekvensen som kjøres etter at den har fått et lydsignal. En løsning jeg kan tenke meg er å legge inn en interrupt rutine.

Foreløpig kode:

——————-int thold = 600;void loop() {  int analogValue = analogRead(A0);   //leser verdi på A0 if(!digitalRead(v)){  venstre();  delay(1000);}  if (analogValue > thold){                  //hvis verdi er over grenseverdi (thold) så kjøres frem(); frem();delay(2000);                                      //delay for at bilen skal kjøre 2 sekunder etter gitt lydsignalSerial.println(analogValue);              //skriver ut verdier til serialMonitor}if(analogValue < thold){                   // hvis verdi er under grenseverdi så kjøres stopp();stopp();}}——————-

  

16 sep 2014

Utfordringer har møtt oss i form av lav mikrofonfølsomhet. Av uforståelige grunner fungerer ikke systemet slik det skal. Men etter å ha konsultert med medstudenter, åpenbarte feilen seg i form av en feilplassert delay. Utfordringene videre ser ut til å bli kalibrering av lydsignaltyding. Vi feilsøkte ved å isolere hver mikrofon og skrev et testprogram som testet funksjonene. Bilen har til nå kun beveget seg når den har oppfattet lyd, men Håkon har nå møtt vår ambisjon ved å programmere bilen til å gå fremover med lav hastighet.

 

30 sep 2014

Oppgaven er i hovedsak løst iht ambisjon. I tillegg har vi gjort estetiske endringer på bilen i for av karosseri og  lydtrakter for isolering av lydkilden.

Tilleggsambisjoner utarbeides.

21 okt 2014

Vi opplever utfordringer med følsomhet på mikrofonene. Det må høy lyd tett på mikrofonen til for å få ønsket utslag. Lydtraktene bidrar litt til å isolere lyden, men vi oppnår ikke optimal effekt av dette. Vi konkluderer med at mikrofoner av høyere kvalitet kan bedre situasjonen.

04 nov 2014

Vi har laget et lysorgel som indikerer hvilke signal som tolkes. Det ble utfordrende å kjøre dette på samme Arduino simultant med resten av koden. Dette løste vi ved å installere en Arduino nano.

Vi besluttet å legge til lyssensorer hvor bilen kjører mot en lyskilde i tillegg til lydsensorene.

11 nov 2014

Lyssensorfunksjon:

Laget to array som tar imot de leste verdiene fra lyssensorene. Verdiene blir så summert og et gjennomsnitt blir beregnet. Gjennomsnittsverdiene fra hvert array blir så sammenlignet mot en grenseverdi og mot hverandre.

Vi opplever stadig utfordringer med kalibrering av lydsensorene. Verdiene er ustabile selv om lyden ikke endrer seg. Når vi bruker en lydkilde med forskjellige frekvenser oppnår vi  en lav endringsintervall.