Budapesti Műszaki és Gazdaságtudományi Egyetem, Építőmérnöki Kar 2006. évi Tudományos Diákköri Konferencia www.vit.bme.hu/tdk/2006
Vonatok pályán elfoglalt helyzetének sorozatos meghatározása műholdas helyzetazonosító rendszerrel Szerző:
Ferencz Viktória:
[email protected], építőmérnök hallgató
Konzulensek:
Dr Zobory István, egyetemi tanár, BME Vasúti Járművek Tanszék Dr Takács Bence, egyetemi adjunktus, BME Általános Felsőgeodézia Tanszék
és
Tartalom: A dolgozat egy olyan programrendszert mutat be, amely a vasúti személyszállításban széleskörben alkalmazott ütemes menetrendet, korszerű járműüzemeltetési elveket és járműparkot feltételezve képes biztosítani az ágazat fenntartható fejlődését. Célja egy olyan részprogram fejlesztése MATLAB alatt, amely folyamatosan képes koordinátákat biztosítani a vasúti üzemeltetés optimalizálására szolgáló szimulációs főprogram számára. A koordináták mérése tesztüzemmódban működő navigációs GPS vevő alkalmazásával valósult meg, a részprogram egyszerűen meghívható alkalmazásként került kifejlesztésre. Az eszközök közötti kommunikációs kapcsolatot az NMEA adatok jelentik, amelyek közül a fontosabb mondatok jelentésének ismertetése megtalálható a dolgozatban. Az alprogram – azaz a koordináta transzformáció – teszteléséhez magyarországi, ismert EOV és WGS-84 koordinátájú GPS pontok kerültek felhasználásra. A távlati cél az, hogy a főprogram és a részprogram „online” működése valósuljon meg a jelenleg kifejlesztett „félonline” megoldással szemben. Viktória Ferencz: Developing MATLAB program for determining of location of railcars using GPS receiver Abstract: The goal of the study was to develop a program under MATLAB for handle online process of receiving GPS coordinates. In practice this program will a part of a simulation program whom aim is to optimalize operation of railcars. The additional program is easy to call from an another program because it separates 3 functions. Actually this is not ready, because there is an intermediate step in the communication process. The base of the interface are the different NMEA sentenses have sent by GPS receiver to MATLAB via ‘COM1’ port. Input data of program are WGS-84 geographical ellipsoidal coordinates and output are EOV coordinates and altitude. I used 7 transformation parameters to realize the conformity transformation between WGS-84 and IUGG-67 systems. – Cite as: Viktoria Ferencz: Developing MATLAB program for determining of location of railcars using GPS receiver. WWW Proceedings of the Scientific Student Conference, Budapest University of Technology and Economics, Faculty of Civil Engineering, 2006. (in Hungarian), otka0.vit.bme.hu/tdk/2006 Budapest, 2006. december 12.
2
Tartalomjegyzék
1 2
3
4 5
6 7 8
Bevezetés ...................................................................................................................... 5 A vasúti „pálya-jármű” rendszer...................................................................................... 6 2.1 Közlekedéskinematika [4] ...................................................................................... 6 2.2 Közlekedéskinetika [5] ........................................................................................... 7 2.3 Vasúti jármű szabálytalan mozgásai [5] ................................................................. 9 Problémaelemzés – a műholdas adatok szerepe ..........................................................11 1.1. Az elővárosi közlekedés jővője [3].........................................................................11 1.2. Az ütemes menetrend ...........................................................................................13 1.3. A GPS adatok szerepe..........................................................................................15 NMEA interface-formátum [8] ........................................................................................18 Programillesztések feltételei és megvalósítása .............................................................21 5.1 Az alprogram megvalósítása.................................................................................21 5.1.1 MATLAB interface kezelés ................................................................................21 5.1.2 A „fél-onlie” rendszer megvalósítása .................................................................23 5.1.3 A szükséges adatok kiemelése a szöveges állományból...................................25 5.1.4 A „checksum” karakter ellenőrzése ...................................................................26 5.1.5 A transzformációs számítások végrehajtása [2] ................................................29 5.2 Az alprogram önálló működése.............................................................................32 5.3 A programok együttműködése ..............................................................................38 A vonatok folyamatos helymeghatározása, mint lehetséges építőmérnöki alkalmazás..39 Következtetések és kitekintés........................................................................................43 Irodalomjegyzék ............................................................................................................45
3
4
1 Bevezetés
A dolgozat célja egy olyan program létrehozása MATLAB alatt, amely folyamatosan biztosítani képes egy mozgó vonat X,Y,Z koordinátáit GPS vevő segítségével. A feladat tulajdonképpen nem új, hiszen az EU országaiban – és Magyarországon is – a GPS
felhasználása
a
közlekedés
területén
meglehetősen
változatos.
A
BME
Közlekedésmérnöki Karának Vasúti Járművek Tanszékével együttműködve azonban a feladat más megvilágítást kap, mivel a GPS koordinátákat egy már meglévő, a vasúti járművek üzemeltetésének optimalizálását célzó program igényli. A célalkalmazás egy „online” rendszert jelent, amelyet folyamatosan fejlesztenek. Jelen dolgozat ebből egy részprobléma bemutatására és megoldására tett javaslatot, illetve néhány kezdeti eredményt tartalmaz. A tanulmány 2. fejezetében bemutatásra kerülnek a vasúti pálya-jármű rendszer alapismeretei, a vasúti pályán közlekedő jármű szabályos és szabálytalan mozgásai. A 3. fejezet az elővárosi közlekedés fejlesztési koncepcióit mutatja be Budapest környékére vonatkozóan. Szót ejt még az ütemes menetrend fontosságáról és a korszerű motorkocsik előnyeiről a hagyományos vontató mozdonyokkal szemben. Szintén ebben a fejezetben található az, hogy tulajdonképpen miért elkerülhetetlen a GPS használata – és az általa biztosított pontos pozíció meghatározása – a bemutatott alkalmazásban. A 4. fejezet mutatja be részletesen a szabványos NMEA formátumú üzeneteket, amelyek ismerete elengedhetetlen a feladat megoldásához. Az általam létrehozott program működését részletesen az 5. fejezet tárgyalja, amely a megvalósítás szinte minden lépését bemutatja az „interface”-től kezdve a vetületi átszámításokig. Ugyancsak ebben a részben található ennek a kódnak, mint önállóan is működő egységnek a szemléltetése, valamint a főprogrammal való együttműködésének megvalósítása. A probléma elemezhető tisztán építőmérnöki szemmel is, ennek lehetőségét taglalja a 6. fejezet. Az alkalmazás jövőjéről és a fejlesztési lehetőségekről ad kitekintést az utolsó, a 7. fejezet.
5
2 A vasúti „pálya-jármű” rendszer Elméleti síkon a kötött pályás vasúti közlekedés tárgyalásakor nem elég csak a pályageometriát figyelembe venni a jármű helyzetének meghatározásához, hanem tekintettel kell lenni a rajta közlekedő járműre is. A vasúti jármű mozgása ugyanis nem feltétlenül követi egzakt módon a pályageometriát; a járműnek szabályos ill. számos szabálytalan mozgásösszetevője van a pályán való közlekedés során. Ha
a
jármű
szabálytalan
mozgásösszetevőitől
eltekintünk
is,
a
pálya-jármű
kölcsönhatásaként létrejövő dinamikai hatásokat mindenképpen figyelembe kell venni.
2.1
Közlekedéskinematika [4] A közlekedéskinematika a jármű vasúti pályán való főmozgásával (haladó mozgás) és
annak a pályageometriára gyakorolt hatásával foglalkozik. A vasúti pályát a valóságnak megfelelően térgörbeként értelmezi, a mozgást pedig, mint időben lefolyó jelenséget vizsgálja. A vasúti pályán haladó pont (pontrendszer-merev test) mozgása akkor egyértelmű, ha minden egyes időpillanatban ismerjük minden egyes pont térbeli helyzetét (vagyis a kinematikai mozgástörvényt). A pályán mozgó pont helyzetét az r = r(t) helyvektorral jellemezzük. Az idő skalár változó, amelynek minden egyes értékéhez egy vektor rendelhető (skalár-vektor függvény).
kkkk
jjjj
iiii
rrrr
A pálya-mint térgöbe- vektoregyenlete tehát
= x(t ) ⋅ + y (t ) ⋅ + z (t ) ⋅
alakban írható fel,
ahol i,j,k vektorok tengelyirányú egységvektorok.
1.ábra
6
Térbeli pont helyzetét megadó skalár-vektor függvény szemléltetése
A térgörbén mozgó ponttal együtt folyamatosan változik a kísérő triéder vektorok helyzete is. Az érintő vektort és a pillanatnyi sebességvektort a helyvektor idő szerinti első derivált vektora adja meg. A főnormális vektor a helyvektor idő szerinti második deriváltjaként adódik, a simulósíkban fekszik. Abszolút értéke a pálya görbületét határozza meg.
rrrr
d2 1 =g= 2 ρ ds A binormális egységvektor az érintő irányú és a főnormális egységvektorok vektoriális szorzataként áll elő:
nnnn tttt
bbbb
= ×
A vasúti pályán bekövetkező mozgás jellemzésére a mozgásjellemzőket használják, amit a -
sebesség (v)
-
gyorsulás (a)
-
és a harmadrendű (h) vektor ismerete jelent1.
A sebességvektor a helyvektor idő szerinti első deriváltja, amely érintő irányú és nagysága a mozgás sebességével egyező, tulajdonképpen a helyváltoztatás jellemzője. A gyorsulásvektor a sebességvektor idő szerinti első, a helyvektor idő szerinti második derivált vektoraként adható meg, a sebességváltozás jellemzője. A harmadrendű jellemző a gyorsulás változásáról ad képet, a helyvektor idő szerinti harmadik derivált vektora.
2.2
Közlekedéskinetika [5] A
közlekedéskinetika
elsőrendű
feladata
a
pályán
haladó
vasúti
jármű
mozgásállapotának meghatározása a fellépő erők hatására. Ezek az erők lehetnek aktív erők, amelyek a mozgást előidézik (pl. vonóerő), illetve lehetnek passzívak, amelyek alatt a mozgást akadályozó erőket értjük (ellenállások). A vasúti ellenállások csoportosítása a következőképpen történhet: 1.
Menetellenállás -
gördülési ellenállás
-
csapsúrlódási ellenállás
-
sínütközési ellenállás
-
levegőellenállás
1
Létezik egy negyedrendű un. „m” vektor is, amely a „h” vektor időszerinti első deriváltja, de ettől egyelőre eltekintünk.
7
2.
Járulékos ellenállások -
ívellenállás
-
emelkedési ellenállás
-
kitérő ellenállás
-
belső ellenállás
-
gépészeti ellenállás
-
gyorsítási ellenállás
A gördülési ellenállás figyelembe veszi, hogy a kerekek és a sín érintkezésénél rugalmas alakváltozások jönnek létre, ami a jármű mozgását tekintve akadályozó tényezőként jelentkezik. Nagysága egyenesen arányos a jármű súlyával, és a sebesség függvényében állandónak tekinthető. A csapágysúrlódási ellenállás nagymértékben függ a csapágy fajtájától, így – mivel napjainkban gördülő csapágyakat alkalmaznak – ennek a kezdeti kiugróan nagy hatásától eltekintenek. A sebességgel való kapcsolata közel lineárisnak tekinthető. A sínütközési ellenállás a hevederes sínillesztéseknél lép fel, a hézagnélküli pályáknál ez a hatás nem érvényesül. Értéke tapasztalati képletből meghatározható. A légellenállás fontos passzív hatás, amely több részből tevődik össze: -
mozgó jármű homlokfelületére ható levegő nyomása
-
tető- és oldalfelületekre ható levegősúrlódás
-
járművek alatt és között keletkező örvénylő mozgás
-
utolsó jármű után keletkező légritkulás.
Nagysága független a jármű súlyától, egyenesen arányos a redukált homlokfelülettel és négyzetesen arányos a jármű sebességével. A menetellenállást az összetevők szuperpozíciója adja, értéke járműtípusonként különböző. A gyakorlatban alkalmazott képleteket tapasztalati úton határozták meg -
vontató járművek (mozdonyok, motorkocsik)
-
vontatott járművek (vasúti kocsik)
-
és a teljes szerelvény esetére.
A járulékos ellenállások közül az ívellenálás a pályageometria kialakítása miatt viszonylag gyakori egy-egy pályaszakaszon. Ez a hatás tartalmazza a kerék nem tiszta gördülése miatt fellépő csúszásokat és súrlódásokat. Meglehetősen összetett, értékét sok tényező befolyásolja. Nagyságának meghatározásához tapasztalati képleteket használnak. Az emelkedési ellenállás akkor lép fel, amikor a jármű emelkedő pályán halad. Ha a vasúti járműre ható súlyerőt lejtőirányú és lejtőre merőleges összetevőkre bontjuk, akkor a lejtővel párhuzamos komponens ellenállásként jelentkezik. Ha a lejtőszög megfelelően kicsi, akkor a tgα ≈ sinα közelítés érvényesnek tekinthető.
8
A kitérőellenállás kizárólag a kitérők hosszán lép fel, ami tulajdonképpen a vasúti jármű által megtett út egy töredékét jelenti. A belső ellenállások a vonaton belül keletkező lengések, ütközések és súrlódások eredménye. Nagysága a tapasztalatok szerint egyenesen arányos a jármű sebességével. A gyorsítási ellenállás nem kifejezetten tartozik az ellenállások közé, mégis fontos szerepe lehet. A vasúti szerelvény induláskor ugyanis – bár a kifejtett vonóerő a jármű mozgási energiáját növeli – az ellenállásokon felül még a gyorsításhoz is vonóerőt fejt ki. A vonóerő a kerekek és a sín érintkezési helyén ébred, a vontató járművet meghajtó erőgép forgatónyomatékának hatására. Nagysága nem haladhatja meg az adhéziós vonóerő értékét.
2.3
Vasúti jármű szabálytalan mozgásai [5]
A vasúti járműkerék és a sínprofil geometriai kialakítása miatt a vasúti jármű a vágánytengellyel párhuzamos haladó mozgáson kívül szabálytalan mozgásokat is végez. A kígyózó mozgás a pálya síkjára merőleges tengelykörüli mozgást jelent, aminek oka a kúpos futófelületű kerékpár valamint a kerekek és sínek között meglévő méretkülönbség (oldalirányú játék). A támolygó mozgás a pályatengellyel párhuzamos tengely körüli mozgás, amelyet a két sínszál közötti magasságkülönbség és a kétoldali hordrugók eltérő mozgása okoz. A bólintó mozgás a vágány tengelyére merőleges, vízszintes tengely körüli mozgás, amelyet a sínillesztéseknél kialakuló magassági lépcső idéz elő. Ez a típusú szabálytalan mozgás a hézagnélküli vágányok esetében csaknem kiküszöbölhető. Azonban ezeknél a pályáknál a kígyózó mozgás erőteljesebben jelentkezik, amit nyomszűkítés alkalmazásával küszöbölnek ki. Az alkalmazott járműmodellek a dinamikából jól ismert rezgés-egyenletek alapján írhatók fel attól függően, hogy a rendszert csillapítottnak/csillapítatlannak tekintjük-e, illetve a gerjesztés hatásait és jellegét milyen módon vesszük figyelembe. A
többszabadságfokú
(gerjesztett,
csillapítatlan)
rezgő
rendszer
mátrix
differenciálegyenlete az alábbi alakban írható fel [7]: ..
M ⋅ x(t ) + K ⋅ x(t ) = q (t ) , ahol
M – tömegmátrix K – merevségi mátrix x(t) – tömegpontok elmozdulásai q(t) – tömegpontokra ható gerjesztő erők vektora.
9
Ha az ismertetett rendszerben csillapítás van, akkor a mátrix egyenlet kiegészül egy olyan taggal, amely a „D” csillapítási mátrixot tartalmazza az alábbiak szerint [1]:
..
.
M ⋅ x(t ) + D ⋅ x(t ) + K ⋅ x (t ) = q (t ) A vasúti szerelvényre általában az utóbbi egyenlet (mozgásegyenlet)-rendszer érvényes azzal a kiegészítéssel, hogy -
a haladó mozgásra vonatkozóan n számú tömegközéppontra írandó fel
-
a csillapítások a sebességgel arányosak
-
alkalmazni kell továbbá az elfordulásra vonatkozó egyenleteket m
számú
forgástengelyre felírva [1]. Kijelenthető tehát, hogy a jármű mozgása két összetevőből áll: egy elsődleges haladó mozgásból, és a szabálytalan mozgásokból (1. táblázat). Tengely
Transzlációs lengés
Szöglengés
X
rángatás
támolygás
Y
szitálás
bólintás
Z
rázás
kígyózás
1. táblázat
10
A vasúti jármű szabálytalan mozgásai [1]
3 Problémaelemzés – a műholdas adatok szerepe A GPS mérési technika és ennek fejlődése alkalmazások széles spektrumát tárta fel nemcsak a szakemberek, hanem bármely halandó ember számára, aki GPS vevővel rendelkezik. Azonban kijelenthető, hogy általában a GPS nem önálló alkalmazás, hanem egy komplexen kialakított szolgáltatás részeként jelenik meg a gyakorlatban. Ismert tény, hogy ezt a technikát előszeretettel alkalmazzák az interdiszciplináris tudományok szakemberei, azonban egy-egy feladat megoldása, a GPS adatok felhasználása igen jelentős erőforrást igényel mindegyik fél részéről. A működőképes komplex alkalmazás előfeltétele az, hogy a különböző tudományokban jártas szakemberek tudásuk egy részét - amely a feladat megoldásához szükséges - adják át egymásnak és működjenek együtt a cél érdekében. 3.1
Az elővárosi közlekedés jővője [3] Az EU közlekedéspolitikájában a vasúti közlekedés fejlesztése prioritást élvez mivel a ez
jelenti az eszközt a közlekedési módok közötti egyensúly kialakításához és fenntartásához. A közúti közlekedés szűk keresztmetszetei miatt a forgalom növekedésével egyenes arányban nő az eljutási idő a kiinduló és a célállomás között, amely az emberi munka kiesése, a közlekedési pálya túlzott igénybevétele valamint az időtényező végett jelentős gazdasági károkat okozhat. A Budapesten lévő 3 jelentős2 fejpályaudvart tekintve a Keleti pályaudvar bonyolítja le a fogalom csaknem 40%-át, valamint itt koncentrálódik a nemzetközi és belföldi IC forgalom is. A tömegközlekedés és a vasúti közlekedés közötti kapcsolatot fejleszteni szükséges, hogy az utazóközönség a lehető legegyszerűbb módon és legrövidebb úton tudjon átszállni egyik közlekedési eszközről a másikra. A magyarországi fejpályaudvarok az 1930-as évektől kezdve kapacitásproblémával küzdenek. A Keleti pályaudvar fejlesztési tervei jelentős többletterhelést rónak a pályaudvar fogalmára, mert -
a Budapest-Józsefváros személyszállító szerelvényeinek Keleti pályaudvarra történő átterelését jelentik
-
további viszonylatok IC vonatainak áthelyezését tervezik a Keleti pályaudvarra
-
a Keleti pályaudvarnak
részt kell vennie a budapesti
elővárosi forgalom
kialakításában és korszerűsítésében, ami jelentős többletvonat-mennyiséggel jár -
a Keleti pályaudvar a repülőtéri gyorsvasút fejállomása lesz
-
a Rákosi üzemi pályaudvar kiszolgálásának biztosítását meg kell valósítani.
2
A 4. fejpályaudvar a Józsefvárosi pályaudvar, de ennek mind kapacitása, mind kapcsolata a tömegközlekedési eszközökkel nem megfelelő. Tervek szerint a személyforgalmi szerepet a Keletipályaudvar veszi át.
11
Tanulmányok szerint ha a Bp.-Keleti pályaudvar peronvágányainak 33%-os bővítése megvalósul, akkor lehetőség nyílik kétszerannyi vonatot indítani és fogadni. Ennek azonban feltételei vannak: -
megbízható infrastruktúra
-
ütemes menetrendek
-
javuló menetrendszerűség
-
irányváltó szerelvények alkalmazása
-
zárt szerelvények közlekedtetése a nemzetközi forgalomban.
A MÁV által a közelmúltban kiírt közbeszerzési pályázat a Budapest-környéki elővárosi vonalak fejlesztését szolgálja, amely konkrétan a -
Budapest-Déli pályaudvar- Székesfehérvár
-
Budapest-Déli pályaudvar - Pusztaszabolcs és a
-
Budapest- Déli pályaudvar -Tatabánya
vonalak kiszolgálásának korszerű megoldására vonatkozott [6]. Mindezek mellett természetesen nemcsak a Keleti és Déli pályaudvar bonyolít le elővárosi forgalmat, hanem a Nyugati pályaudvar is. A növekvő utasforgalom miatt ezek a vasútvonalak is fejlesztésre szorulnak.
2.ábra
12
Elővárosi vasútvonalak Budapest környékén [11]
Az elővárosi vasútvonalak esetében szükségessé válnak olyan fejlesztések, amelyek mind az utazóközönség kényelmét, mind pedig a rendszer fejlesztési szempontjait kielégítik [11]: -
interoperábilitás3 biztosítása
-
intermodális csomópontok4 biztosítása a közlekedő utasok számára
-
kiszámítható (ütemes) menetrend
-
megfelelő csatlakozások és átszállási lehetőségek biztosítása
-
korszerű járművek, amelyekkel komfortos utazás érhető el
-
korszerű utastájékoztatási rendszer
-
optimális vágánykihasználás, járműigény és vonali kihasználás.
A felsorolt kritériumok teljesülése esetén a közúti szűk keresztmetszetek forgalma csökkenthető, hiszen a vasúti közlekedéssel hasonlóan komfortos utazásélmény érhető el, mint személygépkocsival.
3.2
Az ütemes menetrend A főprogram célja tulajdonképpen olyan ütemes menetrend biztosítása az elővárosi
vasúti közlekedés számára, amely megvalósulásban nagymértékben hasonlít a jelenleg Budapest környékén üzemeltetett helyi érdekű vasút (HÉV) menetidő-beosztásához. A közelmúltban lezajlott, MÁV által kiírt közbeszerzési pályázat kiindulási alapot biztosít az ütemes menetrend megvalósításához.
A szállításra kerülő motorvonatok
korszerű
fékrendszerrel és berendezésekkel rendelkező járművek, amelyek első felújítási illetve karbantartási idejét a lehető leghosszabb időre szükséges ütemezni. A motorvonatok alkalmazása a hagyományos mozdonyos vontatással szemben számos előnnyel rendelkezik [9]: -
fajlagosan (1 férőhelyre vetítve) kisebb tömeg miatt kedvező energiafelhasználás és pályaterhelés
-
a pályaterhelés tovább csökkenthető, ha több hajtott kerékpárt használnak a szükséges indító-vonóerő biztosításához
-
az állomási és megállóhelyi peronvágányok hossza csökken
-
a zárt motorvonati egység üzemi megbízhatósága kedvezőbb, mint a jelenlegi személyszállítási szerelvényeké (alkalomszerűen összeállított)
-
alkalmazásuk illeszkedik a korszerű elővárosi menetrend5 megvalósításához
3
Interoperábilitás: átjárhatóságot jelent pl. a különböző közlekedési rendszerek között Intermodalitás: egy közös cél érdekében együttműködő különböző rendszerek által alkotott szállítási lánc
4
13
-
a
korszerű
motorvonatok
felépítése
modul
jellegű,
így
tetszés
szerinti
befogadóképességgel gyárthatók -
a járművek egyterű kialakítása előnyös a biztonság és az energiafelhasználás szempontjából
-
az irányváltó szerelvények költség- és vágánytakarékosak.
A korszerű járművek kihasználása céljából célszerűnek látszik tehát az ütemes menetrend mellett a jármű energetikailag optimális üzemeltetése is.
3.ábra
Korszerű Stadler FLIRT motorvonat [6]
A Nyugat-Európában már évtizedek óta bevált ütemes vasúti közlekedési rendszer lényege, hogy a vonatok napközben azonos időközönként, az óra ugyanazon percében indulnak az állomásokról. A menetrend így átláthatóvá és kiszámíthatóvá válik, a járatok, illetve az utasok rendelkezésére álló ülőhelyek száma nő, a csatlakozások javításával az átszálló utasok eljutási ideje csökken. Az ütemes menetrend bevezetésével hatékonyabban működő, az utasok számára vonzó, a társadalom egésze számára a fenntartható mobilitást biztosító személyszállítási szolgáltatás alakulhat ki. [11] Az ütemes menetrend megvalósítása tulajdonképpen annyit jelent, hogy a járművek a kiinduló állomásról bizonyos
előre meghatározott
időközönként (tervezetten
10-20
percenként, illetve óránként) indulnak el, és egy olyan menetrendet kénytelenek betartani, ahol a késés/sietés nem preferált. Ez érthető is, hiszen az elővárosi vasútvonalakon a járművek egy forduló után ismét útnak indulnak (ingavonatok), és mindemellett tekintettel kell
5
A korszerű elővárosi menetrend a kisebb egységek gyakori indítását jelenti, amely gazdaságos üzemeltetést eredményez.
14
lenniük a vasúti teherszállító szerelvényekre is. Tehát a menetrend be nem tartása adott esetben beláthatatlan következményekkel járhat. Ennek hosszú távon történő fenntartásához az szükséges, hogy a kialakított üzemeltető rendszer biztosítsa a járművek energetikai szempontból való optimális kihasználását. A korszerű járművek számára-tekintettel a motorvonatok teljesítményére-alapvetően nem jelent problémát az, hogy egy adott pontban regisztrált 5-10 perces késés mellett tartani tudják az előírt menetrendet. Azt azonban, hogy milyen módon valósul meg a menetrend betartása, több, a jármű számára kedvezőtlen tényező is befolyásolhatja. Ha nem az optimalizálást célzó rendszerfigyelés valósul meg, akkor az hátrányos tulajdonságokat hoz előtérbe, miszerint: -
a fékrendszer túlzott igénybevétele (kopása)
-
a sebességkorlátozások figyelmen kívül hagyása
-
túl nagy sebesség esetén káros rezgések és dinamikai hatások a teljes szerelvényre vonatkozóan
-
a káros dinamikai hatások érvényesülése a pálya-jármű kapcsolatban (sínkopás,a járműkerék-karima profiljának kopása)
-
a pályatengellyel párhuzamos és erre merőleges irányú elmozdulások kialakulása (pályadeteriorizáció) figyelhető meg a pálya-jármű rendszerben.
3.3
A GPS adatok szerepe
Jelen alkalmazás esetében nem beszélhetünk hagyományos folyamatról, hiszen egy már kialakított főprogramhoz kell illeszteni egy alprogramot. A hagyományos folyamat kezdő fázisán (specifikáció) és megvalósításának egy részén már túl van az alkalmazás. Egy meglévő rendszerhez illeszteni egy részegységet pedig mindíg nehezebb feladat, mintha a kezdetektől együtt fejlődtek volna. A főalkalmazás a vasúti járművek – például a beszerzésre kerülő motorvonatok üzemeltetésének optimalizálását célozza meg. Ez annyit jelent, hogy a menetrendhez, mint kerületi feltételhez igazodva végzi el a program a jármű (mozdony vagy motorkocsi) esetében a vonóerő szabályozását úgy, hogy a jármű minimális energiafelhasználással a menetidőt betartva érkezzen meg a célállomásra. Mivel a vonóerő szabályozásakor figyelembe kell venni az aktív és passzív erőket, elengedhetetlen feltétel a térbeli pályageometria ismerete. A főprogram a geometriát ismerve adott időközönként képes előre számítani azt, hogy egy bizonyos optimalizálás mellett tartható-e a menetrend. Tegyük fel, hogy a vasúti szerelvény A pontból indul és B pontba érkezik, amihez egy bizonyos T idő áll rendelkezésére. Miután a jármű elhagyta az állomást egy adott t idő múlva
15
a pálya egy P(XP, YP, ZP) pontjában tartózkodik. A program a pályageometria alapján képes kiszámítani -
megtett úthossz – hátralevő úthossz értékeket
-
hátralévő időt egy bizonyos sebesség mellett
-
megállapítja a menetrendhez képesti késést/sietést és ez alapján korrigálja a vonóerőt.
A vonóerő felhasználásának optimalizálására több lehetőség létezik: 1. lejtmenetben csak a gravitációs erő hat 2. fékezés nélküli lassulás – sebesség-kifuttatás. A főalkalmazás figyelembe veszi az ellenállások értékeit, és a késés/sietés mértékének megfelelően választja ki az optimalizálás egyszerű, vagy kombinált módját. Amikor a szerelvény (pontosabban a mozdony/motorkocsi súlypontja) a ’P’ pontban van, triviálisan már megtett egy ’s’ úthosszt a pályán. Bármennyire is pontosak a számítások, a pálya és a jármű kölcsönhatása révén számos sztochasztikus hatás terheli ezeket. Mindemellett ha belegondolunk, hogy a számítás alapját egy elméleti pályageometria jelenti, akkor kijelenthetjük, hogy a pályadeteriorizációt a főprogram számítása nem tudja figyelembe venni. Tény tehát, hogy a program által a ’P’ koordinátái alapján számolt hátralévő út és idő nem egzaktul pontos. Ez nem csak annyit jelent, hogy ez a pontatlanság egy adott pontban érvényesül, hanem azt jelenti, hogy a teljes számítási folyamatot hibák terhelik. A magyarázat erre az, hogy a program az optimalizálási feladatot ’t’ időközönként hajtja végre, minden egyes alkalommal számítva a „megtett út-eltelt idő-sebesség” értékeket. A számítás tehát tulajdonképpen pályaszakaszonként történik úgy, hogy az egymásra épülő számítások bemeneti paramétere az előző helyzeti számítás eredményének tekinthető koordináta. Ez annyit jelent hogy az úthosszt nem a teljes szakaszra, hanem a pálya következő rész-intervallumára számítja. A hibaterjedés hatása pedig triviálisan csak az első számításkor nem érvényesül. Az ütemes menetrend és a jármű energetikailag optimalizált üzemeltetésének összehangolásához elengedhetetlen a szerelvény (vonat) pontos koordinátájának ismerete a pályaszakaszokon. A GPS egy olyan megoldási lehetőséget kínál, amely több szempontból is előnyös: -
a GPS pontos helymeghatározást biztosít a térbeli vonalvezetésű vasúti pályán
-
a számítási folyamatot csak az észlelési pontokra (t időintervallumok kezdő és végpontjai) vonatkozó GPS-észlelési hiba terheli
-
lehetőség van a DOP értékek alapján elfogadni/elutasítani a GPS koordinátákat, ha az nem teljesíti adott pillanatban a pontossági követelményeket
16
-
a
pályageometriai
adatokból
számított
koordináta
összevethető
a
GPS
koordinátákkal, ami bizonyos szabálytalan/szabályos hatásokra enged következtetni a differencia függvényében6 -
a programban már meglévő pálya hossz-szelvények EOV-be transzformálása után egységesen és valós időben kezelhetők a folyamatok.
6
Ilyen hatás lehet az elméleti pályageometria módosulása, amely süllyedések, oldalirányú elmozdulások formájában jelentkezik a gyakorlatban.
17
4 NMEA interface-formátum [8] A feladat megoldásához ismerni kell a GPS által küldött szabványos NMEA formátumú üzenetek jelentését és felépítését. Ennek alapján lehetséges ugyanis a szükséges adatok beolvasása és kiválasztása a további számítás céljából. Az NMEA egy mozaikszó, amely a National Marine Electronics Association nevéhez fűződik.
Ez a szervezet fejlesztette ugyanis azt az interface7-t, amely segítségével a
használt eszközök egymással, illetve különböző számítógépekkel egységes formátumú üzenetek alapján képesek kommunikálni. A GPS vevők esetében beállítható paraméterként szerepel, hogy az eszköz az észlelések eredményeit milyen formátumban továbbítsa a számítógép, vagy bármely más adó-vevő készülék felé. Az NMEA formátumban továbbított üzenetek teljes egészében tartalmazzák az észlelési adatokat (PVT – position, velocity, time). Az NMEA üzenetek alapja az, hogy a vevő olyan mondatokban kommunikál, amelyek teljesen sajátságosak és függetlenek egymástól. A mondatok egy része szabványos formátum, minden egyes vevő által ismert,
lehetőség
van azonban
egyedi konfigurációval
rendelkező üzenetek
definiálására is. Minden mondat elején szerepel 2 karakter, amely az üzenetet továbbító berendezés jellemzője, ez a GPS vevők esetén a „GP” karakter-kombináció. Az egyedileg meghatározott sorok az eszköz gyártójára vonatkozó információt tartalmaznak, ezek első karaktere „P” és a következő 3 karakter utal az eszközt gyártó cégre (pl. PMGN – Magellan) . Minden egyes mondat kezdő karaktere a ’$’ és utolsó karaktere az un. CR/LF (Carriage Return/ Line Feed), és a sorok maximális hossza nem haladhatja meg a 80 karaktert a befejező karakter (line terminator) nélkül. Az egy sorban levő különböző üzenetek elválasztására a ’,’ karakter szolgál. Minden mondat végét egy un. ’checksum’ karakter zárja le, amelyet a fogadó egység nem feltétlenül vizsgál, viszont megléte fontos információ az adatok jóságára vonatkozóan. Az NMEA üzenetek minden serial port esetében az RS232 protokollt használva elérhetőek bármely számítógép számára. Az adattovábbítás sebessége általában 4800 b/s (bit per second rate), de egyes vevők esetében beállítható a 9600 b/s érték is. Az alapérték azt jelenti, hogy a vevő 480 karaktert képes elküldeni egy másodperc alatt, ami tulajdonképpen 6 mondatnak felel meg. A mondatokat felépítő adatok 8 Bitesek, egyezés (parity) nem értelmezett és egyetlen un. ’StopBit’ karakter található bennük. Az NMEA mondatok felépítése szabványos, minden egyes mondat egy sort jelent és egyedi azonosítóval rendelkezik. A küldött üzenetek függenek a vevő gyártójától, azonban ezek a szabványos üzenetek kiegészítéseként jelentkeznek az egyes típusoknál. 7
Interface: illesztőprogram két alkalmazás között
18
Az egyik legfontosabb üzenet a ’GGA’ karakterhármast tartalmazó mondat, amely tartalmazza a 3D helymeghatározó adatokat és a pontosságra vonatkozó információt. Egy ilyen mondat a következőképpen értelmezhető: $GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47 GGA 123519 4807.038,N 01131.000,E 1
08 0.9 545.4,M 46.9,M (üres karakter) (üres karakter) *47
GPS észlelési adatok észlelési időpont (12:35:19 UTC) földrajzi szélesség (48° 07.038', É) földrajzi hosszúság (11° 31.000', K) Észlelés típusa (jóság): 0 = érvénytelen 1 = GPS észlelés (SPS) 2 = DGPS észlelés 3 = PPS észlelés 4 = RTK észlelés 5 = Float (lebegő) RTK 6 = értékelt (számítás nélkül) 7 = manuális bevitel 8 = szimuláció műholdak száma HDOP tengerszint feletti magasság [m] geoid-ellipszoid (WGS-84) távolság az utolsó DGPS frissítés óta eltelt idő [s] DGPS állomás ID (azonosító) checksum adat (minden esetben * az első karakter)
Szintén szabványos üzenetnek számít a ’GSA’ karakterhármast tartalmazó mondat, amely a GPS koordinátákra vonatkozó DOP értékeket valamint az aktív műholdakat írja le. $GPGSA,A,3,04,05,,09,12,,,24,,,,,2.5,1.3,2.1*39 GSA A 3
04,05... 2.5 1.3 2.1 *39
műhold-státusz Automatikus 2D vagy 3D észlelés (M = manuális) 3D észlelés – lehetséges értékek: 1 = nincs észlelés 2 = 2D észlelés 3 = 3D észlelés az észlelésben részt vevő műholdak PRN adatai PDOP HDOP VDOP checksum
Azok a mondatok, amelyekben a ’GSV’ karakterek szerepelnek, mutatják az észlelési ablakban lévő aktív műholdakat és az ezekre vonatkozó almanach adatokat.
19
$GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75 GSV 2 1 08 01 40 083 46 *75
észlelési ablak műholdjai a teljes adathalmazt tartalmazó mondatok száma mondat sorszáma észlelési ablakban lévő műholdak darabszáma műhold PRN száma magassági szög [°] Azimut [°] SNR checksum
A fenti mondatban található SNR érték (Signal of Noise Ratio) jósága egyenesen arányos a számértékkel, mivel ez a jelerősséget jelenti. Szabványos értéke a [0;99] intervallumban mozog. Az NMEA formátumban az ’RMC’ egyedi azonosítóval rendelkező mondatok írják le a GPS PVT adatokat. $GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A RMC 123519 A 4807.038,N 01131.000,E 022.4 084.4 230394 003.1,W *6A
Javasolt minimális mondat C észlelés ideje (12:35:19 UTC) Státusz (A=aktív vagy V=érvénytelen) földrajzi szélesség (48° 07.038', É) földrajzi hosszúság (11° 31.000', K) Sebesség (tengeri mérföld) Irányszög [°] (True) Dátum – 1994.03.23 mágneses tér változása checksum
A ’GLL’ kódot tartalmazó mondat a szélességi és hosszúsági adatokra vonatkozó értékeket adja meg. $GPGLL,4916.45,N,12311.12,W,225444,A,*31 GLL 4916.46,N 12311.12,W 225444 A *31
geográfiai helyzet, földrajzi szélesség és hosszúság földrajzi szélesség (49° 16.45’, É) földrajzi hosszúság (123° 11.12’, NY) észlelés ideje (22:54:44 UTC) adatok státusza (aktív vagy érvénytelen) checksum
Az értelmezett üzeneteken kívül még számos más, egy adott alkalmazás szempontjából fontos NMEA mondat létezik, azonban elegendőnek ítéltem meg a feladat megoldásához a fentiek ismertetését.
20
5 Programillesztések feltételei és megvalósítása A főprogram MATLAB rendszer alatt készült, így célszerűnek láttam a kiegészítő alprogramot is ennek segítségével megvalósítani. Mivel nem ismertem a MATLAB programban rejlő lehetőségeket-és még most sem ismerem teljesen-elképzelhetőnek tartom, hogy az általam megírt programkód nem a legegyszerűbb és a legtömörebb megoldása az adott feladatnak. A programillesztések alapvető feltételei a MATLAB alatt, hogy -
ne legyen két azonos nevű függvény,
-
ne legyen két azonos nevű változó,
-
a megfelelő helyen és a megfelelő módon lehessen meghívni a kiegészítő alprogramot,
-
valamint hogy a főprogram a megfelelő helyen és megfelelő módon hivatkozzon az alprogram eredményeire.
5.1
Az alprogram megvalósítása
Az alprogramnak egy olyan, önállóan is működőképes kódnak kell lenni, amely -
meg tudja nyitni az adatkommunikációs portot
-
fogadni képes az NMEA formátumú kódolt üzeneteket
-
bezárja a portot és üríti a buffert
-
képes kiszűrni azon adatokat, amelyek a számításhoz szükségesek
-
a kinyert adatokat MATLAB által ismert formátummá alakítja
-
el tudja végezni a koordináta-transzformációkat és más számításokat
-
vissza tudja adni a végeredményeket MATLAB formátumban
-
a fölöslegessé vált változókat letörli.
5.1.1
MATLAB interface kezelés
A MATLAB alatt a legtöbb eszköz által használt interface maradéktalanul megvalósítható és megírható. Tekintettel arra, hogy a célrendszer még nem kiforrott, az alprogram nem a hagyományos interface kezeléssel valósult meg, hanem egy úgymond „fél-online” megoldással. Ez a megoldás nem elegáns, mert beiktat egy közbenső lépést az interface és a MATLAB számítások közé egy szövegállomány formájában.
21
Adott
eszközt
a
számítógép
megfelelő
bemenetéhez
csatlakoztatva
a
port
megnyitása/zárása egyszerűen történik. A megnyitandó portot változóként szükséges definiálni, jelen esetben ez az s = serial (’COM1’) paranccsal megvalósítható. A MATLAB parancsai és változói „case sensitive” tulajdonságúak, azaz különbséget tesznek kis- és nagybetű között. Ahhoz, hogy a MATLAB a megnyitott port-on keresztül érkező adatokat megfelelően tudja kezelni, be kell állítani a szükséges jellemzőket (property), ezek jelen esetben a ’Baudrate’, ’Parity’ és ’Terminator’ jellemző értékei. A ’Baudrate’ az adatok mennyiségi jellemzője, az NMEA formátumú üzenetek esetében általában 4800 (bit per second rate). A ’Terminator’ karakter alapvetően kétféle lehet: LF (line feed) vagy CR (carriage return), ezt mindig az adott eszköz ismeretében lehet beállítani. Az NMEA formátumú üzenetek a CR/LF terminator karaktert alkalmazzák. A beállítások után a port megnyitása egyszerűen az fopen(s) paranccsal történik, a zárás pedig az fclose(s) művelettel. Fontos, hogy a port újra megnyitása csak akkor lehetséges, ha az előző nyitást azonnali zárás követte. Egyéb más esetben a program ’COM1 is not available’ hibaüzenettel nem tudja újra megnyitni a portot (ami érthető is, hiszen nyitva van). A MATLAB segítségével megvalósítható a „valódi” interface kezelés, ahol nincs a MATLAB és az üzenetet küldő eszköz között más alkalmazás illetve közbenső lépés. Ennek akkor van nagy jelentősége, ha időt akarunk megtakarítani, hiszen a számítógépnek kevesebb műveletet kell elvégezni az utóbbi esetben. A számítógép és az eszköz között az adattovábbítás és megjelenítés a buffer segítségével történik (4. ábra).
Ins trume nt
Se ria l p ort I/ O ha rdware Data Data Inp ut b uffe r
4.ábra
22
Dis play da ta
Az adattovábbítási modell az eszköz és a számítógép között
A gyakorlati alkalmazás szempontjából fontos tehát, hogy a buffer a műveletek után kiürítésre kerüljön. Ezt a delete(s) paranccsal tehetjük meg. A nyitott portra az alkalmazásnak csupán annyi időre van szüksége, amíg a bejövő adatokat egy adott szöveges állományba menti, ezek után a port azonnal bezárható.
5.1.2
A „fél-onlie” rendszer megvalósítása
Az alprogram teszteléséhez egy GARMIN eTrex 12 csatornás navigációs vevőt használtam „demo” üzemmódban, az NMEA interface-t beállítva. Ez azért fontos információ, mivel az NMEA üzenetcsomagokban vannak az eszköz gyártójára jellemző üzenetek is.
5. ábra
GARMIN eTrex 12 csatornás navigációs vevő [12]
Míg a valósidejű interface esetében az adatkérés-adatfogadás közvetlenül a bufferen keresztül történik, jelen esetben kizárólag az adatfogadás művelete valósul meg ezen keresztül. A MATLAB a GPS vevő által küldött NMEA formátumú üzeneteket a bufferből egy szöveges állományba írja ki, amelynek paraméterei megadhatóak. Miután
a
serial
port
megnyitásra
került,
lehetőség
van
a
bejövő
adatok
szövegállományba mentésére a record parancsot kiadva. Mielőtt azonban a műveletet elkezdenénk, paraméterezni szükséges a kimenő adatok jellemzőit.
23
A record funkció általam felhasznált paraméterei -
a RecordName, amely megadja az adatokat fogadó szövegfile nevét és típusát
-
a RecordDetail, amely az adatok mentési információira vonatkozik (ez jelen esetben ’verbose’, ami annyi jelent, hogy nem csak a fogadott karakterek száma, hanem maga a karaktersorozat is mentésre kerül)
-
és végül a RecordMode, amely a szövegfile mentésekor alkalmazott módot jelenti, vagyis felülírást, indexelést vagy hozzáfűzést.
A kimeneti oldalon megjelenő szöveges állomány tartalmaz minden adatot, amelyet a vevő az adott feltételeknek megfelelően elküld.
A mentett állomány az alábbi adatokat
tartalmazhatja: „Legend: * - An event occurred. > - A write operation occurred. < - A read operation occurred. 1 2
Recording on 20-Oct-2006 at 21:55:45.906. Binary data in little endian format. < 69 ascii values $GPRMC,200008,V,4705.6689,N,01804.9205,E,10.8,0.0,201006,2.9,E,
3
< 6 ascii values.
4
< 28 ascii values.
S*27 $GPRMB,V,,,,,,,,,,,,A,S*0E 5
< 69 ascii values. $GPGGA,200008,4705.6689,N,01804.9205,E,8,08,2.0,129.0,M,41.5 ,M,,*45
6
< 52 ascii values. $GPGSA,A,3,07,11,14,16,18,19,21,22,,,,,,2.0,3.0*1A
7
< 70 ascii values. $GPGSV,2,1,08,07,26,145,43,11,18,280,40,14,28,129,44,16,07,1 94,35*7E
8
< 70 ascii values. $GPGSV,2,2,08,18,27,050,43,19,72,287,50,21,05,085,34,22,63,0 69,49*71
9
< 47 ascii values. $GPGLL,4705.6689,N,01804.9205,E,200008,V,S*4C
10 < 19 ascii values. $GPBOD,,T,,M,,*47 11 < 32 ascii values. $PGRME,15.0,M,22.5,M,15.0,M*1B”
24
A mentés tulajdonképpen egy ciklussal valósul meg, amelynek feladata az, hogy az indítás pillanatától kezdve fogadott első 15 NMEA mondatot szöveges formátumban írja ki a megadott állományba. Mivel a kiegészítő program számára csak a „$GPGGA” azonosítóval rendelkező üzenet néhány eleme fontos, ezért az adott szövegállományból ki kell emelni a megfelelő adatokat MATLAB által kezelt formátumba.
5.1.3
A szükséges adatok kiemelése a szöveges állományból
A főprogram részére az alprogramnak térbeli koordinátákat kell biztosítania, ezért a számítás alapját a földrajzi ellipszoidi WGS-84 alapfelületű koordináták jelentik. Ezeket az információkat a „$GPGGA” azonosítóval rendelkező NMEA mondatok tartalmazzák. A MATLAB alkalmazásban létezik olyan parancs, amely egy ’string’ formátumú adatot egy elválasztó karakter definiálása után automatikusan beolvas, ez azonban fölösleges adatok tárolásával járna. A problémát úgy kerültem meg, hogy a beolvasás során bizonyos karaktereket elutasítottam, a szükséges karaktereket pedig a megfelelő formátumban beolvastam. Tekintettel arra, hogy az NMEA üzenetek szabványosak, a „$GPGGA” azonosítóval rendelkező üzenet minden esetben ugyanazon információkat tartalmazza úgy, hogy a karakterek száma csak bizonyos esetben (pl. magassági adatok) változik. Tekintve az alábbi üzenetet a megvalósítás lépései egyszerűen elmagyarázhatók. $GPGGA,200008,4705.6689,N,01804.9205,E,8,08,2.0,129.0,M,41.5 A mondatban „bold” karakterrel jelöltem a hasznos, és normál karakterrel a fölösleges8 információkat. Ez tehát azt jelenti, hogy az első 21 karaktert el kell utasítani, majd a következőt beolvasni, majd 3 karaktert elutasítani, és az utána következőt beolvasni, és így tovább. A művelet eredményeként a MATLAB alkalmazásban létrejön egy A mátrix, amely dimenzióját tekintve [1,4]. A transzformációs számítások az A mátrix elemeit használják fel kiinduló adatként.
8
Feltételeztem, hogy az alkalmazás Magyarországon kerül bevezetésre, ezért hanyagoltam el az égtájakra vonatkozó információkat.
25
5.1.4
A „checksum” karakter ellenőrzése
Az un. checksum karakter minden NMEA mondat végén a „*” után található. Maga a karakter (karakterpár) formátuma hexadecimális, amely a mondatban található karakterekből állítható elő az „exclusive OR”, azaz a „kizáró vagy” művelettel. A MATLAB parancsokban ezt a „bitxor” művelettel valósítottam meg úgy, hogy a selectline függvény meghívásakor a checksum ellenőrzés is lefusson. Ha az üzenet korrupt, akkor a checksum nem állítható elő a mondatok ’$’ és ’*’ karakterei közötti elemekből, és a program futása megszakad.
6. ábra
26
NMEA checksum vizsgálatának végrehajtása a ’GPS.txt’ állományra
7. ábra
Önállóan működő checksum ellenőrzés
A 6. ábrán éppen egy ilyen hiba látható, mivel a félonline módszerrel rögzített ’GPS.txt’ fileban néhány üzenet nem egy, hanem több sorban szerepel. A checksum számítás megfelelő szerkezetű ’string’ formátumú adat esetében kifogástalanul működik, azonban meg kell oldani azt, hogy a ’GPS.txt’ állomány adatait is hasonlóan egységes formátumban lehessen kezelni. Tény, hogy a soremelések és speciális karakterek kiküszöbölését nem sikerült megoldanom a beolvasás során, azonban a szükséges kód, amely ezt a folyamatot kezeli, előállt. A program jövője azonban nem ezt a kezelési módot preferálja, így ez a lépés nem feltétlenül hiányzik a teljesség eléréséhez.
5.1.5
A transzformációs számítások végrehajtása [2]
Az A mátrix elemei a megfelelő értékek kiszűrése után az észlelési pont WGS-84 ellipszoidi koordinátáit tartalmazza.
Φ
Λ
H
N
47˚ 5,6689’
18˚ 4,9205’
129 m
41,5 m
2.táblázat
Az észlelési pont WGS-84 ellipszoidi koordinátái
A koordináta-transzformáció elvégzése előtt azonban ezeket az értékeket radiánba szükséges átváltani, mivel a MATLAB (ahogy sok más programnyelv is) alapvetően a trigonometrikus függvények argumentumát radiánként értelmezi. A WGS-84 – EOV koordináta-transzformációhoz először is -
a WGS-84 földrajzi ellipszoidi koordinátákat térbeli derékszögű koordinátákká kell átszámítani,
-
ezek után el kell végezni a WGS-84 és az IUGG-67 rendszerek közötti transzformációt
-
a kapott IUGG-67 rendszerbeli térbeli derékszögű koordinátákat földrajzi koordinátákká kell átszámítani,
-
majd a földrajzi koordináták segítségével EOV vetületi koordinátákra kell áttérni.
A teljesség igénye nélkül ismertetem az egyes lépésekhez tartozó matematikai képleteket.
5.1.5.1 WGS-84 ellipszoidi földrajzi koordináta → WGS-84 térbeli derékszögű koordináta
Ismert:
ellipszoid geometriai jellemzői azaz a,b,f,e,e’ és WGS-84 ellipszoidi koordináták
X ( N + h) cos ϕ cos λ Y = ( N + h) cos ϕ sin λ Z (1 − e 2 ) N + h sin ϕ
[
]
,ahol
N=
a (1 − e sin 2 ϕ )1 / 2 2
5.1.5.2 WGS-84 térbeli derékszögű koordináta → IUGG-67 térbeli derékszögű koordináta A program 7 paraméteres térbeli transzformációval dolgozik, ami 3 eltolást, 3 elforgatást és egy méretarány-tényezőt vesz figyelembe. Ismert: WGS-84 rendszerben P(X,Y,Z) ' X IUGG dX X WGS 84 67 ' YIUGG 67 = dY + k ⋅ R X (eX ) ⋅ RY (eY ) ⋅ RZ (eZ ) YWGS 84 , ' Z IUGG dZ Z WGS 84 67
ahol a forgatási mátrixok:
0 0 1 R X (eX ) = 0 cos(eX ) sin(eX ) 0 − sin(eX ) cos(eX )
cos(eY ) 0 − sin(eY ) RY (eY ) = 0 1 0 sin(eY ) 0 cos(eY )
cos(eZ ) sin(eZ ) 0 RZ (eZ ) = − sin(eZ ) cos(eZ ) 0 . 0 0 1
A programban a transzformációhoz használt paraméterkészlet9:
dX = −53,613 m dY = +64,632 m dZ = +16,691 m k = −2,0404 ppm eX = −0,1359" eY = −0,1855" eZ = −0,5024" 9
Meghatározta Dr.Takács Bence, BME, Általános és Felsőgeodézia Tanszék
30
5.1.5.3 IUGG-67 térbeli derékszögű koordináta → IUGG-67 ellipszoidi földrajzi koordináta Ismert:
IUGG-67 térbeli X,Y,Z koordináták és az ellipszoid geometriai jellemzői azaz a,b,f,e,e’
X 2 +Y 2 Za Θ = arctan bp p=
Z + (e' ) 2 b ⋅ sin 3 Θ p − e 2 a ⋅ cos 3 Θ Y λ = arctan X p h= −N cos ϕ
ϕ = arctan
5.1.5.4 IUGG-67 ellipszoidi földrajzi koordináta → EOV koordináta
Ismert:
IUGG-67 ellipszoidi földrajzi koordináta és vetületi állandók
1. Áttérés gömbi koordinátákra nε 2 Φ 1 − ⋅ sin Φ ε n o o ϕ = 2 arctan k ⋅ tan 45 + ⋅ − 90 2 1 − ε ⋅ sin Φ λ = n(Λ − Λ 0 )
2. Áttérés segédgömbi koordinátákra
ϕ ' = arcsin(sin ϕ cos ϕ 0 − cos ϕ sin ϕ 0 cos λ ) cos ϕ sin λ λ' = arcsin cos ϕ ' 3. Áttérés EOV vetületi koordinátákra
ϕ' X = R ⋅ m0 ⋅ ln tan 45 o + + 200000 2 Y = R ⋅ m0 ⋅ λ' + 650000 31
5.2
Az alprogram önálló működése Az alprogram kritériumainak megfelelően a kód önállóan is működőképes egységet alkot.
Feltétel az is, hogy a főprogramban egyszerűen meg lehessen hívni, ezért olyan függvényekre bontottam, amelyek egymásba ágyazva hatékonyan működnek együtt.
function GPS
function selectline
8. ábra
function transform
Az alprogram működési vázlata – egymásba ágyazott függvények
Maga az alprogram 3 különálló függvényt jelent: -
GPS.m
-
Selectline.m
-
Transform.m
A ’GPS.m’ állomány a „főállomány”, ezen keresztül hajtódik végre a másik két függvény meghívása. Azért választottam külön az egyes műveleteket, mert bár az állományok száma növekszik, a program mégis áttekinthetőbb lesz ez által. Abban az esetben, ha esetleg módosításra van szükség, egyszerűbben megtalálható a kódban az, ahol a változtatást el kell végezni. Az alprogram működése nem látványos, mivel egy része – mondhatni kiegészítője – a főprogramnak, ennek ellenére indokoltnak láttam, hogy bemutassam a futását a MATLAB fejlesztői környezetében.
32
9. ábra
NMEA adatok fogadása és szöveges állományba mentése
10. ábra
34
A „$GPGGA” mondat adatainak szűrése és az EOV koordináták
Az alprogram működésének tesztelését ismert WGS-84 ellipszoidi koordinátájú, Magyaroszágon egyenletesen elosztva található GPS pontokon végeztem.
Koordinátaeltérések kimutatása 0,8
0,6
Eltérés [m]
0,4 Eltérés EOV Y koordináta
0,2
Eltérés EOV X koordináta
0 BUTE
PENC
NYIR
CSOR
ZALA
PESO
OROS
KECS
MILE
SZFV
Magassági eltérés
-0,2
-0,4
-0,6 Pont neve
11. ábra
A számított és az etalon EOV koordináták eltérésének kimutatása
A tesztelés során kapott eredmények eleget tesznek a várakozásoknak, azonban elképzelhető, hogy a gyakorlati megvalósítás során olyan lépéseket kell tenni a pontosság elérése érdekében, amelyek a GPS mérési módszer megváltoztatását vonják maguk után.
WGS-84 Pont BUTE PENC NYIR CSOR ZALA PESO OROS KECS MILE SZFV
EOV (etalon)
Helység Lat
Lon
h
Y
47-28-51,39721 47-47-22,56054 47-50-06,73023 47-36-42,07607 46-50-31,36114 46-04-06,29961 46-33-18,80118 46-54-21,60557 48-06-27,16137
19-03-23,50588 19-16-53,48687 22-08-08,75912 17-15-04,97701 16-50-30,48721 18-14-11,83209 20-40-16,84236 19-42-04,81010 20-46-32,70443
180,92 291,79 203,67 178,64 214,2 184,98 146,06 175,24 203,05
650684,42 667539,24 881142,93 514981,72 481784,27 587260,3 774516,48 699815,12 778707,47
Székesfehérvár 47-11-19,56335 18-25-07,78103 (GEO)
173,37
602361,6
BME Penc Nyírbátor Csorna Zalaegerszeg Pécs Orosháza Kecskemét Miskolc
EOV (számított) H
3. táblázat
X
Y
X
237444,17 137,272 271786,72 248,21 281395,33 163,98 253532,65 134,26 168795,03 168,77 80747,98 140,11 135828,18 103,71 173736,88 132,26 308535,82 161,41
650684,561 667539,393 881142,673 514981,689 481783,995 587260,512 774516,578 699815,220 778707,321
237444,230 271786,732 281395,353 253532,977 168795,102 80747,822 135828,171 173736,900 308535,614
205154,82
602361,670
205154,880
129
Eltérés H Y
X
H
137,669 248,928 163,488 133,798 168,501 140,112 103,790 132,247 161,751
0,141 0,153 -0,257 -0,031 -0,275 0,212 0,098 0,100 -0,149
0,060 0,012 0,023 0,327 0,072 -0,158 -0,009 0,020 -0,206
0,397 0,718 -0,492 -0,462 -0,269 0,002 0,080 -0,013 0,341
129,344
0,070
0,060
0,344
Átlag
0,006
0,020
0,065
Szórás
0,167
0,136
0,374
Az alprogram tesztelésének eredményei ismert EOV koordinátájú GPS pontokra vonatkozóan [forrás:http://www.gpsnet.hu]
5.3
A programok együttműködése
A 12. ábrán látható az a folyamat, amely egyszerűsítve ábrázolja a főprogram és az alprogram kapcsolatát. Amikor a főprogram eljut az optimalizálás szakaszonkénti számításához, akkor az előző szakasz végeredményei helyett az alprogram által számított X,Y,Z koordinátákkal számol tovább. Mindez addig tart, amíg az adott jármű (vonat) a célállomásra nem ér, vagyis a függvényt mindaddig meg kell hívni, amíg ez a feltétel nem teljesül.
Se rial p or t clos e
Source input (W GS-84)
Select lines
Transformation
NMEA..txt
Se conda ry progra m
EOV (X,Y,Z)
S eri al port open
X, Y,Z coordinates
M a in progra m
No
Sta rt
12. ábra
Last point?
Yes End
A főprogram és az alprogram együttműködési vázlata
6 A vonatok folyamatos helymeghatározása, lehetséges építőmérnöki alkalmazás
mint
Az építőmérnöknek fontos feladat jut az alapalkalmazás terén, hiszen a vasúti pálya geometriájának forrása a vasúti hossz-szelvény és helyszínrajz. Ezen a két rajzon minden adat megtalálható, amely a pályageometriára vonatkozóan szükséges lehet. Tegyük fel, hogy a szóban forgó viszonylatra vonatkozóan rendelkezésre áll a vasúti pálya hossz-szelvénye és helyszínrajza. A helyszínrajz alapján a kezdőponthoz képest minden további pont koordinátája számítható akár átmeneti íves, akár tiszta körív és egyenes szakasz esetében.
13. ábra
. Helyszínrajzi (vágánykapcsolási) részletes adatok
39
14. ábra
Átmenetiíves körív főpontjainak kitűzése
A megfelelő képletek segítségével tehát meghatározhatók a vasúti pálya tetszőleges pontjainak EOV koordinátái, ha ismerjük legalább egy pont EOV koordinátáit. Ezeket a tetszőleges pontokat úgy célszerű kiválasztani, hogy vagy egyenletesen elosztva a pályaszakaszon, vagy egyes helyeken sűrítve (pl. ívek vagy nagysebességű szakaszok), máshol ritkábban. Ha tekintjük a menetrendet, mint keretfeltételt, akkor ezekhez a pontokhoz meghatározható egy-egy időpont, amikor a vonatnak abban a pontban kell tartózkodnia. A „kell” időpontok meghatározásához ismerni kell többek között -
az egyes vasúti pályaszakaszokon megengedett maximális sebességet
-
a magassági vonalvezetést
-
a mozdony (motorkocsi) műszaki paramétereit (pl. vonóerő-görbe)
-
a teljes vonat maximális tömegét.
A feladat egyszerűsítve is megoldható, ekkor azonban élni kell egy átlagsebesség értékkel, amely a teljes pályaszakaszt (pl. állomástól állomásig) jellemzi. A fentiek szerint tehát tulajdonképpen egyértelműen megadható az összerendelés az egyes pontokban a pályakoordináták és az áthaladás ideje között. Tételezzük fel, hogy ezen az ismert pályaszakaszon GPS méréseket folytatunk, azzal a céllal, hogy
40
-
meghatározzuk a jármű adott időpontbeli helyzetét a pályán
-
megadjuk a vonat késését/sietését a referencia időpontokhoz képest.
A GPS mérésekből származó koordináták nagy valószínűséggel nem az elméleti vasúti pályára esnek sem vízszintes, sem magassági értelemben. Ennek okai a teljesség igénye nélkül lehet -
a vasúti pálya túlemelésének elhanyagolása
-
a GPS helymeghatározás hibája (pl. rossz műholdgeometria)
-
a pálya oldalirányú illetve a pályatengelyre merőleges elmozdulása
-
járműdinamikai folyamatok elhanyagolása illetve egyszerűsített figyelembe vétele.
Azonban a
tényleges
geometriát
ismerve a
GPS
pontok
pályára vonatkozó
legvalószínűbb helye meghatározható úgy, hogy az észlelt koordinátahelyre vonatkozóan meghatározzuk azt a pontot a pályán, ahol a pontbeli érintőn mérve a pálya és az észlelt koordináta távolsága a legkisebb.
15. ábra
Az elméleti vasúti pálya, az észlelésekből adódó vasúti pálya és az észlelések legvalószínűbb helye a pályán
A 15. ábrán az elméleti vasúti pályát a sárga színnel jelölt görbe, az észlelések alapján adódó pályát a piros színnel jelölt görbe jelképezi. A sárga körök azokat a pontokat jelölik az elméleti vasúti pályán, ahol ismert a koordináta és az áthaladás szükséges időpontja, a piros színű körök pedig az észlelési pontokat jelentik. Az egyes észlelési pontok legvalószínűbb helyét a pályán kék színű körökkel jelöltem. A legvalószínűbb helyekhez tartozó „van” időpont az észlelési adatokból kinyerhető, a „kell” időpont meghatározásához pedig olyan egyszerűsítés vezethető be, hogy az időt az egyes elméleti pontok között lineárisnak tekintjük. Ez azt jelenti, hogy ha a legvalószínűbb hely az elméleti pályán két ismert pont 41
közé esik, akkor az adott pontban a „kell” időt úgy határozzuk meg, hogy az időt lineárisan interpoláljuk az ismert út-idő görbén.
16. ábra
Az interpoláció megvalósítása
A függvény alapján interpolációval kapott „kell” idő összevethető a GPS észlelési adatokból származó idővel, ami alapján megállapítható a vonat késése/sietése. A vázolt módszer ezen formájában nem pontos, hiszen számos elhanyagolással éltem az ismertetés során. A módszer kivitelezésekor finomítások szükségesek, amelyek a pontosságot és a valóságot hivatottak közelíteni. Fontos továbbá, hogy a dolgozat során ez a módszer, mint elméleti megoldás merült fel, azonban a kidolgozására és megvalósítására nem került sor.
42
7 Következtetések és kitekintés A főprogram és az alprogram által alkotott rendszer kétségtelenül hasznos lehet nemcsak az új motorvonatok, hanem a már idősebb mozdonyok (vasúti szerelvények) esetében is. Tulajdonképpen a pontos térbeli helyzet meghatározásának ismeretében az optimalizációs feladat pontossága és valósághűsége jelentős mértékben javul. Azonban ki kell jelenteni, hogy maga az együttműködés még pusztán elméleti síkon létezik. A feladat továbbfejlesztése és kidolgozása természetesen lehetséges, és ha bevezetésre kerül, akkor fontos előrelépést jelenthet a vasúti közlekedésben. Ennek fényében meg kell valósítani tehát -
a „valódi” interface kezelést a MATLAB és az adatküldő eszköz között
-
a közbenső szövegállomány kiküszöbölését a folyamatból
-
a gyakorlati alkalmazás terén az ismert geometriájú pályaszakaszon a teljes hosszra vonatkozó GPS észlelést a mozdonyon (motorkocsin)
-
a programok együttműködésének tesztelését és analizálását
-
a rendelkezésre álló hossz-szelvények és helyszínrajzok EOV rendszerbe transzformálását vagy a viszonylatok újfelmérését
-
az „online” rendszer kialakításához szükséges eszközök felmérését, a folyamat részletes kidolgozását.
Az „online” rendszer természetesen nem ugyanaz, mint az általam szimulált „fél-online” megoldás, hiszen az első esetben biztosítani kell egy olyan közeget-illetve eszközt- a továbbításra kerülő NMEA üzeneteknek, amely valós időben továbbítja pl. egy web szerver felé az aktuális adatokat. Ezek az eszközök meglehetősen drágák, így a megoldást abban a rendszerben kell keresni, amely vagy már létezik, vagy a közeljövőben kerül kialakításra. Ha ez nem ad megoldást, akkor a legegyszerűbb és a leghatékonyabb költségtakarékos megvalósítási módszert szükséges választani. A dolgozat egy olyan témát dolgoz fel, amely Magyarországon a vasúti közlekedés terén újításnak számít. A szerző célja az volt, hogy egyrészt rávilágítson a vasúti közlekedésben alkalmazott módszerek és eszközök maradiságára, valamint nem utolsósorban arra, hogy a különböző tudományokban jártas szakemberek együttműködése révén olyan komplex rendszerek valósíthatók meg a gyakorlatban, amelyek a szaktudás révén megbízhatóan működnek és továbbfejleszthetők. Annak a feladatnak, hogy a főprogram részére pontos koordinátákat biztosítsak, még csak részben tettem eleget. A végső megoldás kialakításához elengedhetetlenül szükséges a gyakorlati mérés és az ehhez tartozó tapasztalatok és következtetések levonása. Tulajdonképpen az is elképzelhető, hogy a GPS mérési módszer módosítása szükséges
43
ahhoz, hogy a pontossági követelmények teljesüljenek. A transzformációs számítások tekintetében azt gondolom, hogy az alkalmazás szempontjából ez a pontosság kielégítő lehet. Természetesen ez nagymértékben függ más, a vasúti közlekedés szimulációjához kapcsolódó jellemzőktől is. A továbbiakban tehát-mivel a feladat megoldása még egyáltalán nem ért végetfolyamatos konzultáció mellett szükséges a valós idejű rendszer kidolgozása és megvalósítása, legalább a tesztüzem elindításáig.
44
8 Irodalomjegyzék
[1]
Dr. Zobory István: Vasúti járművek üzemeltetéselmélete, BME Közlekedésmérnöki Kar Vasúti Járművek Tanszék, Segédlet, Budapest, 1997
[2]
Dr. Takács Bence: GPS mérések feldolgozása, GPS navigációs szakmérnöki szak, Tanszéki segédlet, Budapest, 2006
[3]
Dr. Ercsei-Gittinger-Kisteleki-Vincze: A Bp.-Keleti pályaudvar kapacitásának növelése és az elővárosi közlekedés I-II., Közlekedéstudományi Szemle, LV.évfolyam 12.szám pp.447; Közlekedéstudományi Szemle, LVI.évfolyam 1.szám pp.22-29;
[4]
Dr. Megyeri Jenő: Vasúti vágánygeometria, Műszaki Könyvkiadó, Budapest, 1978
[5]
Dr. Megyeri Jenő: Vasútépítéstan, Műegyetemi Kiadó, Budapest, 1997
[6]
Kisteleki Mihály-Kovács Károly: MÁV villamos motorvonat projekt tanulságokkal (1.rész), Vasútgépészet, 2005/2.
[7]
Györgyi József: Dinamika, Műegyetemi Kiadó, Budapest, 2002
[8]
NMEA Reference Manual, SiRF Technology, jan.2005, Revision 1.3, www.SiRF.com
[9]
Dr.Ercsei-Gittinger-Kisteleki-Vincze:
A
Budapest-Nyugati
pályaudvar
kapacitásának növelése és az elővárosi közlekedés, Közlekedéstudományi Szemle, LVI.évfolyam 9.szám pp.328-349. [10]
EUROAstra, http://euroastra.info/cgi-bin/index.cgi?page=showart&id=7246
[11]
Perger-Lőrik-Makranczi-Németh-Sukta-Vígh: A MÁV Rt. részvétele a közlekedési szövetségekben, Európai Mobilitási Hét, 2005.máj.26, Eger
[12]
GARMIN eTrex Owners Manual, 2003, 190-00205-00 Rev.C, http://www.garmin.com
Internetes források http://www.gpsinformation.org/dale/nmea.htm http://www.nmea.org http://www.mathworks.com http://www.gpsnet.hu
45