Skip to end of metadata
Go to start of metadata

A FallDown3D nevű Android játékom az eszközökben lévő gyorsulásmérő szenzorra alapoz, a játékosnak egészen finom mozdulatokkal kell döntögetnie a telefonját, hogy a zuhanás irányát befolyásolni tudja. Bár van némi pontatlansága, amely miatt rendszeresen kalibrálni kell egy vízszintes felületen, de a relatív érzékenysége nagyon jó ezeknek a szenzoroknak.

Méréstechnikát és egyéb folyamatirányítással összefüggő tantárgyat tanulván itt jegyezném meg, hogy az emberek elképzelése a mérőeszközök – főleg a szobamérlegek – tekintetében nem mindig fedi a valóságot. A szobamérleget górcső alá téve azt kell látnunk, hogy a felbontása 100g, ami a köznapi ember számára azt jelenti, hogy a rá tett 60,5 kg tömegű tárgy esetén 60,5 kg eredményt fog mutatni, míg a rá tett 60,6 kg esetén 60,6 kg lesz a kiírt szám. Na, ez így nem igaz.

A 100g felbontás azt jelenti, hogy a mérlegünk ekkora ugrásokban tudja kijelezni a mért értéket... ám a pontossága, a precízitása, illetve a torzítása jelentősen eltérhet ettől az értéktől, ezek összességét sokszor relatív hiba néven szokták leírni, ám ezt sok esetben nem találjuk meg egy szobamérlegen. Az olcsóbb szobamérlegek relatív pontossága akár ±2% is lehet, amely azt jelenti, hogy egy 100 kg tömegű emberre 98 és 102 kg között bármit kiírhat a környezeti viszonyok, vagy a belső lelkivilága függvényében. Általában szobahőmérsékleten mindegyik mérleg egy rá jellemző relatív hibával mér egy adott súlyt, a relatív pontosságuk – a jó felbontásnak köszönhetően – megfelelő ahhoz, hogy az ember követni tudja a testsúlyának változását.

Visszatérve a gyorsulásmérő szenzorra és a játékra... sajnos a FallDown3D nem játszható buszon, villamoson, metrón vagy autóban ülve, mivel az apró és finom rezdülések már befolyásolják az esés irányát, így a játékos nem tudja pontosan megcélozni a rést, amelyen át kell férnie. Ebből jött az ötlet, hogy a gyorsulásmérővel lehet mérni az utak minőségét... (smile)

A feladat a mobil részéről annyi, hogy lementse a gyorsulásmérő szenzor által szolgáltatott adatokat, az én részemről annyi, hogy az autóval együtt mozgó és viszonylag vízszintes ponthoz rögzítsem a mobilt, majd feldolgozzam az adatsorokat és levonjak belőle bizonyos következtetéseket.

Az első ilyen alkalom a Megyeri-hídon történt, amelynél figyelmesen vezetve lehet érezni az úttesten egy finom hullámzást, egyébként az út minősége kielégítő – alig két éve adták át a forgalomnak – a simasága ellenére néhány helyen vannak nem várt mélyedések, és itt nem kátyúra kell gondolni, hanem az útpálya görbültségére. A szabályos hullázást a híd szerkezete okozza, ahogy két ferdekábeles-felfüggesztés között kicsit megsüllyed a pálya: a hídon van 4x11 ilyen felfüggesztés, illetve a két pilon is okoz ilyen hullámzást (a képre kattintva meg lehet tekinteni eredeti méretben):

A kép két szélén a szürkítés a dilatációs hézag okozta belengést mutatja, a középső vékonyabb szürkítés a két pilon által tartott útpálya érintkezési pontja, a maradék kettő – szélesebb – szürkítés pedig a pilonok által tartott útpályát mutatja, a 44 zöld pont pedig a ferdekábeles felfüggesztési pontokat.

Mivel a feldolgozó program és a grafikon rajzolása már kész, hamarosan egyéb helyeket is meg tudok mérni... ha megtetszik a dolog, akkor írok rá valami egyszerű programot... a legtöbb problémát egyébként a pontos hely meghatározása okozza, mivel csak időket ismerünk, saccolni – vagy mérni – kell az időből az útpálya pontjait... (smile)

      
      
Page viewed times

6 Comments

  1. Anonymous

    GPS a pontokhoz?

    1. Auth Gábor AUTHOR

      Tervben van, de egyelőre nem volt GPS rögzítés... (smile)

      Ha lesz időm, akkor ebből egy GoogleMaps térképre rajzoló program lesz... ha lesz időm... (smile)

  2. Anonymous

  3. A gyorsulásmérő rögzítésére szolgáló program érdekelne. Hogy csináltad, milyen eszközökkel? Esetleg megosztod velünk?

    1. Auth Gábor AUTHOR

      Magában az Android telefonban van gyorsulásmérő szenzor (G-sensor), ezt lekérdezni kb. három sornyi program:

          sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE);
          sensorList = sensorMgr.getSensorList(Sensor.TYPE_ACCELEROMETER);
          sensorMgr.registerListener((SensorEventListener) this, sensorList.get(0), SensorManager.SENSOR_DELAY_GAME);
      

      Ezek után a SensorEventListener példány onSensorChanged metódusa meghívódik, ahol le tudjuk kérdezni a szenzor értékeit.

      Nem túl nagy program a "mérést" végző program, gyakorlatilag kiírtam egy fájlba a mért értékeket a pontos eltelt idővel – ami egy System.nanoTime hívás, és kész is volt a program. (smile)

      Egyébként van már kátyúbejelentő program is Android-ra, ami nagyobb döccentést mérve megnézi a döccenés GPS koordinátáit, majd ír egy email-t az út fenntartójának... (smile)

  4. Anonymous

    ez a hullámzás motorral 180-190km/h óránál úgy néz ki, hogy szinte folyamatosan üt a kormány, olyan gyorsan mozog a teleszkóp fel-le.. ennél gyorsabban emiatt még sosem mertem átmenni rajta, mert nagyon hullámzik (smile)