Industrielle styresystemer - Wiki
Robot arm kontrolleren gir ut verdier fra 0 til 1023 for 0 til 360 grader
samtidig som at RoboDk simulasjonen tar imot vinkler fra - 2*PI til 2*PI for 2 rotasjoner.
Dette gjør at vi må bruke en skaleringsfunksjon for å få outputen til robot arm kontrolleren tilpasset inputen til UR-roboten.
Skalering funskjonen
For dette prosjektet blir det brukt 3 skalerings fonksjoner for hver encoder input for å utnytte fullt at robotoen har mulighet til å gjøre 2 hele omdreininger.
Med kunn en skaleringfunksjon hadde vi fått problemer på grunn av at i tilfellet hvor robot arm kontrolleren gikk 1 posisjon fra å levere 1023 til 0, for en absolut encoder, ville UR roboten rotert fra negativ PI til PI.
Bildet under viser et utklipp av hvordan problemet blir håndtert i CodeSys.
Vi oppretter en initialtilstand og tilstand for når encoderen har gått fra 1023 til 0 og en annen tilstand for når encoderen har blitt rotert den andre veien og går fra 1023 til 0.
Hver av disse tilstandene har egen skaleringfunksjon for posisjonssignal fra encoder.
I initialtilstanden blir 0 til 1023 skalert til negativ PI til PI.
I tilstanden, for etter en utført omdreinging fra 1023 til 0, blir 0 til 511 skalert til PI til 2 PI.
I tilstanden, for etter en utført omdreinging fra 0 til 1023, blir 512 til 1023 skalert fra negativ 2 PI til negativ PI .
Det er også blitt laget endestoppfunksjon ettersom at UR5e roboten ikke går lenger enn fra -2 PI til 2 PI .
Til tross for at dette kunne vise seg å være en solid måte å skalere valgte vi å bruke metoden som er beskrivd i 24_3 Scaling.