Användarhandledning Optimal Styrning av Radiostyrd Racerbil Version 1.0 Isak Nielsen 10 december 2011 Status Granskad Per Svennerbrandt 30 november 2011 Godkänd
Projektidentitet Grupp-e-post: Hemsida: Beställare: Kund: Kursansvariga: Handledare: slipping-limit@googlegroups.com http://www.isy.liu.se/edu/projekt/reglerteknik/2011/racerbil/ Kristoffer Lundahl, Avdelningen för Fordonssystem vid LiTH Telefon: +46 (0)13 286623, E-post: kristoffer.lundahl@liu.se Daniel Axehill, Avdelningen för Reglerteknik vid LiTH Telefon: +46(0)13 284042, E-post: daniel@isy.liu.se David Törnqvist, Avdelningen för reglerteknik vid LiTH Telefon: +46 (0)13 281882, E-post: tornqvist@isy.liu.se Daniel Axehill, Avdelningen för Reglerteknik vid LiTH Telefon: +46(0)13 284042, E-post: daniel@isy.liu.se Niklas Wahlström, Avdelningen för Reglerteknik vid LiTH Phone: +46 (0)13 282803, E-post: nikwa@isy.liu.se Gruppmedlemmar Namn Ansvar Telefon E-post Mikael Gustafsson Projekledare 070 7464755 mikgu899@student.liu.se Per Svennerbrandt Designansvarig 070 2738107 persv849@student.liu.se Thom Magnusson Dokumentansvarig 070 2089346 thoma510@student.liu.se Jesper Sandberg Testansvarig 0730 512085 jessa625@student.liu.se Isak Nielsen Informationsansvarig 0730 360380 isani115@student.liu.se Martin Lilja 070 9493780 marli357@student.liu.se
Dokumenthistorik Version Datum Gjorda förändringar Signatur Granskad av 0.1 27 november Första utkast Alla Alla 1.0 30 november Första version IN PS
Innehåll 1 Inledning 1 2 Kort beskrivning av ingående komponenter 1 2.1 Hårdvara............................................. 1 2.2 Mjukvara............................................. 1 3 Uppstart 1 3.1 Uppstart av kringutrustning................................... 1 3.2 Uppstart av Racetrack...................................... 2 4 Beskrivning av menyerna 2 4.1 Calibration............................................ 2 4.2 Car synchronization....................................... 3 4.3 Run................................................ 3 4.4 Failsafe settings.......................................... 4 4.4.1 Markers.......................................... 4 4.5 Quit................................................ 4 5 Grafiskt gränssnitt vid körning 4 5.1 Bana och bilposition....................................... 4 5.2 Systeminformation och inställningar.............................. 4 6 Beskrivning av information som programmet behöver 5 7 Beskrivning av informationen som programmet levererar 6 8 Åtgärder efter körning 7 9 Felsökning 7 9.1 Programmet startar inte..................................... 7 9.2 Bilen detekteras inte....................................... 7 10 Mer information 7
Optimal Styrning av Radiostyrd Racerbil 1 1 Inledning Användarhandledningen beskriver hur man ska starta systemet Racetrack med tillhörande styrsystem, framtaget av projektgruppen Slipping-limit. Styrsystemet utvecklades höstterminen 2011 under CDIO-kursen Reglerteknisk projektkurs vid Linköpings universitet. Systemet i helhet består av såväl hårdvarumässig delar som mjukvara, och detta dokument ger en kort beskrivning av hur dessa ska användas korrekt. För mer information om systemet Racetrack eller det framtagna styrsystemet, se respektives tekniska dokumentation. 2 Kort beskrivning av ingående komponenter I detta kapitel ges en kort sammanfattning av de komponenter som ingår. 2.1 Hårdvara Hårdvarumässigt är systemet uppbyggt av följande komponenter Bilar - systemet kan målfölja flera bilar samtidigt, men bara styra en bil åt gången. Kameror - kamerorna i taket är ombyggda så att de bara detekterar IR-ljus. Runt kamerorna sitter det IR-dioder som sänder ut ljus som reflekteras i tejpbitar placerade på bilarna. Kopplingslåda - en kopplingslåda är kopplad via ett LabView kort till datorn. Denna sköter kommunikationen mellan handkontroll och dator. Bana - bilbanan är uppbyggd av mjuka gummiplattor och får ej beträdas! 2.2 Mjukvara Mjukvaran som används är följande racetrack.exe - själva huvudprogrammet som kör både racetrack-systemet och styrsystemet. Settings fil - en fil som läses in och definierar upp vissa variabler för systemet. Datafiler - filer som innehåller information som systemet beräknar (exempelvis skattade tillstånd och utställda stysignaler) 3 Uppstart Detta kapitel beskriver hur användaren ska starta upp Racetrack steg för steg. 3.1 Uppstart av kringutrustning 1. Innan bilen startas, var säker på att det sitter ett nyladdat batteri i bilen. Därefter startas bilen genom att föra strömbrytaren, placerad under bilen, till läget PÅ. Placera därefter bilen på banan. Dock måste bilen placeras minst en meter bort från banmarkörerna fastklistrade i träramen runt banan.
Optimal Styrning av Radiostyrd Racerbil 2 2. Slå på strömmen till kamerasystemet. Att kamerasystemet har ström indikeras av två röda lysdioder som tänds på varje kamera. 3. Säkerställ att alla kablar är korrekt inkopplade enligt kopplingsschema i Racetrackpärmen samt enligt markeringar på lådan. 4. Starta upp datorn med Racetrack installerat. 3.2 Uppstart av Racetrack 1. Väl inloggad på datorn med racetrack installerat startar du programmet genom att klicka på ikonen Racetrack placerad på skrivbordet. 2. När Racetrack är uppstartat visas en meny upp enligt bild 1. 3. Programmet är nu redo att köras och önskad åtgärd kan väljas. Figur 1: Menyssystemet som visas då programmet startas. 4 Beskrivning av menyerna Här kommer en kortfattad beskrivning av menysystemet. För alla körlägen så måste programmet startas om mellan varje gång. Om man vill avsluta trycker man q eller Q. 4.1 Calibration Detta läge används enbart för att ta nya kalibreringsbilder och används således sällan. Kamerorna startas med andra inställningar än de som används under drift. Mer information om hur kalibrering av kamerorna går till finns i dokumentationen för Racetrack.
Optimal Styrning av Radiostyrd Racerbil 3 4.2 Car synchronization För att kunna koppla samman bilen man vill styra med kontrollen så startas programmet i detta läge. Detta behöver bara göras efter det att kontrollen blivit fabriksåterställd eller man vill byta bil av någon anledning. För att genomföra hela proceduren följer man instruktionerna som ges under sekvensen. Mer information finns i dokumentationen för Racetrack. 4.3 Run Detta är det huvudsaklig körläget, alltså det läge som programmet körs i då en referenstrajektoria ska följas eller bilens ska köras manuellt. När man klickat in sig i denna meny får man valet mellan manuellt eller autonomt läge enligt figur 2. Figur 2: Menysystemet för Run-läget. Om det autonoma läget väljs innebär det att bilen kommer att regleras efter den referenstrajektoria som är definierad i referensfilen. Kör man istället i manuellt läge så kommer bilen att styras manuellt från handkontrollen. I båda lägena så kommer man först till ett läge där bilen kan styras manuellt och filtrena inte är aktiva. Detta läge används för att se till så att bilen kör rakt när man inte svänger (för att ställa in detta, se bilarnas manualer) samt för att ta bilen till önskad startposition (observera att de inte får starta för nära kalibreringasmarkeringarna på banan!). För att starta igång nästa steg så trycker man på valfri tangent. Programmet kommer nu att visa upp ett grafiskt gränssnitt för användaren. Mer information om detta kommer i följande kapitel. När programmet väl körs så kommer bilar som detekteras automatiskt läggas till i programmet och tillstånden börjar skattas. Om systemet detekterar den bil som skall styras så kommer regulatorn att bli aktiv.
Optimal Styrning av Radiostyrd Racerbil 4 4.4 Failsafe settings I denna meny kan man välja att slå på eller stänga av failsafe systemet. Default är failsafesystemet påslaget för att minska skadorna vid krasch, men kan eventuellt behöva stängas av vid testning eller dylikt. För att stänga av systemet trycker man n eller N och för att slå på det skriver man y eller Y. 4.4.1 Markers Startas programmet i detta läge så kan man få ut koordinaterna för alla de markeringar som kamerorna ser. Det första man får göra är att välja om man vill få ut koordinaterna i världskoordinater eller i kamerans koordinater. Sedan trycker man på en valfri tangent för att få fram nästa inläsning. Position för markeringarna kommer då att visas för respektive kamera (observera att kalibreringsmarkeringarna kommer att visas också). 4.5 Quit Detta val stänger applikationen. 5 Grafiskt gränssnitt vid körning Vid körning i manuellt eller autonomt läge så visas ett grafiskt gränssnitt bestående av två fönster (samt kommando-fönstret) upp. I kommando-fönstret visas felmeddelanden upp om sådana skulle uppstå, medan de två andra fönstrena visar information om systemet. 5.1 Bana och bilposition Det ena fönstret (det stora av dem) ritar upp banans representation samt bilens/bilarnas positioner. Bilarna är representerade av gula objekt och deras position och riktning från information om bilens skattade tillstånd. I figur 3 på följande sida ses fönstret med banan och bilen. De röda lamporna bak på bilen indikerar att bilen har fått kommando att bromsa. Informationen som visas i detta fönster kan ändras genom att trycka på tangenten t. Det finns flera olika visningslägen, där det som ses i figur 3 på nästa sida är default. De andra lägena ritar inte ut banan utan enbart de markörer som systemet har detekterat. För att avsluta programmet trycks tangenten q ned då fönstret är öppet. 5.2 Systeminformation och inställningar Det andra fönstret som öppnas är ett mindre fönster som visar upp information om systemet, samt ger möjlighet till vissa inställningsmöjligheter. Fönstret visas i figur 4 på sidan 6. Detta fönster ger information huvudprogrammets utnyttjandegrad samt även regulatorns utnyttjandegrad. Dessa ska ligga klart under 100 för att programmet skall fungera tillfredställande. Det ges även möjlighet att ställa in de två systemparametrarna Threshold och Mask Threshold. Dessa två parametrar ställer gränsen för när pixlar i kameran skall anses tillhöra markeringar på bilarna. Ett lägre värde på parametern gör att svagare markeringar syns, men att systemet blir mer känsligt för brus. Normalt sett behövs dessa ej ändras.
Optimal Styrning av Radiostyrd Racerbil 5 Figur 3: Fönstret som ritar upp banan och bilens/bilarnas positioner. De röda markeringarna på bilen indikerar att bilen har fått kommando att bromsa. Varvtiderna för de bilar som kör på banan visas också upp. Varvtiderna räknas som tiden det tar för bilen köra ett varv kring banan med start vid den svart-vit rutiga linjen på banan. Tiden anges i sekunder och har en noggranhet på 10 ms. 6 Beskrivning av information som programmet behöver För att kunna starta och köra programmet så krävs det att vissa filer är definierade, samt att vissa bibliotek finns tillgängliga. Den katalog som används för in- och utfiler till programmet är default C:/Temp/OSARR, vilket är en katalog på C-disken på datorn placerad i labbet. Informationen i denna katalog finns kvar mellan omstarter av datorn. För att se det fullständiga formatet på filerna refereras till tekniska dokumentationen. I samma katalog som programmet ligger i måste även följande finnas serial.txt - filer med kalibreringparametrar för kamerorna. opencv core230.dll opencv highgui230.dll De två text-filererna som har namnet serial.txt (där serial är serienummret för kameran) används av systemet för att kunna kompensera för olinjäriteter i linserna och biblioteksfilerna används för grafiken. Dessa filer är redan inlagda och skall ej behövas ändras om ingen kalibrering gjorts.
Optimal Styrning av Radiostyrd Racerbil 6 Figur 4: Fönster som visar information om systemet och ger möjlighet till inställning av systemparametrar. För att kunna köra programmet i Run-läge så krävs även att följande två filer i mappen där data skrivs och läses ref.txt - fil som innehåller referenstrajektorian. track.txt - fil som innehåller en representation av banan. Dessa filer är också tillagda och behöver bara ändras om användaren vill ändra banans form eller ändra referenstrajektorian. För att smidigt kunna ändra regulatorparametrar och vilken bil som styrs så finns en fil som heter settings.txt och denna skall vara placerad i mappen där data skrivs och läses från. Om filen inte innehåller all den information som systemet behöver så används defaultvärden för regualtorn och vilken bil som styrs (default är bil med ID 2). 7 Beskrivning av informationen som programmet levererar Efter en körning så kommer programmet leverera viss information till användaren nedskrivet i text-filer. Dessa listas nedan (för att se formatet på innehållet refereras till den tekniska dokumentationen). Filerna skrivs till mappen där data läses/skrivs av systemet. controlsignals.txt - fil med alla styrsignaler som ställts ut av systemet.
Optimal Styrning av Radiostyrd Racerbil 7 fromcam0.txt - fil med koordinaterna till de markeringar som den första kameran har detekterat. fromcam1.txt - fil med koordinaterna till de markeringar som den andra kameran har detekterat. state.txt - fil med de skattade tillstånden för bilen. 8 Åtgärder efter körning Efter körning med systemet måste följande åtgärder utföras. Stäng av IR-dioderna Stäng av bilen och tillse att batterierna laddas Rengör bilen enligt anvisningar i bilarnas dokumentation Ställ tillbaka allt på sin plats Koppla ur strömmen till batteriladdarna 9 Felsökning Felsökning för körning i Run-läget 9.1 Programmet startar inte Tillse att alla filer som krävs för körning finns i de kataloger de ska. Mer information om detta finns i detta dokument samt tekniska dokumentationen. 9.2 Bilen detekteras inte Detta kan bero på främst två saker. Vanligast är att bilen är placerad för nära de två kalibreringmarkeringarna på banan, vilket gör att kamerorna kalibreras in fel och bilen ej kan detekteras. Detta löses genom att flytta bilen längre från kalibreringsmarkeringarna och starta om programmet. Den andra orsaken är att IR-ljuset är för svagt på vissa delar av banan så att vissa av markeringarna på bilarna ej syns. För att lösa detta kan systemparametrarna Threshold och Mask Threshold ändras (mer om dessa under kapitlet om gränssnitt). 10 Mer information För mer information om systemet och dess delar refereras till Teknisk Dokumentation, OSARR (finns i OSARR-mappen) User s Manual, Racetrack (finns i Racetrack-mappen) Technical Documentation, Racetrack (finns i Racetrack-mappen) Manualer för bilar och handkontroller (finns i skåpet vid övrig dokumentation)