• No results found

3.8 Automatiserad mjuk nedställning av material

3.8.8 Kombinering av kontinuerlig och diskret solver

För att den utvecklade reglerfunktionen skulle kunna användas för implementering i traktorns ECU var det ett krav att C-kodsgenerering i Simulink var möjligt. Funktionsalgoritmen skulle därför behöva använda en diskret solver, samtidigt som plantmodellen inte kunde simuleras med annat än kontinuerlig variabel solver. Detta löstes genom att låta reglerloopen med plantmodel- len ligga i ett huvudprojekt och i detta projekt endast inkludera modellreferenser till separata projekt med reglerfunktionens beståndsdelar. I de separata projekten kunde diskret solver använ- das. Genom att separera systemen på detta vis kunde plantmodellen simuleras med kontinuerlig solver med variabelt steg och reglerfunktionen simuleras med diskret solver.

Reglerblockets diskreta styrsignal till den kontinuerliga plantmodellen omvandlades från diskret till kontinuerlig tid med S-function blocket ”d2c”. Blocket konverterar en diskret signal med dis- kontinuiteter till kontinuerlig tid genom att approximera den diskreta signalen med en styckvis linjär interpolerad kurva.

4

Resultat

I tabell 2 visas de krav som ställdes i början av arbetet och om de uppfyllts eller inte. Tabell 2 – Resultat av kravspecifikation.

Krav nr Kravbeskrivning Prioritet Uppfyllt

1 Med en tidigare modell av frontlastare som utgångspunkt utveckla en komplett plantmodell i MATLAB Simulink för Ålös frontlastare Quicke Q5M med tillhörande hyd- raulik och mekanik

1 Ja

2 Utveckla en reglerteknisk styrsystemfunktion för auto- matiserad mjuk nedställning av material i MATLAB Si- mulink

1 Ja

3 Simuleringsmodell, inklusive reglerfunktion, ska kunna hantera nya indata med periodtid 10 ms på Ålös datorer

2 Ja

4 Maximal exekveringstid för reglerloopen tillåts vara 1 ms på Ålös styrsystem.

2 Nej

5 Reglerfunktionen ska vara stabil, ingen ryckighet ska upplevas vid test

3 Ja

6 All utveckling i Simulink ska följa Ålös interna regelverk ”Simulink Design Guideline”

3 Ja

7 Implementation och demonstration av reglerfunktionen i ett komplett styrsystem i en traktor i verkligheten

3 Nej

8 Dokumentation i form av examensrapport på svenska 1 Ja Krav 1 och 2 uppfylldes eftersom både en simuleringsmodell och en reglerfunktion utveckla- des. Krav 3 uppfylldes eftersom simuleringsmodellen, inklusive reglerfunktionen, kunde animeras i realtid på Ålös datorer. Krav 4 kunde aldrig utvärderas eftersom test i traktor inte hanns med. Krav 5 uppfylldes i och med att reglerfunktionen i simuleringen betedde sig mjukt. Reglerfunk- tionen testades dock inte i traktor i verkligheten. Krav 6 är uppfyllt eftersom designreglerna följdes. Krav 7 uppfylldes inte eftersom det inte fanns tid till att testa reglerfunktionen i traktor i verkligheten. Krav 8 uppfylldes i och med att en examensrapport på svenska skrevs.

4.1 Signalbehandling

Ett exempel på hur estimeringarna hanterade ett medelstort vitt brus adderat till vinkelgivarens utsignal, något större än det som noterats i Ålös loggar, visas i Fig 22.

Figur 22 – Jämförelse i simulering mellan sann hastighet, estimerad hastighet och estimerad acceleration givet vinkelposition. I graferna till höger har ett vitt brus med medeleffekt adderats till det första estimeringsblockets insignal. Brusets förstärks för varje derivering.

En jämförelse mellan den diskreta styrsignalen i reglerloopen ofiltrerad, filtrerad med diskret lågpassfilter med brytfrekvens 100 Hz, filtrerad med kontinuerlig överföringsfunktion motsva- rande lågpassfilter med brytfrekvens 100 Hz, samt omvandlad med d2c-blocket visas i tabell 3. Relativ feltolerans var inställd på 0.1 %. Ur tabellen utläses att d2c gav lägst Run/Sim tidskvot, antal steg, solver resets, Newton iteration exceptions samtidigt som högst medelvärde stegstor- lek, max stegstorlek användning och näst lägst antal error exceptions. Eftersom simuleringarna gjordes med implicita solvers vars princip bygger på att utföra mer arbete varje steg än andra metoder är det viktigt att de i utbyte istället kan ta större steg. Höga värden för stegstorlek och max stegstorlek användning är därför önskvärt. Antalet solver resets, Newton itereration exceptions och error control exceptions önskas minimeras.

Tabell 3 – Jämförelse av simuleringsstatistik för olika behandlingar av den diskreta styrsignalen mellan kontrollblock och plantmodell.

Behandling styrsignal Ingen LP kontinuerlig LP diskret d2c

Run/Sim tidskvot 2.83 1.66 1.46 1.01

Antal steg 11217 6368 6368 5441

Medelvärde stegstorlek (ms) 2.67 4.71 4.71 5.51

Max stegstorlek (ms) 10 10 10 10

Max stegstorlek användning (%) 20.10 36.29 43.68 45.56

Antal solver resets 996 733 733 105

Antal Newton iteration exceptions 2518 1424 1424 1271

4.2 Lösning i Simulink

En implicit solver med variabelt tidsteg var tvunget att användas för att plantmodellen skulle kunna lösas korrekt. ODE23t erhöll snabbast simuleringstid vid jämförelse med den andra till- gängliga implicita solvern ODE15s, se tabell 4 och tabell 5. När den relativa feltoleransen ökas kan solvern ta större steg vilket ger ett högre medelvärde på stegstorlek. Det resulterar i färre steg, större stegstorlek, större användning av max stegstorlek och en lägre Run/Sim tidskvot.

Tabell 4 – Jämförelse mellan solvers där en nedställning av material simulerats under 30 sekunder med 1% relativ feltolerans.

Solver ODE23t (1%) ODE15s (1%)

Run/Sim tidskvot 0.86 0.99

Antal steg 4491 7596

Medelvärde stegstorlek (ms) 6.68 3.95

Max stegstorlek (ms) 10 10

Max stegstorlek användning (%) 61.70 0

Tabell 5 – Jämförelse mellan solvers där en nedställning av material simulerats under 30 sekunder med 0.1% relativ feltolerans.

Solver ODE23t (0.1%) ODE15s (0.1%)

Run/Sim tidskvot 1.01 1.09

Antal steg 5441 8886

Medelvärde stegstorlek (ms) 5.51 3.38

Max stegstorlek (ms) 10 10

Max stegstorlek användning (%) 45.56 0.12

Jämförelser där ODE23t med och utan adaptiv algoritm för nollgenomgångar testats visas i tabell 6 och 7. Den adaptiva algoritmen gav lägre Run/Sim tidskvot i båda fall och valdes att användas för plantmodell och reglerfunktion.

Tabell 6 – Jämförelse mellan adaptiv och icke adaptiv algoritm för nollgenomgångar där ned- ställning av material simulerats under 30 sekunder med 1% relativ feltolerans.

Algoritm nollgenomgång Adaptiv (1%) Icke adaptiv (1%)

Run/Sim tidskvot 0.86 0.95

Antal steg 4491 4534

Medelvärde stegstorlek (ms) 6.68 6.62

Max stegstorlek (ms) 10 10

Max stegstorlek användning (%) 61.70 61.14

Tabell 7 – Jämförelse mellan adaptiv och icke adaptiv algoritm för nollgenomgångar där ned- ställning av material simulerats under 30 sekunder med 0.1% relativ feltolerans.

Algoritm nollgenomgång Adaptiv (0.1%) Icke adaptiv (0.1%)

Run/Sim tidskvot 1.01 1.11

Antal steg 5441 5427

Medelvärde stegstorlek (ms) 5.51 5.53

4.3 Simuleringsmodell

Plantmodellen renderad i 3D visas i Fig 23.

Figur 23 – Plantmodellen renderad i 3D.

En bildsekvens från en 3D-simulering av plantmodellen med redskap påkopplat visas i Fig 24

Simulering av pumptryck, LS-signal och avvikelse från ∆P , där ∆P = 20, visas i Fig 25. Komponentkod för LS-shuntens komponentblock återfinns i Appendix A.

Figur 25 – LS-regulatorn styr pumptrycket till att eftersträva en trycknivå motsvarande LS-signal + ∆P , där ∆P = 20 bar.

Frontlastaren simulerades där den utförde fullt utslag på både lift och tilt i båda riktningar över en simuleringstid på 30 sekunder. Simuleringsstatistik för solver med 1 % och 0.1 % relativ feltolerans visas i Fig 26. Båda toleransnivåer gav en korrekt lösning av plantmodellen. Figuren visar att mindre steg tas vid t=0 oavsett relativ feltolerans, vilket resulterar i en simulering som där inte klarar att simuleras i realtid. Tabell 8 visar tillhörande simuleringsstatistik för Fig 26. Även om Run/Sim tidskvoten är över 1 för relativ feltolerans 0.1 % så var animeringen, efter insvängningsförloppet som i början höjer kvoten, ändå i realtid.

(a) Stegstorlek för relativ tolerans 1%. (b) Stegstorlek för relativ tolerans 0.1%. Figur 26 – Stegstorlek för simulering av frontlastaren med 1% och 0.1% relativ feltolerans.

Tabell 8 – Simuleringsstatistik plantmodell. Relativ feltolerans (%) 1 0.1

Run/Sim tidskvot 0.98 1.10

Antal steg 4169 6121

Medelvärde stegstorlek (ms) 7.20 4.90

En schematisk bild av hela plantmodellen i Simulink återfinns i Appendix B och hela den mekaniska modellen i Appendix C.

4.4 Automatisk nedställning

Frontlastaren med redskap, material och mark renderad i 3D visas i Fig 27.

Figur 27 – Frontlastaren med redskap, material och mark att ställa ned materialet på.

En bildsekvens från simulering där frontlastaren ställde ned material på mark visas i Fig 28

Figur 28 – Bildsekvens där frontlastaren ställde ned material och automatiskt stannade vid kontakt med marken.

Plantmodellen simulerades där den lyfte upp och sedan ställde ned 500 kg material automa- tiskt med hjälp av reglerfunktionen över en simuleringstid på 30 sekunder. Simuleringsstatistik för solver med 1 % och 0.1 % relativ feltolerans visas i Fig 29 och tabell 9. Eftersom den dis- kreta lösaren uppdateras var 10:e ms är också max stegstorlek 10 ms. Den variabla lösaren för plantmodellen tar ofta mindre steg än 10 ms, vilket går att utläsa av att användningen av max stegstorlek ökar vid högre feltolerans. Eftersom plantmodellen användes i reglerloopen höjs

(a) Stegstorlek för relativ tolerans 1 %. (b) Stegstorlek för relativ tolerans 0.1 %. Figur 29 – Stegstorlek för simulering av frontlastaren med reglerfunktion för automatisk ned- ställning med 1% och 0.1% relativ feltolerans.

Tabell 9 – Simuleringsstatistik för frontlastaren med reglerfunktion för automatisk nedställning med 1% och 0.1% relativ feltolerans.

Relativ feltolerans (%) 1 0.1

Run/Sim tidskvot 0.86 1.01

Antal steg 4491 5441

Medelvärde stegstorlek (ms) 6.68 5.51

Max stegstorlek (ms) 10 10

Max stegstorlek användning (%) 61.70 45.56

En jämförelse mellan icke reglerad och reglerad nedställning av material visas i Fig 30. Vid icke reglerad nedställning hålls styrsignalen konstant trots att materialtet tagit i marken vilket gör att differenstrycket P över liftcylindrarna går ned till negativt maxtryck och saturerar. I den reglerade nedställningen rampas styrsignalen ned till 0 vilket avslutar nedställningskommandot och P stabiliserar sig istället på en positiv normal nivå så som önskat. I båda figurer visas utöver trycket P även de två andra mätvärden från frontlastarens sensorer som algoritmen använder för att detektera kollision med underlag, ˙P och ˙ω. Vid kollisionen går trycket P ned till en mycket lägre nivå än tidigare och eftersom det går snabbt så visar ˙P en kraftig negativ spik. Vinkelgivarna visar också på en retardation eftersom ˙ω är negativ.

Figur 30 – Nyckelvariabler från två simuleringar där frontlastaren med 500 kg material styrts ned i marken, med och utan automatisk nedställningsfunktion aktiverad.

ned material med massa 0 kg, 100 kg, 500 kg och 1000 kg visas i Fig 31. I figuren visas det när en kollision detekteras och att kollisionsflaggan då sätts till 1. Z pos (lastens höjden över mark) ska då vara 0, vilket den är i alla fall förutom i grafen med 0 kg last. Vid nedställning av material under 75 kg gav detektionsalgoritmen i simuleringarna av plantmodellen mellan 2-23 mm för tidigt utslag. Desto lättare materialet var desto högre upp gavs det felaktiga utslaget. Vid detektion rampas styrsignalen ned till 0 och differenstrycket P över liftcylindrarna stabiliserar sig på en normal positiv trycknivå. Vid 100 kg last eller mindre tar denna stabilisering längre tid eftersom oscillationer i trycknivån uppstår, vilket visas i grafen med 0 kg last.

Figur 31 – Nyckelvariabler för reglerfunktionen när plantmodellen automatiskt ställt ned material med massa 0 kg, 100 kg, 500 kg och 1000 kg.

Nyckelvariabler för reglerfunktionen när den simulerade plantmodellen automatiskt ställt ned material med hög fart och med hög lastvikt visas i Fig 32. I båda fall visas det att kollision detekteras korrekt då Z pos = 0 och att P stabiliserar sig som önskat på en normal, positiv trycknivå.

Figur 32 – Nyckelvariabler för reglerfunktionen när plantmodellen automatiskt ställt ned material snabbt med massa 500 kg och medelsnabbt med massa 2000 kg.

Nyckelvariabler för estimerings- och detektionsalgoritmen applicerad på Ålös loggar från ned- ställning med riktig traktor visas i Fig 33. Algoritmen testades på loggar där material ställdes ned med både medelhög och långsam fart. Kollisioner vid medelhög fart detekterades korrekt eftersom kollisionsflaggan höjdes när P nått en låg nivå samtidigt som en negativ förändrings- hastighet ˙P och retardation i ˙w observerades. Vid låg fart detekterades inte någon kollision.

Figur 33 – Nyckelvariabler för estimerings- och detektionsalgoritmen applicerad på Ålös nedställ- ningsloggar från riktig traktor.

Algoritmen testades även mot loggar från nedställning med riktig traktor där en frontlas- tare med lastdämpning använts, se Fig 34. I dessa tester kunde inte någon kollision med mark detekteras vilket i figuren visas genom att kollisionsflaggan aldrig sätts till 1.

Figur 34 – Nyckelvariabler för estimerings- och detektionsalgoritmen applicerad på Ålös nedställ- ningsloggar från riktig traktor. Frontlastaren hade aktiverad lastdämpning.

5

Diskussion

5.1 Utvärdering av metoder och resultat

Genom att skapa och sedan återanvända komponentblock från ett eget Simscape library kun- de det säkerställas att alla komponenter som skulle vara identiska faktiskt också var det. Det kunde annars lätt hända att någon liten ändring gjordes i ett av flera större block och sedan glömdes bort. En sådan bugg hade kunnat vara både svårupptäckt och tidsödande. Det hände också under utvecklingens gång att ändringar behövde göras på redan modellerade subsystem. Om ändringen endast behövde göras en gång i ett komponentblock i biblioteket gjorde det utvecklingen snabbare.

Related documents