Krievijas dzelzceļa simulators (RRS): pirmais publiskais izlaidums
Ir pienÄkusi gaidÄ«tÄ diena, kad beidzot varu prezentÄt Å”o attÄ«stÄ«bu. Projekts tika uzsÄkts tieÅ”i pirms gada, vismaz 1. gada 2018. septembrÄ« RRS krÄtuves vietnÄ Gtihub pirmajai apÅemÅ”anai ir tieÅ”i Å”is datums.
Kas ir RRS? Å is ir 1520 mm platuma ritoÅ”Ä sastÄva atvÄrts vairÄku platformu simulators. LasÄ«tÄjs, protams, uzdos jautÄjumu: "Atvainojiet, kam Å”is projekts ir paredzÄts, ja ir pietiekami daudz dzelzceļa simulatoru gan komerciÄlu, gan atvÄrtu?" Atbildei uz Å”o jautÄjumu iesaku paskatÄ«ties zem kaÄ·a
Projekta vÄsture
Reiz, 2001. gadÄ, tas tika publicÄts Microsoft vilcienu simulators (MSTS), kas mÅ«su valstÄ« radÄ«ja milzÄ«gu dzelzceļnieku kopienu. VairÄku gadu laikÄ, kad Å”is projekts pastÄvÄja (lÄ«dz Microsoft to pameta, pÄrejot pie interesantÄkÄm lietÄm, piemÄram, Nokia bankrots u.c.), projekts ieguva lielu skaitu tam radÄ«tu papildinÄjumu: marÅ”ruti, ritoÅ”ais sastÄvs, scenÄriji.
Pamatojoties uz MSTS, pÄc tam tika izveidoti vairÄki citi projekti, piemÄram OpenRails, RTrainSim (RTS) un citi papildinÄjumi un atvasinÄjumi. ParÄdÄ«jÄs arÄ« komerciÄli projekti, piemÄram, slavenais Trencs. Un viss jau bÅ«tu labi, taÄu daudzus dzelzceļa transporta cienÄ«tÄjus Å”ie izstrÄdÄjumi neapmierina gluži objektÄ«vu iemeslu dÄļ ā tie nekÄdi neatspoguļo postpadomju telpÄ ekspluatÄtÄ un attÄ«stÄ«tÄ vietÄjÄ ritoÅ”Ä sastÄva specifiku. Tas ir Ä«paÅ”i aktuÄli, aplÅ«kojot, kÄ tiek ieviestas vilcienu bremzes - nevienÄ no uzskaitÄ«tajiem projektiem nav un nebÅ«s normÄla Matrosova sistÄmas automÄtisko bremžu ievieÅ”ana.
Ne tik tÄlajÄ 2008. gadÄ parÄdÄ«jÄs vÄl viens projekts - ZDSimulators, ko izstrÄdÄjis VjaÄeslavs Usovs. Projekts ir ievÄrojams ar to, ka tajÄ ir Åemtas vÄrÄ un novÄrstas iepriekÅ” minÄtÄs nepilnÄ«bas, sÄkotnÄji koncentrÄjoties uz Krievijas sliežu platuma ritoÅ”o sastÄvu. Bet ir viens liels ābetā - projekts ir patentÄts un slÄgts, arhitektoniski neļaujot ieviest savu ritoÅ”o sastÄvu.
Pats pie dzelzceļa tÄmas nonÄcu 2007. gadÄ, kad sÄku strÄdÄt AS VELNII, kÄ zinÄtniskais lÄ«dzstrÄdnieks un pÄc doktora disertÄcijas aizstÄvÄÅ”anas 2008. gadÄ kÄ vecÄkais zinÄtniskais lÄ«dzstrÄdnieks. TieÅ”i tad es iepazinos ar jaunÄkajiem tÄ laika sasniegumiem dzelzceļa simulÄcijas spÄļu jomÄ. Un man nepatika tas, ko es redzÄju, un ZDSimulator projekts tajÄ laikÄ nepastÄvÄja. VÄlÄk, aizrÄvies ar ritoÅ”Ä sastÄva dinamiku, es nonÄcu Rostovas Valsts transporta universitÄtÄ (RGUPS) ar doktora disertÄcijas tÄmu par kravas vilciena bremzÄÅ”anas dinamiku. Å odien es vadu mÅ«su universitÄtes dzelzceļa transporta mÄcÄ«bu kompleksu izstrÄdi un pasniedzu specializÄtÄs disciplÄ«nas Vilces ritoÅ”Ä sastÄva katedrÄ.
SaistÄ«bÄ ar visu iepriekÅ” minÄto radÄs ideja izveidot simulatoru, kas ļautu tÄ papildinÄjuma izstrÄdÄtÄjam iegÅ«t pilnu kontroli pÄr ritoÅ”ajÄ sastÄvÄ notiekoÅ”ajiem fiziskajiem procesiem. LÄ«dzÄ«gi kÄ Orbiter kosmosa simulatoram, kuram savulaik izstrÄdÄju papildinÄjumu nesÄjraÄ·eÅ”u saimes veidÄ uz R-7 bÄzes. Pirms gada es Ä·Äros pie Ŕī darba un iemetos tajÄ. 26. gada 2018. decembris Å”eit ieraudzÄ«ja gaismu Ŕī tehnoloÄ£iju demonstrÄcija.
Manu darbu pamanÄ«ja entuziasti, un tas ir labi pazÄ«stams dzelzceļnieku aprindÄs, ZDsimulator vizuÄlÄ satura veidotÄjs. RomÄns Birjukovs (RomiÄa Krievijas dzelzceļŔ) piedÄvÄja man palÄ«dzÄ«bu un sadarbÄ«bu projekta tÄlÄkÄ attÄ«stÄ«bÄ. VÄlÄk mums pievienojÄs vÄl viens izstrÄdÄtÄjs - Aleksandrs MiÅ”Äenko (Ulovskii2017), marÅ”ruta veidotÄjs programmai ZDsimulator. MÅ«su sadarbÄ«ba noveda pie mÅ«su pirmÄ laidiena. VideoklipÄ ir parÄdÄ«ts pÄrskats par to, kÄ spÄle izskatÄs pirmajÄ izlaidumÄ
RRS simulatora funkcijas
PirmkÄrt, tÄ ir atvÄrta programmatÅ«ras arhitektÅ«ra. Nemaz nerunÄjot par to, ka simulatora kods ir atvÄrts, ir API un SDK, kas paredzÄti treÅ”o puÅ”u pievienojumprogrammu izstrÄdÄtÄjiem. IestÄÅ”anÄs barjera ir diezgan augsta ā nepiecieÅ”amas pamata C++ attÄ«stÄ«bas prasmes. Simulators tajÄ ir ierakstÄ«ts, izmantojot GCC kompilatoru un tÄ MinGW variantu Windows operÄtÄjsistÄmai. TurklÄt izstrÄdÄtÄjam ir ieteicams pÄrzinÄt Qt sistÄmu, jo daudzas tÄs koncepcijas ir spÄles arhitektÅ«ras pamatÄ.
TomÄr ar pienÄcÄ«gu rÅ«pÄ«bu un vÄlmi Å”is projekts paver milzÄ«gas iespÄjas papildinÄjumu izstrÄdÄtÄjam. RitoÅ”ais sastÄvs tiek realizÄts moduļu veidÄ, kuru pamatÄ ir dinamiskÄs bibliotÄkas. Galvenais strukturÄlais elements simulatorÄ ir ritoÅ”Ä sastÄva vienÄ«ba, vai mobilÄ vienÄ«ba (MU) - automaŔīna (nepaÅ”piedziÅa vai kÄ sastÄva sastÄva daļa) vai lokomotÄ«ves sekcija. API ļauj iestatÄ«t PE riteÅu komplektiem pielikto griezes momentu, reaÄ£Äjot uz riteÅpÄru leÅÄ·isko Ätrumu, kÄ arÄ« ÄrÄjos parametrus, piemÄram, spriegumu un strÄvas veidu kontakttÄ«klÄ. Simulators neko citu nezina un negrib zinÄt, kas iekÅ”ÄjÄ aprÄ«kojuma fiziku atstÄj uz konkrÄtas lokomotÄ«ves vai auto izstrÄdÄtÄja sirdsapziÅas.
Nav grÅ«ti uzminÄt, ka Å”Äda salÄ«dzinoÅ”i zema lÄ«meÅa pieeja ļauj Ä«stenot vismazÄkÄs lokomotÄ«ves Ä·Ädes nianses. TurklÄt simulatora komplektÄ ietilpst standarta aprÄ«kojuma komplekts, kas uzstÄdÄ«ts iekÅ”zemes ritoÅ”ajam sastÄvam: maŔīnista vilciena celtnis konv. Nr.395, gaisa sadalÄ«tÄja stÄvoklis. Nr.242, palÄ«gbremžu vÄrsta stÄvoklis. Nr.254 un citi bremžu iekÄrtu elementi. PapildinÄjuma izstrÄdÄtÄjam atliek tikai savienot Å”os elementus konkrÄtas lokomotÄ«ves vai automaŔīnas pneimatiskajÄ Ä·ÄdÄ. TurklÄt ir API, lai izveidotu savas aparatÅ«ras vienÄ«bas.
Arhitektoniski RRS balstÄs uz divu galveno procesu mijiedarbÄ«bu
simulators ā vilciena fiziskÄs dinamikas dzinÄjs TrainEngine 2. RealizÄ vilciena kustÄ«bas fiziku, Åemot vÄrÄ daudzus ÄrÄjos faktorus, Åemot vÄrÄ kustÄ«go vienÄ«bu mijiedarbÄ«bu caur sakabes ierÄ«cÄm, apstrÄdÄ datus, kas nÄk no ÄrÄjiem moduļiem, kuri realizÄ ritoÅ”Ä sastÄva iekÄrtu darbÄ«bas fiziku.
skatÄ«tÄjs ā grafiska apakÅ”sistÄma, kas vizualizÄ vilcienu kustÄ«bu, kas veidota uz grafikas dzinÄja bÄzes OpenSceneGraph
Å Ä«s apakÅ”sistÄmas mijiedarbojas viena ar otru, izmantojot koplietojamo atmiÅu, kas ieviesta, pamatojoties uz Qt ietvara QSharedMemory klasi. PirmajÄs demonstrÄcijÄs tika izmantots uz ligzdÄm balstÄ«ts IPC, un nÄkotnÄ ir plÄnots atgriezties pie Ŕīs tehnoloÄ£ijas, Åemot vÄrÄ dažu simulatora daļu pilnveidoÅ”anu un vajadzÄ«bas, Åemot vÄrÄ nÄkotni. PÄreja uz koplietojamo atmiÅu zinÄmÄ mÄrÄ bija piespiedu pasÄkums, kas savu lietderÄ«bu ir pÄrdzÄ«vojis.
Es neaprakstÄ«Å”u nianses - daudzas Ŕī projekta attÄ«stÄ«bas peripetijas jau ir izklÄstÄ«tas manÄs publikÄcijÄs par resursu, jo Ä«paÅ”i man ir diezgan plaÅ”s virkne pamÄcÄ«bu par OpenSceneGraph dzinÄju, kas izauga no prakses strÄdÄt pie Ŕī projekta.
Ne viss projektÄ norit tik gludi, kÄ gribÄtos. Jo Ä«paÅ”i grafikas apakÅ”sistÄma ir tÄlu no perfektas renderÄÅ”anas kvalitÄtes ziÅÄ, un sim veiktspÄja atstÄj daudz vÄlamo. Å im laidienam ir viens mÄrÄ·is - iepazÄ«stinÄt dzelzceļa transporta entuziastu kopienu ar projektu, iezÄ«mÄt tÄ iespÄjas un visbeidzot izveidot atvÄrtu, starpplatformu dzelzceļa simulatoru ar uzlabotu API papildinÄjumu izstrÄdÄtÄjiem.
Perspektīvas
Izredzes ir atkarÄ«gas no jums, mÅ«su dÄrgie topoÅ”ie lietotÄji un izstrÄdÄtÄji. Projekts ir atvÄrts un pastÄv oficiÄlÄ vietnekur var lejupielÄdÄt simulatoru, no dokumentÄcija, kura sastÄvs tiks nepÄrtraukti papildinÄts. PastÄv forums projekts, VK grupaUn youtube kanÄls, kur varat saÅemt visprecÄ«zÄkos padomus un palÄ«dzÄ«bu.