Remotely Operated Underwater Vehicle Malte Moritz ROV Status Granskad JK Godkänd IN
ii Projektidentitet E-postlista till gruppen: Hemsida: Beställare: Kund: Kursansvarig: Projektledare: Handledare: http://www.isy.liu.se/edu/projekt/reglerteknik/2013/rov/ Isak Nielsen, ISY, Telefon: +46(0) 13 282804 E-post: isak.nielsen@liu.se Micael Derelöv, Saab Dynamics, Underwater Systems Telefon: +46(0) 13 281165 E-post: micael.derelov@saabgroup.com Daniel Axehill, ISY, Telefon: +46(0) 13 284042 E-post: daniel@isy.liu.se Malte Moritz Telefon: 070-515 07 66 E-post: Jonas Linder, ISY, Telefon: +46(0) 13 282804 E-post: jonas.linder@liu.se Gruppmedlemmar Namn Ansvar Telefon E-post Malte Moritz (MM) Projektledare 070-515 07 66 malmo541 Kristoffer Bergman (KB) Testansvarig 073-847 31 51 kribe606 Johan Karlén (JK) Modellansvarig 070-992 32 35 johka641 Per-Erik Karlsson (PK) Mjukvaruansvarig 073-899 49 85 perka625 Martin Lindfors (ML) Designansvarig 070-264 08 01 marli984 Tobias Magnusson (TM) Dokumentansvarig 073-443 81 72 tobma696 Katarina Mollén (KM) Informationsansvarig 070-926 18 91 katmo425 Jacob Svensson (JS) Hårdvaruansvarig 073-613 58 36 jacsv832 Fredrik Söderstedt (FS) Kommunikationsansvarig 072-727 70 01 freso273
iii Dokumenthistorik Version Datum Ändringar Utförda av Granskad 0.1 2013-12-02 Första utkastet Alla ML,MM 0.2 2013-12-04 Andra utkastet KM JK 1.0 Första versionen PK JS
iv Innehåll 1 Inledning 1 2 Förutsättningar 1 3 Innan ROV:n startas för första gången 1 3.1 Vanliga problem................................................... 2 4 Starta ROV:n 2 4.1 Vanliga problem................................................... 3 5 Under körning 3 5.1 Läsa ut värden.................................................... 3 5.2 Testsignaler...................................................... 4 5.3 Parametrar...................................................... 5 5.4 Varningar....................................................... 5 5.5 Manuell och stabiliserad drift............................................ 5 5.5.1 Manuell drift................................................. 5 5.5.2 Stabiliserad drift............................................... 6 5.6 Loggning av data................................................... 7 5.7 Säkerhet........................................................ 7 5.8 Vanliga problem................................................... 7 6 Stäng av ROV:n 8
1 1 Inledning Detta dokument är en användarhandledning för ROV:n. Den har till syfte att hjälpa användaren att starta, köra och att stänga av ROV:n. En detaljerad beskrivning av funktionaliteten återfinns i projektets tekniska rapport, Martin Lindfors m.fl. [1]. 2 Förutsättningar För att kunna använda ROV:n krävs vissa grundförutsättningar. Dessa är listade nedan. Om projektets externa PC används för att ansluta till ROV:n är lösenordet arnold och grundförutsättningarna nedan är redan uppfyllda. Den externa PC:n ska använda operativsystemet Ubuntu. ROS version fuerte ska installeras, se hänvisningar på http://www.ros.org/wiki/fuerte/installation/ubuntu [senast redigerad: 2012-08-06] All kod ska ligga på den externa PC:n under sökvägen /rov/kod/rov workspace/ som ska ligga i användarens hemkatalog. Den hittas genom att mata in echo $HOME i terminalfönstret och trycka Enter All kod på ROV:ns interna PC ska ligga i mappen /home/auv/rov/kod/rov workspace/. Ethernet-kabeln från ROV:n ska vara inkopplad till den externa PC:n. SONAR:ns mjukvara DeltaT.exe ska ligga i mappen /rov/kod/deltat. 3 Innan ROV:n startas för första gången Innan man kan starta ROV:n för första gången ska följande punkter utföras i sekventiell ordning. Öppna ett terminalfönster med Ctrl+Alt+T. Skriv in kommandot rosmake GUI i terminalfönstret och tryck Enter. - Detta kommando kompilerar koden för GUI:t och skapar en körbar fil. Skriv in kommandot sudo apt-get install aptitude och tryck Enter. - Detta kommando installerar apitude som behövs för att installera etherwake. Skriv in kommandot sudo apitude install etherwake och tryck Enter. - Detta kommando installerar etherwake som behövs för att kunna starta ROV:ns interna PC via Ethernet-kabeln. Gå in på inställningar för nätverket på Edit connections. I fönstret som dyker upp, gå in under fliken Wired, markera din anslutning, som troligtvis har namnet Wired connection 1, och tryck på knappen Edit. I fönstret som dyker upp, gå in under fliken IPv4 Settings, ändra Method: till Manual, tryck på add och ställ in IP-adress 192.168.0.3, Nätmask 255.255.255.0 samt Gateway 0.0.0.0. Tryck slutligen på Save. - IP-adress, Nätmask och Gateway sätter anslutningsvägarna så att ROV:ns interna PC och den externa PC:n finnar varandra när Ethernet-kablen kopplats in.
Malte Moritz 3.1 Anva ndarhandledning 2 Vanliga problem Na r apitude och/eller etherwake ska installeras blir det problem om man inte har anslutning till Internet. Se till att uppkoppling finns och fo rso k igen. 4 Starta ROV:n Sa tt magneten i ha let pa ovansidan av ROV:n vid den bakre vertikala motorn. I figur 1 visas var denna magnet a r lokaliserad. - Magneten a r ROV:ns huvudstro mbrytare och ma ste vara pa avsedd plats under hela ko rningen. Skriv in kommandot sudo etherwake 38:60:77:3E:92:8D och tryck pa Enter. - Detta kommando va cker ROV:ns interna PC. Va nta cirka 30 sekunder fo r att den externa PC:n ska hitta Ethernet-anslutningen till ROV:n. Na r GUI:t startar upp, har anslutningen etablerats. Skriv in kommandot roscd i terminalfo nstret och tryck Enter. - Detta kommando go r att man sta ller sig i mappen fo r ROV-workspace da r scriptet run all.sh ligger. Skriv in kommandot sh run all.sh och tryck Enter. - Detta kommando ko r scriptet run all.sh som startar ROV:n och GUI:t. La t ROV:n ligga vid ytan i lite mer a n 10 sekunder direkt efter att scriptet ko rts da den kalibrerar trycket fo r att kunna skatta sitt djup. Da trycket har kalibrerats visas ett meddelande i sensorfo nstret. Fo r att ko ra ROV:n, tryck Go i GUI:t. Figur 1: En detaljbild pa ROV:n. Den ro da pilen visar var huvudstro mbrytaren fo r ROV:n a r lokaliserad. Linko pings Universitet
3 4.1 Vanliga problem När scriptet run all.sh ska köras kan man få problem med att systemet inte hittar filen om man inte står i rätt mapp. Skriv in kommandot roscd så hamnar man i ROV-workspace och kan köra scriptet. När scriptet run all.sh ska köras kan man få problem med att den externa PC:n inte lyckas koppla upp sig mot den interna PC:n. För att åtgärda, konrollera att nätverksinställningarna är korrekt inställda, enligt kapitel 3 och försök igen. Om problemet inte åtgärdas, koppla ifrån nätverket för att sedan koppla upp det igen alternativt starta om datorn. Magneten kan lätt ramla ut under körning så att strömmen bryts. Detta löses med tejp eller dylikt. 5 Under körning Under körning sker all övervakning och kommunikation via GUI:t på den externa PC:n. Användaren kan läsa ut värden, bestämma driftläge, skicka referensvärden, logga data och skicka parametrar. 5.1 Läsa ut värden I GUI:t kan värden från alla sensorer, styrsignaler och batterispänningar observeras. I figur 2 ses en skärmdump av GUI:t. Funktionaliteten i GUI:t är förklarat i nedanstående lista. Siffrorna motsvarar siffrorna i figur 2. 1. Go/Stop-knapp. Startar och stoppar systemet. 2. Emergency-knapp. Aktiverar nödläget. I nödläget avbryter ROV:n sin aktuella drift och förflyttar sig horisontellt till ytan. 3. ROV:ns hastighet (0%- 100%), relävärden, motorernas faktiska värden i volt samt indikation om lampan är tänd eller ej (0-100). 4. Slå av/på reläerna för ROV:ns motorer. 5. Visar ROV:ns systemspänning, batterispänning samt läckagedetektor i enheten volt. Trycket anges i kpa. 6. Ladda parametrar. Mer information finns under kapitel 5.3. 7. Skicka test-signal till ROV:n. De testsignaler som kan väljas finns beskivna i kapitel 5.2. 8. Send mode-knapp. Skickar vidare den information som valts i punkt 9-12 nedan. 9. Flervalsalternativ där användaren kan välja mellan manuell eller stabiliserad drift. 10. Flervalsalternativ där användaren väljer mellan LQ-regulator eller decentraliserad reglulator. 11. Checkbox där användaren kan välja att spara data till loggfiler. 12. Checkbox där användaren, i manuellt läge eller i stabiliserat läge med den decentraliserade regulatorn igång, kan välja att styra ROV:n via Xbox-kontrollen. 13. Send ref-sig-knapp. Skickar vidare de i punkt 14 respektive 15 valda referensvärdena beroende på vald regulator. 14. Textfält där användaren kan skriva in referensvärden för den decentraliserade regulatorn.
4 15. Textfält där användaren kan skriva in referensvärden för LQ-regulatorn. 16. ROV:ns position och orientering i enheterna meter och grader med origo i bassängens mitt. 17. ROV:ns styrsignaler till motorerna, i enheten volt. 18. ROV:ns beräknade referenssignaler i autonom drift. Detta är dock ej implementerat och kommer därför inte att visa något. Figur 2: ROV:ns grafiska användargränssnitt, där GUI-element är numrerade. Deras funktion kan utläsas i avsnitt 5.1. 5.2 Testsignaler De testsignaler som kan skickas genom GUI:t är följande: En ramp som går från 0 till ± 2.5 volt på främre motorn och från 0 till 2.5 volt med motsatt tecken på bakre motorn. Rampen ökar linjärt under 10 sekunder från 0 till ± 2.5 volt, sedan slås styrsignalen av. En ramp som går från 0 till ± 2.5 volt på främre motorn och från 0 till 2.5, med motsatt tecken, på bakre motorn. Styrsignalen ökar linjärt från 0 till ± 2.5 volt under 10 sekunder, sedan minskar styrsignalen linjärt från ± 2.5 till 0 volt under ytterligare 10 sekunder. Dessa fyra testsignaler kan väljas att skickas i pitch- eller yawled, sidled eller djupled. Totalt sett kan därför 16 alternativ väljas i flervalsalternativet vid siffra 7 i figur 2.
5 5.3 Parametrar För att sätta parametrar för den decentraliserade regulatorn, kan användaren skriva in filnamnet för en textfil i rutan brevid knappen Load parameters. Parameterfilen ska ligga i mappen /rov/kod/rov workspace/ med en struktur enligt följande: %Date: %_pid/lq_parameters:k_theta,ti_theta,td_theta,k_psi,ti_psi,td_psi 2.0 5.0 0.5 10.0 1.0 1.0 För beskrivning av parametrarna för den decentraliserade regulatorn, se Martin Lindfors m.fl. [1]. 5.4 Varningar GUI:t ger varningar i form av ett popup-fönster när någon batterispänning eller läckagesensorns värden inte ser normala ut. Om någon batterispänning skulle understiga 3.4 V eller om den totala batterispänningen skulle understiga 20.4 V, ger GUI:t en varning. Batterispänningarna får inte bli för låga, eftersom batterierna då kan förstöras. GUI:t ger varning även om spänningen endast understiger gränsvärdet vid en enskild tidspunkt. Kontrollera därför i GUI:t om batterispänningens stadigvarande ligger under gränsvärdet. Stäng i så fall av ROV:n enligt kapitel 6 och ladda batterierna. Om det skulle komma in vatten i kapseln som innehåller elektroniken, detekterar läckagesensorn detta och en varning visas i GUI:t. Eftersom elektroniken riskerar att förstöras är det viktigt att då ta upp ROV:n till ytan och avlägsna den från vattnet. Försök att hålla ROV:n i horisontellt läge för att undvika att vattnet skvalpar runt under frakt till ett torrare utrymme. Den kan då öppnas och de eventuella fuktskadorna kan åtgärdas. 5.5 Manuell och stabiliserad drift ROV:n kan köras i antingen manuell eller stabiliserad drift. Detta läge kan ändras genom att välja antingen Manual eller Stable i figur 2 vid siffra 9 och trycka på Send mode. 5.5.1 Manuell drift När ROV:n körs i manuell drift kan den styras med en Xbox-kontroll. Hur knapparna på Xbox-kontrollen är mappade beskrivs i tabell 1.
6 Figur 3: En bild av Xbox-kontrollen. Siffrorna finns förklarade i tabell 1 och 2 Tabell 1: Mappningen av Xbox-kontrollen i manuellt läge. Numreringen refererar till siffrorna i figur 3 Knapp Funktion A Används ej B Används vid uppstart av reläerna. X Används för att ändra hastigheten. Y Lampan på ROV:n av/på. 1 Aktermotorn bakåt. 2 Aktermotorn framåt. 3 Används för att tillsammans med den röda B-knappen slå på reläerna för motorerna i manuellt läge. 5 Styr de främre motorerna. 6 Styr de bakre motorerna. 7 Används ej 8 Används ej 9 Används ej 5.5.2 Stabiliserad drift När ROV:n körs i stabiliserad drift kan val av regulator ändras genom att i figur 2 vid siffran 10, välja LQ (Linjärkvadratiska regulatorn) eller Dec (Decentraliserade regulatorn) och trycka på Send mode. Båda regulatorerna kan styras genom att skriva in referensvärden i GUI:ts avsedda textfält. Den decentraliserade regulatorn kan även styras genom Xbox-kontrollen. För att ställa in referensvärden för regulatorerna, skriv in önskade värden i textfälten i GUI:t. Textfälten för den decentraliserade regulatorn finns lokaliserad vid siffra 14 och de för LQ regulatorn vid siffra 15 i figur 2. Alla textfält måste vara ifyllda innan man klickar på Send ref-sig-knappen. Decimaltal skrivs med decimalpunkt,.. Endast siffror och. är godkända inmatningsvärden. När den decentraliserade regulatorn styrs med Xbox-kontrollen, är knapparna mappade enliget tabell2.
7 Tabell 2: Mappningen av Xbox-kontrollen när den decentraliserade regulatorn används. Numreringen refererar till siffrorna i figur 3 Knapp Funktion A Används ej B Används vid uppstart av reläerna. X Används för att ändra hastigheten. Y Lampan på ROV:n av/på. 1 Aktermotorn bakåt. 2 Aktermotorn framåt. 3 Används för att tillsammans med den röda B-knappen slå på reläerna i manuellt läge. 5 Styr orientering i pitch-ledd vid upp/ned och yaw-ledd vänster/höger. 6 Styr ROV:n upp/ned vid upp/ned och vänster/höger vid vänster/höger. 7 Används ej 8 Används ej 9 Används ej 5.6 Loggning av data För att kunna analysera körningen i efterhand kan man logga data, som då skrivs till textfiler. För att börja logga data, klicka i rutan vid Log data vid siffran 11 i figur 2 och tryck på Send mode vid siffran 8. För att sluta logga, upprepa samma sak. Filerna som skapas har datum och klockslag för loggningen och sparas på interna PC:n i: /home/auv/rov/kod/rov workspace/control /home/auv/rov/kod/rov workspace/sensor /home/auv/rov/kod/rov workspace/com/logfiles 5.7 Säkerhet Det finns en säkerhetsfunktion på ROV:n för att kunna avbryta om något går fel. Säkerhetsfunktionen innebär att ROV:n avbryter den pågående aktiviteten och stiger långsamt upp till ytan i horisontellt läge. Funktionen kan aktiveras genom att trycka på knappen Emergency! i GUI:t. Den aktiveras även automatiskt om ROV:n av någon anledning tappar kontakten med GUI:t. Det går även att bryta strömförsörjningen till ROV:n genom att dra ur magneten ur hålet på ovansidan av ROV:n. Detta medför att ROV:n stängs av. 5.8 Vanliga problem När man skickar nya refernsvärden i GUI:t uppstår det problem om man inte fyller i samtliga fält på ett korrekt sätt. Starta då om ROV:n enligt kapitel 4 och se till att nästa gång fylla i godkända inmatningavärden enligt kapitel 5.5.2 och sätt inmatningsvärdet till 0 i de fält där inget annat värde önskas. Om GUI:t stängs ned fortsätter inte ROV:n att köra som innan, utan aktiverar säkerhetsfunktionen och stiger upp till ytan.
8 6 Stäng av ROV:n Tryck Stop i GUI:t. Stäng ned alla fönster som har öppnats på den interna PC:n. Stäng varken ned GUI:t eller det ursprungliga terminalfönstret på den externa PC:n. Stäng ned GUI:t. Dra ut magneten. Nu är ROV:n avstängd. Referenser [1] TSRT10, Martin Lindfors m.fl. (2013), Teknisk rapport Remotely Operated Underwater Vehicle, verision 0.1.