Simulator ya Reli ya Urusi (RRS): toleo la kwanza la umma

Siku ambayo nimekuwa nikingojea imefika ambapo hatimaye ninaweza kuwasilisha maendeleo haya. Mradi ulianzishwa mwaka mmoja uliopita, mnamo Septemba 1, 2018, angalau hazina za RRS kwenye Gtihub ahadi ya kwanza ina tarehe hii haswa.

Treni ya abiria kwenye kituo kikuu cha Rostov (inayobofya)

Simulator ya Reli ya Urusi (RRS): toleo la kwanza la umma

RRS ni nini? Hiki ni kiigaji cha jukwaa-mbali kilicho wazi cha hisa ya kupimia ya milimita 1520. Msomaji atauliza swali kwa kawaida: "Samahani, mradi huu ni wa nini, ikiwa kuna idadi ya kutosha ya simulators za reli, za kibiashara na za wazi?" Kwa jibu la swali hili, napendekeza kutazama chini ya paka

Historia ya mradi

Hapo zamani za kale, mnamo 2001, ilichapishwa Kiigaji cha Treni cha Microsoft (MSTS), ambayo ilisababisha jamii kubwa ya simmers ya reli katika nchi yetu. Kwa miaka kadhaa ambayo mradi huu ulikuwepo (hadi Microsoft ilipoiacha, ikiendelea na mambo ya kupendeza zaidi kwake, kama vile kufilisika kwa Nokia, nk), mradi huo ulipata nyongeza nyingi iliyoundwa kwa ajili yake: njia, hisa, matukio.

Kulingana na MSTS, idadi ya miradi mingine iliundwa baadaye, kama vile OpenRails, RTrainSim (RTS) na nyongeza nyinginezo na derivatives. Miradi ya kibiashara pia ilionekana, kama vile maarufu Trainz. Na kila kitu kitakuwa sawa, lakini mashabiki wengi wa usafiri wa reli hawajaridhika na bidhaa hizi kwa sababu za lengo kabisa - hazionyeshi kwa namna yoyote maalum ya hisa za ndani zinazoendeshwa na kuendelezwa katika nafasi ya baada ya Soviet. Hii ni kali sana wakati wa kuangalia jinsi breki za treni zinatekelezwa - hakuna miradi iliyoorodheshwa ina au itakuwa na utekelezaji wa kawaida wa breki za moja kwa moja za mfumo wa Matrosov.

Katika mwaka usio mbali sana wa 2008, mradi mwingine ulionekana - ZDSSimulator, iliyoandaliwa na Vyacheslav Usov. Mradi huo ni wa ajabu kwa kuwa unazingatia na kurekebisha mapungufu yaliyotajwa hapo juu, wakati wa awali unazingatia hisa ya kupima ya Kirusi. Lakini kuna moja kubwa "lakini" - mradi huo ni wa umiliki na umefungwa, kwa usanifu hauruhusu kuanzishwa kwa hisa yake mwenyewe.

Mimi mwenyewe nilikuja kwenye mada ya reli mnamo 2007, nilipoanza kufanya kazi ndani JSC VELNII, kama mtafiti mwenzake, na baada ya kutetea nadharia yake ya Ph.D. mwaka wa 2008, kama mtafiti mwandamizi mwenzake. Hapo ndipo nilipofahamiana na mafanikio ya hivi punde katika uwanja wa michezo ya uigaji wa reli wakati huo. Na sikupenda nilichokiona, na mradi wa ZDSimulator haukuwepo wakati huo. Baadaye, nikivutiwa na mienendo ya hisa, nilifika Chuo Kikuu cha Usafiri cha Jimbo la Rostov (RGUPS) pamoja na mada ya tasnifu ya udaktari kuhusu mienendo ya breki ya treni ya mizigo. Leo ninaongoza maendeleo ya mafunzo ya usafiri wa reli kwa chuo kikuu chetu na kufundisha taaluma maalum katika Idara ya Traction Rolling Stock.

Kuhusiana na yote yaliyo hapo juu, wazo liliibuka la kuunda simulator ambayo ingemruhusu msanidi programu-nyongeza kwa ajili yake kupata udhibiti kamili juu ya michakato ya kimwili inayotokea katika hisa inayoendelea. Sawa na simulator ya nafasi ya Orbiter, ambayo mara moja nilitengeneza nyongeza katika mfumo wa familia ya magari ya uzinduzi kulingana na R-7. Mwaka mmoja uliopita nilichukua kazi hii na kujitupa ndani yake. Desemba 26, 2018 iliona mwanga hapa demo hii ya teknolojia.

Kazi yangu ilitambuliwa na wapenda shauku, na inayojulikana sana katika miduara ya simmers za reli, mtayarishaji wa maudhui ya kuona ya ZDsimulator. Roman Biryukov (Romych Russian Railways) alinipa msaada na ushirikiano katika maendeleo zaidi ya mradi. Baadaye msanidi programu mwingine alijiunga nasi - Alexander Mishchenko (Ulovskii2017), mtengenezaji wa njia wa ZDsimulator. Ushirikiano wetu ulituongoza kwenye toleo letu la kwanza. Video inaonyesha muhtasari wa jinsi mchezo unavyoonekana kwa toleo lake la kwanza

Vipengele vya Simulator ya RRS

Kwanza kabisa, ni usanifu wa programu wazi. Bila kutaja ukweli kwamba nambari ya simulator imefunguliwa, kuna API na SDK inayolenga watengenezaji wa nyongeza za wahusika wengine. Kizuizi cha kuingia ni cha juu kabisa - ujuzi wa msingi wa ukuzaji wa C++ unahitajika. Simulator imeandikwa ndani yake, kwa kutumia mkusanyiko wa GCC na lahaja yake ya MinGW kwa mfumo wa uendeshaji wa Windows. Kwa kuongeza, inashauriwa kwa msanidi programu kufahamu mfumo wa Qt, kwa kuwa dhana zake nyingi ndizo msingi wa usanifu wa mchezo.

Walakini, kwa bidii na hamu, mradi huu unafungua fursa kubwa kwa msanidi programu-nyongeza. Rolling stock inatekelezwa kwa namna ya moduli kulingana na maktaba zenye nguvu. Kipengele kikuu cha kimuundo katika simulator ni kitengo cha hisa zinazoendelea, au kitengo cha rununu (MU) - gari (isiyo ya kujiendesha au kama sehemu ya treni ya kitengo nyingi) au sehemu ya treni. API inafanya uwezekano wa kuweka torque inayotumika kwa seti za gurudumu la PE, kwa kujibu kupokea kasi ya angular ya seti za gurudumu, pamoja na vigezo vya nje, kama vile voltage na aina ya sasa kwenye mtandao wa mawasiliano. Simulator hajui kitu kingine chochote na haitaki kujua, ambayo inaacha fizikia ya vifaa vya ndani kwa dhamiri ya msanidi wa locomotive fulani au gari.

Si vigumu nadhani kuwa mbinu hiyo ya kiwango cha chini hufanya iwezekanavyo kutekeleza nuances ndogo zaidi ya mzunguko wa locomotive. Kwa kuongeza, kifaa cha uigaji kinajumuisha seti ya vifaa vya kawaida vilivyosakinishwa kwenye hifadhi ya ndani ya ndani: crane ya treni ya dereva conv. Nambari 395, hali ya msambazaji hewa. Nambari 242, hali ya valve ya breki msaidizi. Nambari 254 na vipengele vingine vya vifaa vya kuvunja. Msanidi wa nyongeza anahitaji tu kuunganisha vipengele hivi kwenye mzunguko wa nyumatiki wa locomotive maalum au gari. Kwa kuongeza, kuna API ya kuunda vitengo vyako vya maunzi.

Kwa usanifu, RRS imejengwa juu ya mwingiliano wa michakato miwili kuu

  • simulator - injini ya mienendo ya treni ya kimwili TrainEngine 2. Inatekeleza fizikia ya harakati za treni, kwa kuzingatia mambo mengi ya nje, kwa kuzingatia mwingiliano wa vitengo vya kusonga kwa njia ya vifaa vya kuunganisha, mchakato wa data kutoka kwa moduli za nje zinazotekeleza fizikia ya uendeshaji wa vifaa vya rolling hisa.
  • mtazamaji - mfumo mdogo wa picha unaoonyesha mwendo wa treni, uliojengwa kwa msingi wa injini ya michoro OpenSceneGraph

Mifumo hii ndogo huingiliana kupitia kumbukumbu iliyoshirikiwa, inayotekelezwa kulingana na darasa la QSharedMemory la mfumo wa Qt. Maonyesho ya kwanza yalitumia IPC yenye msingi wa tundu, na kuna mipango ya kurudi kwenye teknolojia hii katika siku zijazo, kwa kuzingatia uboreshaji wa baadhi ya sehemu za simulator na mahitaji kwa jicho kwa siku zijazo. Mpito kwa kumbukumbu iliyoshirikiwa kwa kiasi fulani ilikuwa hatua ya kulazimishwa ambayo imepita manufaa yake.

Sitaelezea nuances - mabadiliko mengi ya maendeleo ya mradi huu tayari yameainishwa katika machapisho yangu kwenye rasilimali, haswa, ninayo mengi ya kutosha. mfululizo wa mafunzo kwenye injini ya OpenSceneGraph, ambayo ilikua nje ya mazoezi ya kufanya kazi kwenye mradi huu.

Sio kila kitu kwenye mradi ni laini kama tungependa. Hasa, mfumo mdogo wa graphics sio kamili katika suala la ubora wa utoaji, na utendaji wa sim huacha kuhitajika. Toleo hili lina lengo moja - kutambulisha jumuiya ya wapenda usafiri wa reli kwenye mradi huo, kueleza uwezo wake na hatimaye kuunda kiigaji cha reli kilicho wazi na cha jukwaa lenye API ya hali ya juu kwa wasanidi programu jalizi.

Matarajio

Matarajio yanakutegemea wewe, watumiaji na wasanidi wetu wapendwa wa siku zijazo. Mradi umefunguliwa na upo tovuti rasmiambapo unaweza kupakua simulator, kutoka nyaraka, muundo ambao utajazwa tena kila wakati. Ipo jukwaa mradi, Kikundi cha VKNa Kituo cha YouTube, ambapo unaweza kupata ushauri na usaidizi wa kina zaidi.

Asante!

Chanzo: mapenzi.com

Kuongeza maoni