Simulatori i Hekurudhave Ruse (RRS): lëshimi i parë publik

Arriti finalisht dita që kam pritur, ditën kur më në fund mund të paraqes këtë zhvillim. Projekti u nis pikërisht një vit më parë, më 1 Shtator 2018, të paktën në repo RRS në Gtihub komiti i parë ka pikërisht këtë datë.

Treni i pasagjerëve në stacionin Rostov Glavni (klikohet)

Simulatori i Hekurudhave Ruse (RRS): lëshimi i parë publik

ÇfarĂ« Ă«shtĂ« RRS? Ky Ă«shtĂ« njĂ« simulator i hapur multidimensional pĂ«r materie lĂ«vizĂ«se me shina 1520 mm. Lexuesi, natyrisht, do tĂ« bĂ«jĂ« pyetjen: "PĂ«rse Ă«shtĂ« ky projekt i nevojshĂ«m, nĂ«se ka shumĂ« simulatorĂ« gjithashtu pĂ«r tema hekurudhore, si tĂ« tregtive ashtu edhe tĂ« hapur?" PĂ«r pĂ«rgjigjen e kĂ«saj pyetjeje, propozoj tĂ« shikojmĂ« poshtĂ«

Historia e projektit

Dikur, shumë kohë më parë, në vitin 2001, u publikua Microsoft Train Simulator (MSTS), që lind për ne një komunitet të madh simulesh hekurudhor. Gjatë disa viteve që ky projekt ekzistoi (deri sa Microsoft e braktisi atë, duke u marrë me gjëra më interesante për të, siç ishte falimentimi i Nokias, etj.), projekti u mbush me një mori shtesash të krijuara për të: itinerarësh, materie lëvizëse, skenarësh.

NĂ« bazĂ« tĂ« MSTS, mĂ« pas, u krijuan disa projekte tĂ« tjera, siç janĂ« OpenRails, RTrainSim (RTS) dhe shtesa e deriva tĂ« tjera. Filluan gjithashtu projekte tregtare, siç Ă«shtĂ« i famshmi Trainz. Dhe do tĂ« kishte qenĂ« mirĂ«, por shumĂ« adhurues tĂ« transportit hekurudhor nuk janĂ« tĂ« kĂ«naqur me kĂ«to produkte pĂ«r arsye krejt objektive — ato nuk pasqyrojnĂ« specifikat e mjeteve tĂ« transportit tĂ« brendshĂ«m, tĂ« cilat pĂ«rdoren dhe zhvillohen nĂ« hapĂ«sirĂ«n post-sovjetike. Kjo Ă«shtĂ« veçanĂ«risht evidente kur shikohet se si zbatohen frenat e trenit — asnjĂ« nga projektet e pĂ«rmendura nuk ka dhe nuk do tĂ« ketĂ« njĂ« zbatim tĂ« duhur tĂ« frenave automatikĂ« tĂ« sistemit Matrosov.

NĂ« vitin 2008, i cili nuk Ă«shtĂ« shumĂ« i afĂ«rt, u shfaq njĂ« projekt tjetĂ«r — ZDSimulator, i zhvilluar nga Vyacheslav Usov. Ky projekt Ă«shtĂ« i shkĂ«lqyer sepse merr parasysh dhe korrigjon defectet e pĂ«rmendura mĂ« lart, duke u orientuar fillimisht nĂ« mjetet e transportit tĂ« gjurmĂ«s ruse. Por ka njĂ« «por» tĂ« madhe — projekti Ă«shtĂ« pronar dhe i mbyllur, duke mos lejuar integrimin e mjeteve tĂ« transportit tĂ« tija.

UnĂ« hyra nĂ« temĂ«n e hekurudhave nĂ« vitin 2007, kur fillova tĂ« punoja nĂ« OAO VELNII, nĂ« pozitat e kĂ«rkuesit shkencor, dhe pas mbrojtjes sĂ« disertacionit tim pĂ«r kandidat nĂ« vitin 2008 — kĂ«rkuesit tĂ« lartĂ« shkencor. AtĂ«herĂ« takova arritjet e fundit nĂ« fushĂ«n e lojĂ«rave-simulues tĂ« hekurudhave. Mua nuk mĂ« pĂ«lqeu ajo qĂ« pashĂ«, dhe projekti ZDSimulator nĂ« atĂ« kohĂ« nuk ekzistonte akoma. MĂ« pas, i pĂ«rfshirĂ« nĂ« dinamikĂ«n e mjeteve tĂ« transportit, kam shkuar nĂ« Universitetin ShtetĂ«ror tĂ« Hekurudhave tĂ« Rostovit (RUGPS) me temĂ«n e disertacionit doktoral mbi dinamikĂ«n e frenimit tĂ« trenit tĂ« mallrave. Sot, unĂ« drejtoj zhvillimin e kompleksĂ«ve tĂ« simulatorĂ«ve pĂ«r transportin hekurudhor pĂ«r universitetin tonĂ« dhe jap disiplinat profesionale nĂ« katedrĂ«n "Mjetet e TĂ«rheqjes".

PasojĂ« e tĂ« gjitha mĂ«sipĂ«rmeve lindi ideja e krijimit tĂ« njĂ« simulatori, i cili do t’i jepte zhvilluesit tĂ« shtesave kontrollin e plotĂ« mbi proceset fizike qĂ« ndodhin nĂ« njĂ« sistem tĂ« lĂ«vizshĂ«m. E ngjashme me simulatorin hapĂ«sinor Orbiter, pĂ«r tĂ« cilin dikur kam krijuar njĂ« shtesĂ« nĂ« formĂ«n e njĂ« familjeje raketash transportuese tĂ« bazuara nĂ« R-7. NjĂ« vit mĂ« parĂ«, u angazhova nĂ« kĂ«tĂ« punĂ« dhe iu pĂ«rkushtova asaj me gjithĂ« shpirt. MĂ« 26 dhjetor 2018 doli nĂ« dritĂ« kjo demo teknologjike.

Puna ime u vĂ«rejt nga entuziastĂ«t, dhe njĂ« figurĂ« e njohur nĂ« rrethin e simulerĂ«ve tĂ« hekurudhave, krijuesi i pĂ«rmbajtjes vizuale pĂ«r ZDsimulator Roman Biryukov (Romych RZHDUZ) mĂ« ofroi ndihmĂ« dhe bashkĂ«punim nĂ« zhvillimin e mĂ«tejshĂ«m tĂ« projektit. MĂ« vonĂ«, u bashkua me ne njĂ« zhvillues tjetĂ«r — Aleksandr Mishchenko (Ulovskii2017,) krijuesi i rrugĂ«ve pĂ«r ZDsimulator. BashkĂ«punimi ynĂ« na çoi nĂ« publikimin e parĂ«. NĂ« video Ă«shtĂ« njĂ« pĂ«rmbledhje e mĂ«nyrĂ«s se si duket loja nĂ« publikimin e saj tĂ« parĂ«.

Luaj videon

Veçoritë e simulatorit RRS

SĂ« pari, kjo Ă«shtĂ« njĂ« arkitekturĂ« e hapur softuerike. Pa pĂ«rmendur se kodi i simulatorit Ă«shtĂ« i hapur, ekziston njĂ« API dhe SDK tĂ« orientuara pĂ«r zhvilluesit e shtesave tĂ« palĂ«ve tĂ« treta. Pragu i hyrjes Ă«shtĂ« mjaft i lartĂ« — kĂ«rkohen aftĂ«si bazike zhvillimi nĂ« gjuhĂ«n C++. Simulatori Ă«shtĂ« shkruar pikĂ«risht nĂ« tĂ«, duke pĂ«rdorur kompilatorin GCC dhe variantin e tij MinGW pĂ«r sistemin operativ Windows. PĂ«r mĂ« tepĂ«r, njohja e zhvilluesit me kornizĂ«n Qt Ă«shtĂ« e dĂ«shirueshme, pasi shumĂ« koncepte prej saj janĂ« nĂ« themel tĂ« arkitekturĂ«s sĂ« lojĂ«s.

MegjithatĂ«, me pĂ«rpjekje dhe dĂ«shirĂ« tĂ« duhur, ky projekt ofron mundĂ«si tĂ« mĂ«dha pĂ«r zhvilluesit e shtesave. NjĂ«sitĂ« e lĂ«vizshme implementohen si module mbi bazĂ«n e bibliotekave dinamike. Elementi kryesor strukturor nĂ« simulator Ă«shtĂ« njĂ« njĂ«si e lĂ«vizshme, ose njĂ«si lĂ«vizĂ«se (PE) — vagon (jo-motorik ose nĂ« pĂ«rbĂ«rje tĂ« trenit motorik) ose seksion lokomotive. API ofron mundĂ«sinĂ« e caktimit tĂ« momentit tĂ« rrotullimit tĂ« aplikuar nĂ« çiftet e rrotave tĂ« PE, duke marrĂ« nĂ« pĂ«rgjigje shpejtĂ«sinĂ« kĂ«ndore tĂ« çiftit tĂ« rrotave, si dhe parametra tĂ« jashtĂ«m, si tensioni dhe lloji i rrymĂ«s nĂ« rrjetin kontaktues. Simuluesi nuk di asgjĂ« tjetĂ«r dhe nuk dĂ«shiron tĂ« dijĂ«, duke lĂ«nĂ« fizikĂ«n e funksionimit tĂ« pajisjeve tĂ« brendshme nĂ« kujdesin e zhvilluesit tĂ« caktuar tĂ« lokomotivĂ«s ose vagonit.

Nuk është e vështirë të kuptohet se një qasje relativisht e ulët e nivelit ofron mundësinë për të realizuar nuancat më të vogla të skemës së lokomotivës. Për më tepër, grupi i simuluesit përfshin një set standard i pajisjeve që instalohet në përbërjet vendase: krani i trenit për shoferin nr. 395, dispeçeri i ajrit nr. 242, krani i frenit ndihmës nr. 254 dhe elementë të tjerë të pajisjeve të frenimit. Zhvilluesi i shtesës duhet thjesht të lidhë këta elementë në një skemë pneumatike të lokomotivës ose vagonit të caktuar. Për më tepër, ekziston një API për krijimin e bllokave të saj të pajisjeve.

Arkitektura RRS është ndërtuar mbi ndërveprimin e dy proceseve kryesore

  • simulator — njĂ« motor fizik dinamik i trenave TrainEngine 2. Realizon fizikĂ«n e lĂ«vizjes sĂ« trenit duke marrĂ« parasysh faktorĂ« tĂ« shumtĂ« tĂ« jashtĂ«m, konsideron ndĂ«rveprimin e njĂ«jĂ«sve tĂ« lĂ«vizshĂ«m pĂ«rmes pajisjeve tĂ« lidhjes, merret me pĂ«rpunimin e tĂ« dhĂ«nave qĂ« vijnĂ« nga module tĂ« jashtme qĂ« realizojnĂ« fizikĂ«n e punĂ«s sĂ« pajisjeve tĂ« lĂ«vizshme
  • viewer — njĂ« nĂ«n sistem grafik qĂ« realizon vizualizimin e lĂ«vizjes sĂ« trenit, e ndĂ«rtuar mbi bazĂ«n e motorit grafik OpenSceneGraph

Këto nën sisteme ndërveprojnë me njëra-tjetrën përmes memories së përbashkët, e realizuar mbi bazën e klasës QSharedMemory të framework-ut Qt. Demo-t e para përdorën IPC mbi bazën e socket-eve, dhe në të ardhmen planifikohet rikthimi në këtë teknologji duke marrë parasysh përmirësimet e disa pjesëve të simulatorit dhe nevojat me shikim në të ardhmen. Kalimi në memorien e përbashkët ishte, në një farë mase, një masë e detyruar që tani ka kaluar.

Nuk do tĂ« pĂ«rshkruaj nuancat — shumĂ« nga zhvillimet e kĂ«tij projekti janĂ« tashmĂ« pĂ«rshkruar nĂ« publikimet e mia nĂ« burimin, nĂ« veçanti kam njĂ« cikĂ«l mjaft tĂ« gjerĂ« tutorialĂ«sh mbi motorin OpenSceneGraph, e cila ka dalĂ« pikĂ«risht nga praktika e punĂ«s nĂ« kĂ«tĂ« projekt.

NĂ« projekt nuk Ă«shtĂ« gjithçka aq e lehtĂ« sa do tĂ« dĂ«shironim. NĂ« veçanti, sistemi grafik Ă«shtĂ« shumĂ« larg pĂ«rfeksionit nĂ« aspektin e cilĂ«sisĂ« sĂ« renderimit, si dhe performanca e simuluar lĂ« pĂ«r tĂ« dĂ«shiruar. Ky version ka njĂ« qĂ«llim — tĂ« njohĂ« komunitetin e dashamirĂ«sve tĂ« transportit hekurudhor me projektin, tĂ« pĂ«rshkruajĂ« mundĂ«sitĂ« e tij dhe pĂ«rfundimisht tĂ« krijojĂ« njĂ« simulator hekurudhor me burim tĂ« hapur dhe shumĂ«platformĂ« me njĂ« API tĂ« avancuar pĂ«r zhvilluesit e shtesave.

Perspektivat

Perspektivat varen nga ju, përdoruesit dhe zhvilluesit tanë të dashur të ardhshëm. Projekti është i hapur, ekziston site i zyrtar, ku mund të shkarkoni simulatorin, me dokumentacionin, i cili do të plotësohet vazhdimisht. Ekziston forum i projektit, grupi në VK, dhe kanali në YouTube, ku mund të merrni konsultimin dhe ndihmën më të detajuar.

Faleminderit për vëmendjen!

Burimi: habr.com

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster