Xtreme Fickparking Real Time Systems - FRTN01 Project supervisor: Karl Berntorp

Relevanta dokument
Enkel rak plastplog. Fäst med eltejp som ovan eller på annat sätt. Såga till plogen eller skär ut den med mattkniv

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen?

Om NXTprogrammering. Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT?

Bygga hus med LECA-stenar

Lär dig göra marklyft

Åtgärder för att öka körförmågan med sidvagn

Lagadministration Linda Emterby

FÖRSÄSONGSTRÄNING POJKAR

Föreläsning 11. Giriga algoritmer

T-tunika med formremsa i halsringningen

NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot

Sträck ut efter träningen

Ovningsbankens Handbollspaket Styrketräning

Regler för sumo under Stockholm Robot Championship 2013

att koncentrera sig, att bibehålla uppmärksamheten, att minnas osv., som orsakades av att så mycket energi gick åt till att bearbeta den förändrade

DAGBOK HB ADVENTURE TEAM. Vårat lag: Jinci, Ida, Jennifer, Felicia Lagledare: Hans

3. Tomma batterier ska tas ur Pulse Sonic och kastas på ett lämpligt sätt.

Lathund. Administratörshantering. Kapitalflytt ITPK

Kristian Pettersson Feb 2016

Instruktion 5. Talonger och tabeller. Övning 25. Hur man gör en talong? Börja med att ställa in ett styckeavstånd på en tomrad.

Nya Perkinsmaskinen. Svensk bruksanvisning. Lättare anslag Lägre vikt Mindre bullrig Fler funktioner

Projektrapport EDA095

LINNE MED SNEDREMSA I HALS- OCH ÄRMHÅL

KUNGLIGA TEKNISKA HÖGSKOLAN. Linefollower. Med LEGO Mindstorms och NXC. Paul Coada Introduktion i datateknik II1310

Project Planner. Introduktion. Att använda Project Planner. WeavePoint. Handledning

Läggningsanvisning. Konsumentvinyl. Februari 2013

JF-Link. Trådlös elmanövrering av hydraulik. Instruktionsbok. Bruksanvisning i original

Fiskevårdsplan över Gaula vid Kjeldengården i Norge

Referens till. WeavePoint 6 Mini

SKB. Redovisning av enkäten till Köande medlemmar. 8 Oktober 2014

Att träna och köra eldriven rullstol

Framkomlighet på gatorna runt Stuvsta J

Åtkomlighet för Räddningstjänsten

Sommartra ning 2016 KFUM THN, Flickor 04

Att montera lapptäcke utan vadd. Plocka fram de tyger du vill ha i täcket. Det du

LIDINGÖLOPPET 10 KILOMETER CLAIRE 25, 8 VECKOR, 2 LÖPPASS/VECKA

Bouleträning. (Ovanstående text är inspirerad av Anders Gerestrands hemsida: geocities.com/boulesidan.)

LVF - Aktuellt nr

Övningar Dag 2 En första klass

19. Skriva ut statistik

Vanliga avdrag i rallylydnad

PIM Skriva

Planera smörjningar bakåt i tiden Det är numera inte möjligt att ange ett datum bakåt i tiden då man anger första smörjdatum.

Framtidens klassrum: Det resande klassrummet

Skriv ut korten. Laminera dem gärna. Då håller de längre och kan användas om igen. Klipp ut dem och lägg de röda respektive de gröna i var sin ask.

KRONISK LEDBANDSSKADA I FOTLEDEN REHABILITERINGSPROGRAM VID KRONISK LEDBANDSSKADA I FOTLEDEN INLEDANDE FAS DAG 1 14 MÅLSÄTTNING METOD. Figur 1.

TÄBYVAGGAN (4 m. och 3 m.) MONTAGEBESKRIVNING. Bild 1: Vagga 4x2,6 m. OBS! DENNA BESKRIVNING SKALL LÄSAS OCH FÖLJAS VID MONTAGE! Material (Bild 3):

INNEHÅLLSFÖRTECKNING... 2 FÖRORD... 3 INLEDNING... 4 ATT ANVÄNDA MOTORERNA... 9 LOOP (UPPREPANDE) FUNKTIONEN SKAPA EN EGEN KLOSS...

S... Guldmann vårdsäng - Hjälparens Guide. Vers. 1.00

Vägen till milen med Metro Mode

Laborationer i SME094 Informationsteknologi I för

Kandidatarbetesrapport

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

Administrationsverktyg för marinvåg

Träningssplan: vecka 1-6

Presentkort. I grunder/inställningar/blankettval är det blankett nr 1 som används till presentkortsfaktura.

Pulsmätare med varningsindikatorer

Handledningar till bedömningsunderlaget

LBST-604. NEXA LBST-604 Skymningsrelä. Säkerhet. Tekniska data. Uppdaterad: 23 feb av 7

SLALOMINGÅNGAR hur svårt kan det vara?

Kranar. Allmänt om kranar

Installation instructions, accessories. Växelspaksknopp. Volvo Car Corporation Gothenburg, Sweden. Anvisningsnr Version Art. nr

STICKBESKRIVNINGAR.

2. Komma igång Skapa grupper och elever Skriv också ut sidan 13 så att eleverna har en snabbguide till programmet.

En handledning för studerande på Högskolan Kristianstad

IT-Café: SKYPE (videosamtal)

NU ÄR DET DAGS ATT VÄLJA SOP ABONNEMANG!

HANDLEDNING ZENIT BILBOKNING

NMCC Sigma 8. Täby Friskola 8 Spets

Smygmaskvirkade vantar

Användarkort för Business Communications Manager Telefonisttelefon

TMT-918 Fjärrkontroll med timer. Säkerhet. Tekniska data

FIRST LEGO League. Härnösand 2012

Övningsbeskrivningar Åtgärdsprogram 1

BRUKSANVISNING HS Fåtöljen

Digitala Projekt (EITF11)

Böj ena knäet, Böj sedan överkroppen TÄNK PÅ:

Redigering. Kapitel 16 - Redigering... 3

Objektorienterad programmering Föreläsning 15. Grafiska användargränssnitt (GUI Graphical User Interface)

Runda inte ländryggen i knäböj

DigitalBild del 1 Adobe Photoshop Elements ver 6.0

Positiv Ridning Systemet Om att sätta mål Av Henrik Johansen

Vad är Affärskommunikation

Så här fungerar din nya rollator

Regler för fastighetsägare i Kärrdalen

Översikt Område B. = sjöbodslägen för fortsatt utvärdering = Inaktuella lägen

ANVÄNDARINSTRUKTION BÅRTRANSPORTUNDERREDEN. Gäller följande modeller: , ,

Att laga stickade sockor

Metoder för detektering av pittingskador i motorer.

Övningsupplägg Aktiv Rörlighetsträning

STÄNG AV FÖNSTER. Regler FLAGGSPECTRUM I FLAGGSPECTRUM II FLAGGSPECTRUM III FLAGGSPECTRUM STJÄRNSPEL

Netti III 74324A

Lära känna skrivbordet

Användarhandbok OE/OSSpeaker V.10.3

Realtid. eda040project2010 MANUAL. - Christoffer Olsson. - Daniel Lehtonen

INSTALLATIONSMANUAL COBRA 4400FD12. Fiat Ducato husbil 2012->

Användarmanual för nya funktioner

Rundbottnade båtar snipor, högsjöbåtar och dylikt

RAPPORT UPPSALA KOMMUN SKOLFASTIGHETER AB

TRAFIKUTREDNING SÄTOFTA CAMPUS

Transkript:

Xtreme Fickparking Real Time Systems - FRTN01 Project supervisor: Karl Berntorp Erik So derqvist, dt08es8@student.lth.se Johan Paulsson, dt08jp8@student.lth.se Jacob Ferm, dt08jf0@student.lth.se November 28, 2011 1

Ver. 1.0 - Projektrapport 2 PROGRAMSTRUKTUR 1 Introduktion Vi har byggt en legobil som har haft i uppgift att fickparkera i en parkeringsruta. Samtliga delar till bilen kommer från ett lego mindstorm-set och den använder en motor för styrning, en motor för framdrivning samt tre avståndssensorer för att mäta avstånd till föremål framför, bakom och vid högersidan av bilen. Mjukvaran för processen har utvecklats i LeJos. 1.1 Konstanter Konstant Bilens längd Bilens bredd Bilens svängradie Hjulens omkrets Värde 22,5 cm 16 cm 17 cm 17,6 cm 2 Programstruktur 2.1 Beskrivning av implementationen Programmet har en huvudklass som heter Main och den startar alla trådar och monitorer. Main-klassen börjar med att starta tre monitorer som har attribut för avstånden framför, bakom och vid sidan av bilen. Monitorerna skickas in tillsammans med motsvarande Ultrasonicsensor i tre stycken avstånds-trådar som kontinuerligt uppdaterar monitorerna med värden från sensorerna på bilen. Denna uppdatering sker med ett intervall på 100 millisekunder. Därefter skickas monitorerna in i Controller-tråden och den startas. Det är Controller-tråden som sköter all styrning av motorerna efter att ha hämtat information från monitorerna. Det finns även en ButtonListener som kontinuerligt kontrollerar om ESCAPE-knappen har blivit nedtryckt. Detta gör den var 100 millisekund och om knappen har blivit nedtryckt avslutas programmet. Ett UML-diagram över programstrukturen kan ses i figur 1. 2.2 Beskrivning av processen I Appendix B finns bilderna som vi kommer referera till i detta avsnitt. Som synes i figur 2 står bilen i utgångsläge och sidosensorn detekterar att den står nära en bil. Det är viktigt för resten av parkeringen att bilen står parallellt med den första bilen och att framhjulen är raka annars kommer parkeringen med stor sannolikhet misslyckas. Därefter kör bilen fram tills sidosensorn detekterar att där står en ny bil och avståndet den kört beräknas för att kontrollera om bilen kommer få plats i parkeringsplatsen. Detta avståndet används i nästa steg som kan ses i figur 3 där bilen backar in i parkeringsplatsen. Den backar först halva avståndet med hjulen svängda åt höger och sedan halva avståndet med hjulen svängda åt vänster. Detta följs av att bilen backar längst bak i parkeringsfickan där den sedan mäter avståndet från framsensorn som den använder för att beräkna hur långt den kan svänga åt först höger och sedan vänster för att inte köra in i bilen framför. Detta kan ses i figur 4. Därefter backar bilen längst bak i parkeringsfickan samtidigt som den mäter om avståndet från sidosensorn förändras. Detta skulle betyda att bilen står snett och i så fall utför den en kort 2

Ver. 1.0 - Projektrapport 4 ANVÄNDARMANUAL korregering. Stegen som syns i 4 och 5 upprepas därefter tills bilen står inom ett förbestämt avstånd från trottoaren. Slutligen ställer sig bilen i mitten av parkeringsrutan vilket visas i figur 6. Figure 1: Uml-diagram över implementationen. 3 Regulatordesign Den största delen av fickparkeringen är algoritmbaserad och den använder sensorerna för att detektera när den ska byta algoritmer. Controller-tråden kontroller avståndet till föremål framför och bakom bilen under tiden den utför parkeringsalgoritmen för att säkerställa att den inte kör in i något föremål. Den kontrollerar även sidosensorn för att detektera när bilen står tillräckligt långt in i parkeringsfickan för att parkeringen ska anses vara klar. 4 Användarmanual Man startar upp Lego Mindstorm-enheten genom att trycka på ENTER. För att starta programmet väljer man Run default. Om man gjort rätt kommer det stå Press any button to start the program! på skärmen. Därefter ska man ställa bilen så att sidosensorn pekar på fordonet som står bakom parkeringsfickan man vill parkera i. Sedan kan man trycka på vilken knapp man vill på enheten för att starta programmet och sen kommer den parkera av sig själv. När programmet har kört klart och inte kommer längre in i parkeringsfickan kommer det stå Parking completed! på skärmen tills man trycker på någon knapp då lego mindstorm-enheten automatiskt startar om sig själv. Om man 3

Ver. 1.0 - Projektrapport 5 RESULTAT vill avbryta exekveringen av programmet trycker man på ESCAPE varpå lego mindstorm-enheten automatiskt startar om sig själv. 5 Resultat För att mäta hur effektivt bilen lyckades parkera utförde vi tolv stycken parkeringar och mätte resultaten. Parkeringsrutans längd var 38,5 cm och djupet var 20,0 cm. Längden hade bestämts till en och en halv gånger bilens längd plus 5 cm extra marginal för att kompensera för att sensorerna inte klarar av att mäta kortare avstånd. Av de tolv försöken misslyckades tre stycken totalt då bilen körde in i en av de parkerade bilarna. Resterande resultat presenteras i följande sektioner. Bilder av försöket kan ses i Appendix A. 5.1 Försök 1 5.2 Försök 2 2 cm 2 cm 9 cm 14 cm 9 cm 52 s 5 st 3 st 2,5 cm 4 cm 9 cm 14 cm 7 cm 39 s 3 st 2 st 4

Ver. 1.0 - Projektrapport 5 RESULTAT 5.3 Försök 3 2,5 cm 6 cm 10 cm 13 cm 8 cm 21 s 1 st 5.4 Försök 4 I detta försöket snuddade bilen vid den bakre bilen vid en backning. 5.5 Försök 5 2 cm 9 cm 10 cm 14 cm 6 cm 19 s 2 cm 4 cm 11 cm 13 cm 7 cm 19 s 5.6 Försök 6 I detta försöket snuddade bilen vid den bakre bilen vid en backning. 5

Ver. 1.0 - Projektrapport 5 RESULTAT 5.7 Försök 7 3 cm 5 cm 10 cm 14 cm 7 cm 21 s 1 st 6 cm 6 cm 9 cm 14 cm 8 cm 38 s 4 st 5.8 Försök 8 När detta försöket var avslutat visade baksensorn ett avstånd på 27 cm fast den stod alldeles intill den bakre bilen vilket betyder att sensorn gav fel output. 4 cm 4 cm 20 cm 27 cm 9 cm 46 s 5 st 1 st 6

Ver. 1.0 - Projektrapport 5 RESULTAT 5.9 Försök 9 4 cm 4 cm 11 cm 13 cm 8 cm 19 s 7

Ver. 1.0 - Projektrapport 6 SLUTSATSER 6 Slutsatser Som det syns i den föregående sektion klarar bilen nio av tolv försök vilken ger att bilen klarar att utföra en fickparkering 75% av fallen. De misslyckade försöken beror på att motorerna och styraxeln glappar vilket betyder att bilen inte kan köra rakt fram på ett tillförlitligt sätt. Detta leder till att bilen kan ställas i fel läge då den ska påbörja inbackningen. Tack vare begränsningarna på sensorerna blev det problem då algoritmerna baserades på indata från dessa. Detta kunde leda till bilen körde för långt eller kort och krockade med bilarna. Det gjorde det även svårt att bedöma om bilen stod snett eller inte. Vi märkte att hjulen kasar lite grann på underlaget när den svänger. Detta gör att bilen inte alltid utnygttjar sin maximala svängradie vilket minskar effektiviteten. Vår implementation hade inte kunnat användas på riktigt eftersom den är specialgjord för att kompensera för alla begränsningar i hårdvaran som finns. Men att vidareutveckla den till att fungera på en fullstor bil hade inte givit så mycket extraarbete om man hade kunnat litat på all indata. 8

Ver. 1.0 - Projektrapport 7 7 Appendix A. 9 APPENDIX A

Ver. 1.0 - Projektrapport 7. 10 APPENDIX A

Ver. 1.0 - Projektrapport 8 APPENDIX B 8 Appendix B Figure 2: Bilens startläge innan den mäter upp hur stor parkeringsplatsen är. Figure 3: Bilen då den ska påbörja den första inbackningen i parkeringsplatsen. 11

Ver. 1.0 - Projektrapport 8 APPENDIX B Figure 4: Bilens läge då adjust-metoden ska påbörjas för att köra bilen djupare in i parkerinsplatsen. Figure 5: Andra delen av adjust-metoden då bilen backar och rätar upp sig. 12

Ver. 1.0 - Projektrapport 8 APPENDIX B Figure 6: Bilens läge efter avslutad parkering. 13