Gå til innhold

Weebl bygger en robot!


Anbefalte innlegg

Da tok jeg meg til slutt tid til å lage en arbeidslogg, I motsetning til de fleste arbeidsloggene her inne så er dette ikke en casemod.

 

Back to business:

 

Jeg studerer for tiden Artificial Intelligence and Robotics ved Aberystwtyh University i Wales og er nå godt ute i 3. året mitt og da skal det jo så klart gjøres en bachelor oppgave.

Det jeg da er i gang med og vil jobbe hardt med fram til starten av mai er å implementere autonom GPS navigering på en radiostyrt bil.

 

For å få til dette så har jeg investert i:

 

2 stk Arduino Pro 5v.

 

 

10915-01.jpg

 

 

En Bluetooth Mate Gold

 

09358-01.jpg

 

 

En LS20031 GPS enhet (som jeg drepte)

08975-03-L.jpg

Et LSM303 magnetometer med outputs for tiltkompensering

10703-01b.jpg

En Liquidware Lithium Backpack

P1020931-600.jpg

Samt:

  • en USB Til FTDI Converter
  • 2 stk Logic level converters
  • og noe annet småtteri.

Og så har jeg såklart kjøpt en bil, Da gikk jeg til innkjøp av en billig sak fra hobbyking, kosta 500-ish kr inkludert et 1700mAh batteri.

bilen er forsåvidt aaaaalt for kraftig og rask for mitt bruk men den klarer å holde seg nede i "gåhastighet" selv om den trives best i 40km/t

 

Bilen:

 

 

IMAG0197.jpg

Da har jeg i alle fall starta sånn smått med arbeidsloggen!

 

Kommer en til post i morgen med innhold av den litt mer teknologiske arten.

 

P.S: La denne under Arbeidslogger (data og elektronikk) framfor programmering da det blir en god mix av begge deler og det er her inne folk er aktive. Om dere synes den burde være plassert under programmering, si ifra så kan jeg sikkert ordne det!

Endret av weebl
  • Liker 8
Lenke til kommentar
Videoannonse
Annonse

Som jeg lovde så kommer det da en litt mer detaljert update sånn akkurat nåh!

 

Starter med å skrive om hva som har blitt gjort på prosjektet hittil.

 

Det startet på en regntung (som de fleste dager i Wales er) dag i november, en mann fra UPS ringte på døra og hadde med seg en liten rød boks fra Sparkfun med dingser for nærmere 2000,- kr

jeg starta å leke meg med delene og innen kort tid så hadde jeg parsing av GPS-strings inne, magnetometeret sendte meg data og arduinoen snakka med pcen min over bluetooth, happy days!

 

En uke eller noe senere så kom det en pakke helt fra hong-kong, denne inneholdt fjernkontrol, batterilader 2 stk batteri og en radiostyrt bil som en hver gutt uansett alder fortjener å eie!

Denne lille saken er mye morro for penga! og joda jeg fikk valutta for pengene, to bolter i front opphenget forsvant mens jeg "testa" den og da forsvant også "dogbonesene" eller på godt norsk framakslingene i samma slengen...

men dette var bare en kjapp fiks og så var vi ute på veien igjen!

 

Denne gangen gikk det vel og lenge bra og bilen var plutselig et beist til drifting, og drifting ble det, donuts på kjøkkengulvet ble det!.... I alle fall en liten stund før jeg dundra inn i en benk og tok knekken på hele framopphenget,

Resultatet ble en bil som dere kan se i bildet under en bil som så veldig trist ut sad.gif

 

IMAG0207.jpg

 

Jaja greit at dette var billige kinagreier, reservedeler kosta ikke mange kronene, men pakker fra Hong Kong tar tid!

 

I mellomtiden så starta jeg med litt mer relevant arbeid, det første jeg brøyt meg på var:

 

Tiltkompensering av magnetometer:

 

"Hva er dette godt for da?"

 

Det tenkte jeg mens jeg drev å planla ting, men dette viste seg å bli veldig nyttig!

av samme grunn som at man må holde et kompass vannrett så trengs det tiltkompensering av magnetometeret. magnetometeret jeg bruker (LSM 303) sender ut 3 akser med magnetometerdata og 3 akser med aksellerometerdata, ut ifra dette kan man regne ut den tiltkompenserte kompassretningen, ut ifra kun magnetometerdataene kan man regne ut hvordan retning som er nord, men denne retningen vil bare være korrekt om magnetometeret er mer eller mindre i vater, å holde det i vater manuelt slik vi mennesker gjør med et kompass er heller tungvindt og støy fra motorer/servoer i nærheten av magnetometeret gjør at man mest sannsynlig vil ha "nord" midt i bilen konstant.

 

men ved å bruke det innebygde aksellerometeret i brikken så kan man regne ut hvor rett ned er og dermed også regne ut hva som er horisontalen, jeg går nok desverre ikke så mye nærmere inn i matematikken og programmeringen av dette, fikk streng beskjed av veilederen min om å ikke drive å slite med dritten og å lete opp brukbar "library code" i steden for! og etter som at det er arduino og åpen kildekode vi snakker om så var ikke det mye arbeidet før jeg fant rosinen i pølsa! HER! Dette biblioteket funker glimrende og alle mine sorger med å få til tiltkompenseringen var borte, Åh som jeg elsker open source! Så fikk bilen nytt framoppheng og var så god som ny, venter riktig nok enda på to stk akslinger men de er det ikke noen stor hast med.

 

Hva ble da neste steg?

 

Joda, jeg kom i gang med å skrive kode for å få bilen til å kjøre i en bestemt kompassretning, eksperimenterte med PID, PI, PD og P kontrollere. alt annet enn P kontrollere ble det bare tull med, bilen kjørte noen lunde i riktig retning men det var sikk-sakk og rot hele greia, så la dette på is mens jeg leste meg opp bedre på kontrollalgoritmer for dette. og etter all denne framgangen så måtte jo ting gå galt! harddisken min tok kvelden, og som den tøffingen jeg er så tok jeg jo ikke backups!

 

Men maskinen ble reinstallert, gratis studentbruker (micro) på github ble opprettet og backups tas rett som det er og nå er all koden synkronisert mellom lagringsområdet mitt på campus, stasjonær pcen og laptoppen min smile.gif

 

Og da var vi kommet til nåtiden:

 

Hittil har jeg da fått ordnet:

  • Motorstyring
  • Kompass
  • GPS string parsing

og jeg jobber for øyeblikket med:

  • En java app som lar meg lese sensordata og styre roboten fra en pc
  • Forsker på kontrollalgoritmer for styringa
  • kretskort (er lei av den kabelsalaten jeg sliter med nå!)

Og i framtiden så skal jeg få ordnet:

  • Hastighetsregulering basert på inndata fra GPS evt en encoder på et hjul
  • waypoint navigering og kalkulasjon av retning ut ifra koordinater i et 2-dimensjonelt område
  • (husker ikke resten kommer mer)

Fram til neste gang så slenger jeg med et bilde av whiteboard veggen min, og hvordan bilen ser ut i kveld når jeg lekte med motorstyring.

 

 

 

IMG_20120203_005559.jpg

 

Føler meg litt som et ondt geni med dette massive whiteboardet! :D

 

IMG_20120204_013952.jpg

 

 

utrolig hvor mye som kan monteres med papp, gummistrikk og ledninger!

 

 

 

 

Ser i ettertid at dette ble en vegg med tekst men skal sørge for å få inn mere interessant og visuelt innhold fra nå av smile.gif

 

minner også på kommentartråden

Endret av weebl
  • Liker 3
Lenke til kommentar
  • 4 uker senere...

Beklager at det har vært stille her i det siste, har ikke vært mye spennende framgang, har oppgradert fra arduino .22 til 1.0 noe som betydde at jeg måtte oppdatere masse biblioteker og plages med dette, har også prøvd meg på å koble opp all hardwaren for å teste at alt funker samtidig, det gjorde det ikke, viste seg at nss(New Soft Serial) som jeg bruker for å opprette softwarebaserte seriell-porter for å kommunisere med GPS og kompass ikke funker samtidig som jeg bruker servoer på de nyeste versjonene av arduino, dette må jeg få sett mere på.

 

for tiden så driver jeg å skriver masse kjedelig kode for å sende/motta og behandle koordinater fra PC, gørr kjedelig og tar mere tid enn det jeg håpte -_- satser på at jeg er ferdig med alt dette tullet neste uke, da skal jeg se om jeg får rørt sammen en dårlig prototyp. som jeg skal forbedre videre til et skikkelig funksjonelt nivå.

Endret av weebl
  • Liker 1
Lenke til kommentar
  • 2 uker senere...

Updates for real this time:

 

Da fikk jeg til slutt utrettet noe skikkelig arbeid, skulle sette igang nå på mandag meeeeen så ble jeg forhindret av mass effect 3 innocent.gif

 

Anyways, i kveld har jeg fått gjort følgende:

 

 

Produsert prototype kort sånn at jeg slipper å slite med breadboards og jumper kabler som løsner i hytt og gevær og GPS fungerer glimrende på dette kortet.

 

Pics:

 

 

 

Lodding av GPS kabel, forferdelig prakk med disse små puslete ledningene:

IMG_20120308_175354.jpg

 

 

Alt lodda, teipa og kjørt sammen på ett brett, i bakgrunnen er det GPS data som er parset og sendt til pcen over bluetooth:

IMG_20120309_003325.jpg

 

 

og til slutt: et blurry og jævlig bilde av litt utendørstesting:

IMG_20120309_004711.jpg

 

 

 

 

og her er da hvordan GPS dataene ser ut når de er parset gjennom tinyGPS biblioteket:

 

Sats HDOP Latitude Longitude Fix  Date   	Time   	Date Alt 	Course Speed Card  Distance Course Card  Chars Sentences Checksum
         (deg)    (deg) 	Age                        Age  (m) 	--- from GPS ----  ---- to London  ----  RX    RX        Fail
--------------------------------------------------------------------------------------------------------------------------------------
**** **** *******  *******   **** *******    *******    **** ******* ****** ***** ***   0        0.00   ***   261   0     	0        
3    420  52.41943 -4.08419  497  03/09/2012 01:52:22   529  18.70   204.52 2.91  SSW   289      108.93 ESE   508   2     	0        
3    420  52.41943 -4.08416  69   03/09/2012 01:52:24   89   18.70   121.03 2.19  ESE   289      108.93 ESE   834   6     	0        
3    420  52.41946 -4.08412  281  03/09/2012 01:52:25   301  18.70   326.44 0.22  NNW   289      108.93 ESE   1025  8     	0        
5    180  52.41937 -4.08419  249  03/09/2012 01:52:26   269  32.90   203.66 1.87  SSW   289      108.93 ESE   1405  10        0        
5    180  52.41944 -4.08421  495  03/09/2012 01:52:28   515  25.40   11.68  1.50  NNE   289      108.93 ESE   1599  12        0        
5    180  52.41938 -4.08426  694  03/09/2012 01:52:29   725  28.60   33.63  0.44  NNE   289      108.93 ESE   1904  15        0        
5    180  52.41935 -4.08422  148  03/09/2012 01:52:31   168  28.60   21.96  0.41  NNE   289      108.93 ESE   2182  18        0        
5    180  52.41935 -4.08421  112  03/09/2012 01:52:32   133  26.60   139.12 0.33  SE    289      108.93 ESE   2564  20        0        
6    150  52.41936 -4.08422  102  03/09/2012 01:52:34   130  26.80   143.60 0.33  SE    289      108.93 ESE   2915  23        0        
6    150  52.41938 -4.08421  203  03/09/2012 01:52:35   224  26.50   155.88 0.52  SSE   289      108.93 ESE   3153  26        0        
6    150  52.41938 -4.08421  418  03/09/2012 01:52:36   437  26.60   79.97  0.09  E 	289      108.93 ESE   3349  28        0        
6    150  52.41940 -4.08421  171  03/09/2012 01:52:38   203  25.50   13.59  0.33  NNE   289      108.93 ESE   3929  32        0        
6    150  52.41941 -4.08421  247  03/09/2012 01:52:39   266  25.10   345.97 0.46  NNW   289      108.93 ESE   4126  34        0        
6    150  52.41941 -4.08421  459  03/09/2012 01:52:40   481  24.70   12.64  0.13  NNE   289      108.93 ESE   4322  36        0        
6    150  52.41941 -4.08421  658  03/09/2012 01:52:41   692  24.20   113.65 0.17  ESE   289      108.93 ESE   4617  39        0        
6    150  52.41941 -4.08421  312  03/09/2012 01:52:43   334  23.40   57.46  0.30  ENE   289      108.93 ESE   5100  42        0        
6    150  52.41941 -4.08421  524  03/09/2012 01:52:44   544  22.90   134.63 0.69  SE    289      108.93 ESE   5297  44        0        
6    150  52.41942 -4.08420  89   03/09/2012 01:52:46   117  22.50   184.56 0.06  S 	289      108.93 ESE   5640  47        0        
6    150  52.41942 -4.08421  357  03/09/2012 01:52:47   386  22.90   28.08  0.39  NNE   289      108.93 ESE   6043  49        0

 

 

Skal prøve å kutte ned så mye jeg kan på dette biblioteket da det tar opp mye plass, det eneste jeg trenger er heading, heading til neste waypoint (her vises det som london :p), hastighet, avstand til waypoint og hvor jeg er atm (lat, long)

må uansett prøve å minimere bruken av dette biblioteket da det tar opp forferdelig mye plass.

 

gleder meg til å leke med mere intressant arbeid over helgen :)

 

PS: om noen lurer på hvordan noe virker, evt hvordan noe gjøres, eller bare lurer på noe annet. spør i Kommentartråden, så om noen vil ha tutorials på noe så fikser jeg det :)

Endret av weebl
  • Liker 1
Lenke til kommentar

Miniupdate: Har rørt sammen noe kode som i teorien skal kunne kjøre roboten rett oppi gata her, men før jeg kom langt nok til å teste så kom jeg over et problem jeg hadde glemt, biblioteket softSerial som jeg bruker for å komunisere med GPS ødelegger funksjonaliteten til servo biblioteket da begge benytter seg av interrupts, så her måtte jeg lete etter en løsning, fant PWMServo av arduiniana ,som også står bak tinyGPS, egentlig imponerende at jeg ikke hadde sett lenken til dette biblioteket før -_-.

 

 

Så fikk lastet ned PWMServo, trykte "kompiler", ERROR!!!!!!!! mad.gif

 

kompilatoren fant ikke wiring.h, men etter en god del leting så fant jeg løsningen, igjen var det overgangen fra 0022 til 1.0 som var problemet og jeg måtte inkludere Arduino.h isteden for wiring.h i kildekoden til biblioteket, nå funker alle delene brukbart sammen om man ser bort ifra elektronisk støy, men på veroboards så kan man ikke forvente annet :p

 

Nå tar jeg kvelden, skulle gjerne testa om navigeringa funker men det får bli senere for om det ikke funker så blir jeg sittende oppe enda lengre og jeg må virkelig få snudd denne latterlige døgnrytmen.

 

Oh! glemte nesten dette: Har også fått meg en gratis studentkonto hos github så nå har jeg Versjons kontroll og skikkelig ekstern backup og den dagen koden min ikke ser ut som et sant helvete og faktisk virker så blir repo'et i god gammeldags open-source stil åpnet for almenheten :)

 

Vil anbefale alle studenter å ordne seg med en gratis githubkonto, alt du trenger å gjøre er å sende mail fra emailen din ved institusjonen til github med en forespørsel om gratis studentkonto så får du det, no questions asked.

perfekt for å dele kode i felles prosjekt og til å legge opp noen prosjekter til å bruke i portfolio.

 

 

  • Liker 1
Lenke til kommentar

Houston we have a problem: REGN!!!

 

Regn liker ikke en søt liten og sårbar robot som jeg har, så det har blitt lite testing, men har tilbringt hele dagen på labben oppe på campus hvor jeg har fikset på prototypekortet mitt da det var noe støy som plaget meg har også fått satt inn en 3.3v regulator sånn at jeg kan hente ut strømmen fra motorkontrolleren og dermed også eliminere ett batteri med alle de fordelene og potensielle ulempene det har.

 

Så for å holde liv i loggen så skriver jeg en liten tech-update hvor jeg forklarer litt hvordan teknologien jeg bruker virker.

Nå skal jeg legge til at jeg prøver å bruke en god del libraries for alt det som ligger nederst liksom så jeg vet at jeg får brukbare og gode data da mitt fokus er på styringsalgoritmer.

 

Så i dag tar jeg for meg Kompass og Tiltkompensering

 

Hvorfor?

 

Alle som har lekt med et kompass før vet at du må holde det tilnærmet horisontalt, det samme ser du ombord i båter hvor det flyter i en glasskule eller lignende, om det ikke er horisontalt måles det feil retning da tyngdekraften m.m. påvirker nåla.

 

Et elektronisk kompass har ikke noen nål, det fungerer ved at man har 1,2 eller 3 magnetometer som måler styrken til et magnetisk felt, hvert av disse er plassert i hver sin akse (x,y,z), uten å gå mye mer inne i detalj om hvordan et magnetometer er på innsiden så er det i hovedsak en regulerbar resistor som reagerer på endringer i det magnetiske feltet rundt den.

 

Dermed er det også ganske logisk at om kompasset ikke holdes i vater så vil du få målinger som ikke stemmer (i alle fall utifra det man mest sannsynlig forventet).

 

Nå skal ikke jeg gå inn i den faktiske matematikken i å regne ut heading da dette fort blir komplekse greier og jeg roter garantert til det men tar for meg kalkulasjonene i pseudokodesnutter.

 

Så jeg starter med den enkleste formen for utregning av heading:

 

atan2 er en funksjon innebygd i c++ som lar deg sende to verdier, i dette tilfellet x og y aksen fra kompasset og få ut den inverse tangensen av disse to verdiene i radianer.

 

heading = atan2(y, x)

 

For å få et tallformat vi enklere kan behandle så må vi regne om radianene til grader som i alle fall er mere logisk i mine øyne

 

headingDegrees = heading * 180/Pi;

 

Dette vil da gi ut heading eller på godt norsk kursen på en relativt primitiv og sårbar måte.

 

Den gode (og mye mer kompliserte metoden) også kalt tiltkompensering.

 

Skal man kun bruke kompasset sitt i et miljø hvor det vil bli holdt i vater er den tidligere metoden helt grei, men nå er jo den virkelige verden sjelden så optimal så det må i alle fall jeg gå bort ifra.

 

Kompasset slik det funker i det tidligere eksemplet fungerer mer eller mindre som et kompass i den virkelige verden, det måler ut ifra to akser som er paralelle med det magnetiske feltet, holder du kompasset skeivt så mister man en del av styrken fra det feltet og målingene blir feil, dette skal vi kompensere for ved å bruke z aksen til å få målt det vi ellers mister, men for å kunne vite dette må vi vite "hvor z peker" dette gjøres ved å slenge inn et 3-akset aksellerometer, eller i mitt (og mange andre) tilfeller så er begge disse delene integrert i samme IC, på enkelte dyrere modeller så er det også integrert en microkontroller som regner ut dette for deg og spytter ut ferdig tiltkompensert kurs.

 

Ok, da kommer det da litt mer pseudokode som jeg også forhåpentlig vis klarer å sånn halvveis forklare hvordan fungerer på et noenlune matematisk nivå:

 

xKompensert = magnetometerX * cosPitch + magnetometerZ * sinPitch;
yKompensert = magnetometerX * sinRoll * sinPitch + magnetometerY * cosRoll - magnetometerZ* sinRoll * cosPitch;

 

Denne koden gir ut både x og y i tiltkompensert form, så alt man trenger å gjøre da er å kjøre de gjennom den samme funksjonen som ble brukt tidligere og man vil nå få tiltkompensering opp til rundt 40 grader.

 

Enkelt sagt så bruker man denne koden for å finne en vektor for "rett ned" og vektoren nord, kryssproduktet av ned og nord blir øst som da lar oss forme et 2-dimesjonelt plan som

kurs vektoren vår blir lagt ut på og den faktiske kursen vår er da vinkelen mellom kurs vektoren og nord.

 

Nå vet jeg dette ble forklart veeeeldig enkelt, men det er en del tricky matematikk bak dette og jeg er ikke så sykt stødig på dette, i alle fall ikke kl. 6 på morgenen, men jeg håper dere forsto konseptet :)

 

om dere vil lese mer om dette så anbefaler jeg et tutorial som jeg har lest og basert meg på: https://www.loveelec...rduino-tutorial

selv om det er lett og greit å bruke biblioteker som jeg gjør så synes jeg det er viktig å ha kunnskap om den underliggende funksjonaliteten ;)

 

Nå håper jeg bare på brukbart vær for jeg har skrevet en PD kontroller som trenger litt tuning og testing før jeg kan komme med en liten forklaring på hvordan den funker og litt bevis på at roboten ruller og putrer avgårde på egen hånd.

 

Og til slutt så oppfordrer jeg igjen til at dere tar en titt innom kommentartråden og legger igjen litt ris, ros eller spørsmål :)

Endret av weebl
  • Liker 3
Lenke til kommentar

Progress so far:

 

Har hatt en uke med fantastisk flott vær, har fått skrevet litt mer kode, ikke noe revolusjonerende enda men prototype koden min blir bit for bit pen, ryddig og mulig å vise fram.

 

I morgen så kommer jeg nok til å være på labben i en god del timer, skal montere en plexiglass plate oppå bilen som jeg kan montere kretskort osv på, gjør livet mitt mye enklere enn det er nå som jeg bruker idiotiske løsninger med teip og gummistrikk og en god dose håp for å montere ting.

 

Så bare for å holde litt liv i tråden så slenger jeg inn en liten funksjon som jeg er brukbart fornøyd med, har framdeles ikke implementert automatisk motorstyring da jeg føler meg tryggere på å kontrollere hastigheten med fjernkontroll enn så lenge.

 

void findCourse() {
pos = 50;

while(1) {
 compass.read();
 compassHeading = compass.heading((LSM303::vector){0,-1,0});

 int toWpt = gps.course_to(flat, flon, TO_LAT, TO_LON);
 if (compassHeading > toWpt - 5 || compassHeading < toWpt +5) {
  Serial.print("Heading: ");
  Serial.println(compassHeading);
 }
 else {
  Serial.print("Found Heading! ");
  Serial.println(compassHeading);
  pos = 0;
  navigate();
 }
delay(50);
}
}

 

Uansett, denne funksjonen får bilen til å kjøre i en sirkel mens den sammenligner en heading som er regnet ut ved å sende inn nåværende koordinater(flat, flon) og neste waypoint (TO_LAT, TO_LON) til funksjonen course_to i tinyGPS biblioteket som returnerer headingen i grader som en integer.

Endret av weebl
  • Liker 3
Lenke til kommentar

Skulle poste en svær update i kveld, så tømte jeg cola i tastaturet mitt så fikk et lite ekstraprosjekt :/

 

anyways tastaturet er i beste velgående igjen og jeg slenger i alle fall ut noen bilder.

sånn hardwaremessig så er alt i skjønneste orden nå, har mye funksjonell kode og bilen kjører rundt, planen var å ta turen ut å filme, ble da ikke tilfellet da jeg fikk et megaoppdrag med å skru ifra hverandre, vaske og skru sammen et g15 tastatur (et sant helvette) men slenger ut noen bilder.

 

kompasset er nå montert på en mast slik at jeg skal få det vekk fra all støyen som er rundt motoren.

 

post-90800-0-32531600-1332901480_thumb.jpg

 

Jeg har også lagd en plate til å montere alle komponentene på så det ser penere ut og ikke minst er enkelt å jobbe med nå

 

post-90800-0-68323700-1332901484_thumb.jpg

post-90800-0-95180500-1332901488_thumb.jpg

  • Liker 6
Lenke til kommentar
  • 1 måned senere...

Update/gledesutbrudd:

 

Da var bacheloroppgaven ferdigskrevet, presentasjon og demo neste uke og i den sammenhengen så kommer det litt film.

 

Den oppfører seg ikke helt som det skal, tror det er en sammenheng mellom kompasset mitt og vibrasjoner, uansett så snart presentasjonen er levert så skal jeg tweake litt greier og så åpner jeg git-repoet jeg har jobbet i for alle :)

  • Liker 8
Lenke til kommentar
  • 1 måned senere...

Enda en kjedelig update:

 

Ja da er alt pakka sammen og både jeg og roboten er nå hjemme i Norge, etter som at den endelige GPS enheten jeg brukte var på utlån fra veilederen min på prosjektet så står ting på vent til jeg har litt penger til en ny GPS enhet, vurderer også å spytte i en tusing på en skikkelig kompassenhet så slipper jeg å styre med filtrering og greier.

 

Mistenker også at det kommer en Raspberry PI i posten snart som også kanskje skal bygges inn i prosjektet.

  • Liker 2
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...