tisdag 6 maj 2008

Båt Cam!


Mest på skoj, men även för att testa att servokontrollern fungerar bra gjordes ett mindre våttest. Kameran, som är en 3G-telefon, är ingen permanent installation utan var temporärt fasttejpad.
Programmet som körs är av simplaste art, stampen läser vad fjärrkontrollen skickar, konverterar detta till en skala som servokontrollerna förstår, och skickar sedan vidare kommandona.
Testet visar att kommandot SEROUT i ett simpelt program ger minst lika bra responstid som kommandot PULSOUT som tidigare användes.

lördag 3 maj 2008

Snart dags för våttest igen

Detta är vad som kan hända om man är för ivrig och sjösätter båten när det fortfarande ligger en del is. Propellern är nu bytt, men dessvärre verkar det inte finnas några standardalternativ i metall.
Ett av problemen som behöver tacklas är att få ombord tillräckligt mycket ström till ett rimligt pris. Med två ny batteripack skulle körtiden förlängas till en knapp timme, men eftersom vikten i gengäld skulle stiga från 1260 till 2125 gram kan det antas att hastigheten faller.

torsdag 1 maj 2008

Kalibrering och nyinstallation

Nu har vi äntligen mottagit det så viktiga servochipet! Det sitter mellan omborddatorn och roder/fartreglage för att avlasta processorn. Då beräkningskapaciteten ombord är något begränsad behöver omborddatorn kunna ägna sin fulla uppmärksamhet åt att läsa och tolka GPS-data. Chipet, som är ca 2x2 cm stort, sänder på kommando ut den serie med pulser som servo och fartreglage använder sig av.


På bilden ser man omborddatorn, servochip, motor, mottagare, fartreglage samt roderservo. Alla kablar skall sättas fast ordentligt och elektroniken ska efter installationen noggrant packas in i olika torrpåsar.





Vidare har även programvaran för navigation kalibrerats. Det tog ett tag att komma på att den Basic-tolk som styrprogrammet körs genom inte klarade negativa tal fullt ut.
Just detta test gick ut på att testa den algoritm som används för att via två strängar med data från gpsen ta fram den datan som skickas till servochipet.



Här använder vi oss av en lång pinne för att få ut de värden som faktiskt motsvarar en riktning i praktiken. Eftersom servot som styr roderet inte är perfekt symmetriskt har båten en tendens att gira relativt skarpare åt höger (styrbord). För att motverka detta fenomen via mjukvaran har vi tagit fram ganska exakta mätvärden.

onsdag 26 mars 2008

Nu fungerar den

Här gör båten en åtta helt av sig själv. Vänstersvängen är lite snävare än högersvängen men det är fixat i efterhand. Nu återstår bara att räkna om roderpositionerna så att GPS:en kan styra rodret.

tisdag 25 mars 2008

Autopiloten testad


Idag genomfördes kalibreringen av autopiloten. Vi ställde in programmet på att köra rakt fram, svänga 90 grader, köra rakt fram, svänga 90 grader osv. Detta för att se till att rodret svängde tillräckligt länge för att kröka båten så många grader som man matar in i programmet.Efter ett par omprogrammeringar fungerade det. Filmklippet nedan visar när båten går på en mycket låg hastighet, vi testade i full hastighet senare.

lördag 22 mars 2008

Sjötest nästa!

Arbetet med det nya skrovet har gått bra. All hårdvara är nu installerad och tätad. Det enda kvarvarande problemet innan mera omfattande sjötester inleds är att få mjukvaran att fungera perfekt. Som det nu är går båten att kontrollera, men responstiden från utslag på fjärrkontrollen till implementering av order är ännu inte perfekt.



Det kommande sjötestet kommer förhoppningsvis resultera i en mängd mätdata som kommer att användas för att kallibrera roderutslag och hastighet. För att båten skall kunna anpassa roderutslag beroende på hur nära en waypoint den befinner sig är det av vikt att känna till relationen mellan servoutslag och hastighet.

tisdag 18 mars 2008

Från konceptskrov till kortdistansskrov

Arbetet som pågår nu är att flytta omborddator med alla kablar till det nya skrovet. Eftersom konceptskrovet visade att allting fungerade tillförlitligt handlar det mycket om att hålla reda på sladdar. I samband med flytten till det nya skrovet skrivs också ett helt nytt styrprogram. Funktionen skall vara liknande det gamla, man skall på en given signal kunna överföra kontrollen av båten till omborddatorn. Då det ännu inte finns någon GPS handlar det om att utföra en serie med kommandon.
Vidare är ett servochip beställt och skall installeras. Servochipet fungerar som en intermediär mellan processorn och servo/fartreglage för att av belasta och förenkla styrprogrammet. I nuvarande utformning sänder omborddatorn kontinuerligt en serie med mycket korta pulser till servot. Med ett servochip sänds bara en engångs kommandosträng som servochipet sedan konverterar till pulsserier.



Det nya skrovet har fördelen med att vara färdigmonterat och tätat. Klippet visar tester av båten i sitt standardutförande, alltså enbart med manuell kontroll från en radiosändare.

torsdag 28 februari 2008

Första sjötesterna

Lite i tjuvstart har vi så sakteliga börat dra igång de första sjötesterna. Båten skall egentligen först målas och tätas bättre. Inledande testet var mest för att se om den flöt ordentligt och kunde styras, vilket den klarade fint. Problemen bestod främst av att batterierna inte räcker till, samt att den felnavigering som satte båten på grund ledde till ett oförberett bad. Inför nästa test ska vi också hitta en lämplig sjö som inte är fylld med gamla ruttna grenar.

måndag 25 februari 2008

Om omborddatorn

För de intresserade finns här att läsa den programvara som båten kör på omborddatorn. Koden är bara ett utkast, den går att optimera avsevärt. Istället för signaler från en GPS-mottagare använder sig båten än så länge av ett antal förinställda kommandon som talar om roderposition och hastighet. Vid en given signal från fjärrkontrollen tar omborddatorn över och utför kommandona i sekvens. När den gått igenom dessa lämnar den tillbaka kontrollen till fjärrkontrollen. Är man inte nöjd med hur båten beter sig kan man avbryta den förprogrammerade rutten, manuellt köra in till stranden, och där uppdatera instruktionerna genom att koppla in en laptop till seriellporten i båtens förarkabin.

' {$STAMP BS2e}
' {$PBASIC 2.5}

roder VAR Word
roder2 VAR Word
roder3 VAR Word
fetcha VAR Word
motor VAR Word
motor2 VAR Word
rekna VAR Word
inte VAR Word
ful VAR Word
tid VAR Word
servopos VAR Word
motorpos VAR Word

DATA 1, 3, 1, 50, 3, 50, 50

manual:
HIGH 3
LOW 4

DO
roder3=roder2
roder2 = (roder - 530) / 10
motor2 = (motor - 530) / 10
IF motor2 < 1 THEN motor2 = 1
IF roder2 > 100 THEN roder2 = 1
PULSIN 0, 1, roder
PULSIN 2, 1, motor
PULSOUT 14, roder
PULSOUT 15, motor
IF motor2 > 0 AND motor2 <> (roder3-5) THEN rekna = rekna +1
IF roder2 > (roder3+5) OR roder2 < (roder3-5) THEN rekna = 0
IF motor > 600 THEN rekna = 0
IF rekna > 100 THEN
HIGH 4
HIGH 3
PULSIN 1, 1, fetcha
IF fetcha > 850 THEN
rekna = 0
GOTO stampen
ENDIF
ENDIF
IF rekna < 100 THEN
HIGH 3
LOW 4
ENDIF

LOOP

stampen:
HIGH 4
LOW 3
DO
FOR inte = 1 TO 500 STEP 3
READ inte, tid
READ inte+1, servopos
READ inte+2, motorpos
IF tid = 0 AND servopos = 0 AND motorpos = 0 THEN
tid = 1
servopos = 20
motorpos = 0
GOTO manual
ENDIF
GOSUB skicka
NEXT

LOOP

skicka:
FOR rekna = 0 TO tid
FOR ful = 1 TO 50
PULSOUT 14, (servopos*10)+530
PULSOUT 15, (motorpos*10)+530
PAUSE 20
NEXT
GOSUB decartes
IF rekna = tid THEN RETURN
NEXT
RETURN

decartes:
roder3=roder2
motor2 = (motor - 530) / 10
roder2 = (roder - 530) / 10
IF motor2 < 1 THEN motor2 = 1
IF roder2 > 100 THEN roder2 = 1
PULSIN 0, 1, roder
PULSIN 2, 1, motor
IF motor2 > 500 THEN motor2 = 1
IF motor2 > 5 THEN GOTO manual
IF roder > 100 THEN
IF roder3>(roder2+5) OR roder3<(roder2-5) THEN GOTO manual
ENDIF

RETURN

söndag 24 februari 2008

Jungfrufärd!



Jungfrufärd! Den 24 februari klockan 20:51 färdades båten en knapp meter för egen masik i ett inhägnat område. All kommunikation och kontroll går igenom omborddatorn.


fredag 22 februari 2008



Nu närmar sig första testet i vatten. Båten har nu en trådlös mottagare som är kopplad till mikroprocessorn (Stampen). Via denna kan man antingen styra båten manuellt, eller lämna över till ett automatiskt program som styr båten fram och tillbaks. I videon ovan styrs rodret och motorn via Stampen!

Båten har alltså ingen GPS ännu. Målet med detta första test är att se så att mottagaren fungerar, att båten kan köras automatiskt samt att räkna ut hur mycket rodret måste vinklas för att svänga ett visst antal grader.