Venemere Transpordisimulaator (RRS): esimene avalik vÀljaanne

JÔudis kÀtte kauaoodatud pÀev, mil saan lÔpuks esitleda seda arendust. Projekt alustati tÀpselt aasta tagasi, 1. septembril 2018, vÀhemalt RRS hoidlas Gtihub esimene kohustus on selline kuupÀev.

Reisijate rong jaamas Rostov-Glavny (klikatav)

Venemere Transpordisimulaator (RRS): esimene avalik vÀljaanne

Mis on RRS? See on avatud platvormidevaheline simulaator 1520 mm rööbastee sĂ”idukitele. Lugeja kĂŒsib Ă”igustatult: "Kuidas, milleks on see projekt vajalik, kui raudteeteemalisi simulaatoreid on piisavalt, nii kommertslikke kui ka avatud?" Sellele kĂŒsimusele vastanud, pakun vaadata allapoole

Projekti ajalugu

Kauges minevikus, 2001. aastal, nÀgi ilmavalgust Microsoft Train Simulator (MSTS), mis tÔi meie riigis esile tohutu raudteeteemaliste simulaatorite kogukonna. Aastate jooksul, mil projekt eksisteeris (kuni Microsoft loobus sellest, et tegeleda huvitavamate asjadega, nagu Nokiat pankrotti viimine jne), kogunes hulgaliselt selle jaoks loodud lisandeid: marsruute, sÔidukeid, stsenaariume.

MSTS-i baasil loodi hiljem mitmeid teisi projekte, nagu OpenRails, RTrainSim (RTS) ja teised lisandid ning tuletised. Ilmusid ka kommertsooted, nagu kuulus Trainz. Sellega oli kĂ”ik hĂ€sti, kuid paljusid raudteetranspordi fĂ€nne ei rahuldanud need tooted tĂ€iesti objektiivsetel pĂ”hjustel — nad ei kajasta kodumaise rolling stock'i spetsiifikat, mida kasutatakse ja arendatakse endise NĂ”ukogude Liidu ruumis. Erakordselt ilmneb see, kui vaadata, kuidas rongide pidurid on rakendatud — ĂŒheski nimetatud projektis ei ole ja ei tule korralikku automatiseeritud pidurisĂŒsteemi rakendust Matrosova sĂŒsteemis.

Kaugel, 2008. aastal, ilmus veel ĂŒks projekt — ZDSimulator, mille arendas Vyacheslav Usov. Projekt on silmapaistev, kuna eelmainitud puudused on arvestatud ja parandatud, olles samal ajal algselt suunatud vene rööbastee sĂ”idukitele. Kuid ĂŒks suur "aga" — projekt on pĂ”hiĂ”igustatud ja suletud, arhitektuuriliselt ei luba oma rolling stock'i integreerimist.

Ma tulin raudteeteemasse 2007. aastal, kui hakkasin töötama OAO VELNII, teadustajana, ja pĂ€rast kandidaadi vĂ€itekirja kaitsmist 2008. aastal — vanemteadurina. Just sel ajal tutvusin viimaste saavutustega raudtee simulaatorite valdkonnas. See, mida nĂ€gin, ei meeldinud mulle, ja projekt ZDSimulator ei olnud siis veel olemas. Hiljem, olles paindlikkuse dĂŒnaamikast vaimustunud, lĂ€ksin Rostovi raudteeĂŒlikooli (РГУПС) doktorivĂ€itluseteema juures, mis kĂ€sitles kaubavedude pidurdamise dĂŒnaamikat. TĂ€naseks juhin ma raudtee transpordi simulaatorite arendamist meie ĂŒlikoolis ja Ă”petan erialaseid aineid "Veovahendite" Ă”ppesuunas.

Seoses eeltooduga tekkis idee simulaatori loomiseks, mis vĂ”imaldaks lisanduse arendajal tĂ€ielikku kontrolli saada fĂŒĂŒsikaliste protsesside ĂŒle, mis toimuvad veovahendis. Sarnane kosmosesimulaatorile Orbiter, millele ma kunagi töötasin lisanduse arendamisega R-7 rakettide perede kohta. Aasta tagasi haarasin ma sellest tööst kinni ja suundusin sellesse tĂ€ielikult. 26. detsembril 2018 nĂ€gi pĂ€evavalgust see tehnoloogiline demo..

Minu töö mĂ€rkasid entusiastid, ja tuntud raudtee simulaatorite ringkondades visuaalse sisu looja ZDsimulatorile Roman Biryukov (Romych RĆœDUZ) pakub mulle abi ja koostööd projekti edasises arengus. Hiljem liitus meiega veel ĂŒks arendaja — Alexander Mishchenko (Ulovskii2017), ZDsimulatori marsruutide looja. Meie koostöö viis meid esimese vĂ€ljaandmiseni. Videol on mĂ”ned ĂŒlevaated sellest, kuidas mĂ€ng oma esimeses vĂ€ljaandes vĂ€lja nĂ€eb.

MĂ€ngi videot

RRS simulaatori omadused

Esiteks, see on avatud tarkvaraarhitektuur. RÀÀkides sellest, et simulaatori kood on avatud, on olemas API ja SDK, mis on suunatud kolmandate osapoole lisanduste arendajatele. Sisenemise piir on ĂŒsna kĂ”rge — nĂ”utakse pĂ”hiteadmisi C++ programmeerimiskeelest. Simulaator on kirjutatud just sellel keeles, kasutades GCC kompilaatorit ja selle varianti MinGW Windowsi operatsioonisĂŒsteemi jaoks. Lisaks on soovitatav arendajal olla tuttav Qt raamistikuga, kuna paljud selles sisalduvad kontseptsioonid toovad mĂ€ngu arhitektuuri alused.

Kuid piisava pĂŒhendumise ja sooviga avab see projekt arendajatele tohutuid vĂ”imalusi. Rongi veomoodulid on teostatavad moodulitena, mis pĂ”hinevad dĂŒnaamilistel raamatukogudel. Peamine struktuuriline element simulaatoris on veomoodul, vĂ”i veomoodul (VE) — vagun (ilma enda jĂ”uallikata vĂ”i mootorrongi koosseisus) vĂ”i lokomotiivi sektsioon. API vĂ”imaldab mÀÀrata pöördemomendi, mis rakendatakse VE rattapaare, ning vastuseks saadakse rattapaaride nurkkiirus, samuti vĂ€listulemused, nagu pingetase ja voolu tĂŒĂŒp kontaktvĂ”rgus. Simulaator ei tea suuremast ja ei soovi teada, mis jĂ€tab siseruumide töö fĂŒĂŒsika konkreetse lokomotiivi vĂ”i vaguni arendaja vastutusele.

Ei ole raske arvata, et selline suhteliselt madala tasandi lĂ€henemine annab vĂ”imaluse teostada lokomotiivi skeemi kĂ”ige pisemaid nĂŒansse. Lisaks sisaldab simulaatori paketis standardse varustuse komplekt, mis on paigaldatav kohalikele veomoodulitele: juhtide reisivagun nr 395, Ă”hujahuti nr 242, abilaaduri piduri kraan nr 254 ja muud pidurivarustuse elemendid. TĂ€ienduse arendajal on piisav, kui ĂŒhendada need elemendid konkreetse lokomotiivi vĂ”i vaguni pneumaatilisse skeemi. Samuti on olemas API, et luua oma varustuse komponente.

Arhitektuuriliselt on RRS ĂŒles ehitatud kahe peamise protsessi koostööle

  • simulaator — rongidĂŒnaamika fĂŒĂŒsikamootor TrainEngine 2. Teostab rongi liikumise fĂŒĂŒsikat, arvestades paljusid vĂ€liseid tegureid, sealhulgas veomoodulite vahelist interaktsiooni kaudu ĂŒhendusseadmeid, ning tegeleb andmete töötlemisega, mis tuleb vĂ€lismoodulitest, mis teostavad varustuse fĂŒĂŒsika töö.
  • vaataja — graafiline alamsĂŒsteem, mis teostab rongi liikumise visualiseerimist ja on ĂŒles ehitatud graafilise mootori OpenSceneGraph

Need to use one-hour course about the system? Yes. Delivered interactions on the web via common memory based on the QSharedMemory class from the Qt framework. Initial demo versions utilized IPC based on sockets, and a return to this technology is planned in the future, accounting for enhancements of certain project parts and needs with an eye toward the future. The transition to common memory was, in some way, a necessary measure that has outlived itself.

I won't delve into the details — many of the twists and turns in the development of this project are already outlined in my publications on the resource; in particular, I have a fairly extensive cycle of tutorials on the OpenSceneGraph engine, which actually arose from the practical experience gained in this project.

Things in the project aren't as smooth as one would like. In particular, the graphical subsystem is quite far from perfection in terms of rendering quality, and the performance of the simulator leaves much to be desired. This release has one purpose — to familiarize the railway transport community with the project, outline its capabilities, and finally create an open, cross-platform railway simulator with an advanced API for add-on developers.

Prospects

The prospects depend on you, our dear future users and developers. The project is open; there is a site ametlik veebisait, where you can download the simulator, with Microsofti dokumentatsioonile. Ainus tĂ€helepanek — Ubuntu distributsiooni oleme juba alla laadinud ja installime selle jĂ€rgmises etapis. Peaaegu kogu seadistamine seisneb Windowsi Linuxi alamsĂŒsteemi ja Virtuaalmasinate platvormi tĂ€iendavate komponentide lubamises ning seejĂ€rel arvuti seadete muutuste rakendamiseks taaskĂ€ivitamises:, the number of which will be continuously increasing. There exists a forum for the project, a VK group, ja a YouTube channel, where you can get the most detailed consultation and assistance.

AitÀh tÀhelepanu eest!

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster