Simulator Railway Russian (RRS): itusilẹ gbangba akọkọ

Ọjọ ti Mo ti n duro de ti de nigbati MO le ṣafihan idagbasoke yii nikẹhin. Ise agbese na ti bẹrẹ ni ọdun kan sẹyin, ni Oṣu Kẹsan 1, 2018, o kere ju Awọn ibi ipamọ RRS lori Gtihub akọkọ ifaramo ni o ni gangan yi ọjọ.

Ọkọ irin ajo ni ibudo akọkọ Rostov (titẹ)

Simulator Railway Russian (RRS): itusilẹ gbangba akọkọ

Kini RRS? Eyi jẹ simulator agbelebu-Syeed ṣiṣi ti ọja sẹsẹ iwọn 1520 mm. Oluka naa yoo beere ibeere naa nipa ti ara: “Dakun, kini iṣẹ akanṣe yii fun, ti nọmba awọn afọwọṣe oju-irin oju-irin ba wa, mejeeji ti iṣowo ati ṣiṣi?” Fun idahun si ibeere yii, Mo daba lati wo labẹ ologbo naa

Itan ti iṣẹ akanṣe

Ni akoko kan, ni ọdun 2001, o ti gbejade Simulator Train Microsoft (MSTS), eyiti o jẹ ki agbegbe nla ti awọn ọkọ oju-irin simmers ni orilẹ-ede wa. Ni awọn ọdun pupọ ti iṣẹ akanṣe yii wa (titi Microsoft yoo fi kọ ọ silẹ, ti nlọ si awọn nkan ti o nifẹ si diẹ sii, gẹgẹbi idi ti Nokia, ati bẹbẹ lọ), iṣẹ akanṣe naa ni ọpọlọpọ awọn afikun ti a ṣẹda fun rẹ: awọn ipa-ọna, ọja yiyi, awọn oju iṣẹlẹ.

Da lori MSTS, nọmba awọn iṣẹ akanṣe miiran ni a ṣẹda lẹhinna, gẹgẹbi OpenRails, RtrainSim (RTS) ati awọn afikun ati awọn itọsẹ. Awọn iṣẹ iṣowo tun han, gẹgẹbi olokiki Trainz. Ati pe ohun gbogbo yoo dara, ṣugbọn ọpọlọpọ awọn onijakidijagan ti ọkọ oju-irin ọkọ oju-irin ko ni itẹlọrun pẹlu awọn ọja wọnyi fun awọn idi idi ti o daju - wọn ko ṣe afihan awọn pato ti ọja sẹsẹ inu ile ti o ṣiṣẹ ati idagbasoke ni aaye lẹhin-Rosia. Eyi jẹ pataki paapaa nigbati o n wo bi a ṣe ṣe imuse awọn idaduro ọkọ oju-irin - ko si ọkan ninu awọn iṣẹ akanṣe ti a ṣe akojọ tabi yoo ni imuse deede ti awọn idaduro adaṣe ti eto Matrosov.

Ni ọdun ti ko jinna ti 2008, iṣẹ akanṣe miiran han - ZDSimulator, ni idagbasoke nipasẹ Vyacheslav Usov. Ise agbese na jẹ o lapẹẹrẹ ni pe o ṣe akiyesi ati pe o ṣe atunṣe awọn ailagbara ti a mẹnuba loke, lakoko ti o ni idojukọ akọkọ lori ọja sẹsẹ ti Russia. Ṣugbọn nla kan wa “ṣugbọn” - iṣẹ akanṣe jẹ ohun-ini ati pipade, ti ayaworan ko gba laaye ifihan ti ọja yiyi tirẹ.

Emi funrarami wa si koko-ọrọ oju-irin ni ọdun 2007, nigbati Mo bẹrẹ ṣiṣẹ ni JSC VELNII, gẹgẹbi ẹlẹgbẹ iwadi, ati lẹhin ti o daabobo iwe-ẹkọ Ph.D. rẹ ni 2008, gẹgẹbi ẹlẹgbẹ iwadi giga. Ìgbà yẹn gan-an ni mo ti mọ àwọn àṣeyọrí tuntun tó ṣẹ̀ṣẹ̀ dé ní pápá eré ìdárayá ọkọ̀ ojú irin nígbà yẹn. Ati pe Emi ko fẹran ohun ti Mo rii, ati pe iṣẹ akanṣe ZDSimulator ko si ni akoko yẹn. Lẹ́yìn náà, bí mo ṣe ń fani mọ́ra láti ọ̀dọ̀ àwọn ọjà yíyí, mo wá sí Rostov State University of Transport (RGUPS) pẹlu koko-ọrọ ti iwe-ẹkọ oye oye oye lori awọn agbara braking ti ọkọ oju irin ẹru. Loni Mo ṣe itọsọna idagbasoke ti awọn ile-ẹkọ ikẹkọ irinna ọkọ oju-irin fun ile-ẹkọ giga wa ati kọ awọn ilana-iṣe amọja ni Sakaani ti Iṣura Rolling Rolling.

Ni asopọ pẹlu gbogbo awọn ti o wa loke, imọran dide ti ṣiṣẹda simulator kan ti yoo jẹ ki olupilẹṣẹ ti fikun-un fun lati ni iṣakoso ni kikun lori awọn ilana ti ara ti o waye ninu ọja yiyi. Iru si simulator aaye Orbiter, fun eyiti Mo ni idagbasoke lẹẹkan ni afikun ni irisi idile ti awọn ọkọ ifilọlẹ ti o da lori R-7. Ni ọdun kan sẹhin Mo gba iṣẹ yii mo si ju ara mi sinu rẹ. Oṣu Kejila ọjọ 26, Ọdun 2018 ri imọlẹ nibi demo ọna ẹrọ yi.

Awọn alara ṣe akiyesi iṣẹ mi, ati pe olokiki ni awọn agbegbe ti awọn simmers oju-irin, olupilẹṣẹ akoonu wiwo fun ZDsimulator Roman Biryukov (Romych Railways Rọsia) fun mi ni iranlọwọ ati ifowosowopo ni ilọsiwaju ilọsiwaju ti iṣẹ naa. Nigbamii olupilẹṣẹ miiran darapọ mọ wa - Alexander Mishchenko (Ulovskiy2017), Ẹlẹda ipa ọna fun ZDsimulator. Ifowosowopo wa mu wa si idasilẹ akọkọ wa. Fidio naa fihan diẹ ninu Akopọ ti bii ere ṣe n wa itusilẹ akọkọ rẹ

Awọn ẹya ara ẹrọ ti RRS Simulator

Ni akọkọ, o jẹ faaji sọfitiwia ṣiṣi. Lai mẹnuba otitọ pe koodu simulator wa ni sisi, API kan wa ati SDK ti o ni ero si awọn olupilẹṣẹ ti awọn afikun awọn ẹni-kẹta si rẹ. Idena titẹsi jẹ giga pupọ - awọn ọgbọn idagbasoke C ++ ipilẹ nilo. A kọ simulator sinu rẹ, ni lilo akopọ GCC ati iyatọ MinGW rẹ fun ẹrọ ṣiṣe Windows. Ni afikun, o ni ṣiṣe fun awọn Olùgbéejáde a faramọ pẹlu Qt ilana, niwon ọpọlọpọ awọn ti awọn oniwe-ero underlies awọn ere ká faaji.

Bibẹẹkọ, pẹlu aisimi ati ifẹ, iṣẹ akanṣe yii ṣii awọn aye nla fun olupilẹṣẹ afikun. Ọja sẹsẹ ti wa ni imuse ni irisi awọn modulu ti o da lori awọn ile-ikawe ti o ni agbara. Ẹya ipilẹ akọkọ ninu simulator ni a kuro ti sẹsẹ iṣura, tabi ẹrọ alagbeka (MU) - ọkọ ayọkẹlẹ kan (ti kii ṣe ti ara ẹni tabi gẹgẹbi apakan ti ọkọ oju-irin ọpọ) tabi apakan ti locomotive. API jẹ ki o ṣee ṣe lati ṣeto iyipo ti a lo si awọn ipilẹ kẹkẹ PE, ni idahun gbigba iyara angula ti awọn ipilẹ kẹkẹ, ati awọn aye ita, bii foliteji ati iru lọwọlọwọ ninu nẹtiwọọki olubasọrọ. Simulator ko mọ ohunkohun miiran ati pe ko fẹ lati mọ, eyiti o fi fisiksi ti ohun elo inu si ẹri-ọkan ti olupilẹṣẹ ti locomotive tabi ọkọ ayọkẹlẹ kan pato.

Ko soro lati gboju le won pe iru kan jo kekere-ipele ona mu ki o ṣee ṣe lati se awọn kere nuances ti awọn locomotive Circuit. Ni afikun, ohun elo simulator pẹlu ṣeto awọn ohun elo boṣewa ti a fi sori ọja sẹsẹ inu ile: conv. No.. 395, air olupin majemu. No.. 242, iranlọwọ birki majemu. No.. 254 ati awọn miiran eroja ti ṣẹ egungun. Olùgbéejáde ti afikun nikan nilo lati so awọn eroja wọnyi pọ si iyika pneumatic ti locomotive kan pato tabi ọkọ ayọkẹlẹ. Ni afikun, API wa fun ṣiṣẹda awọn ẹya ohun elo tirẹ.

Ni ayaworan, RRS ti wa ni itumọ ti lori ibaraenisepo ti awọn ilana akọkọ meji

  • labeabo - ti ara reluwe dainamiki engine TrainEngine 2. Ṣiṣe awọn fisiksi ti gbigbe ọkọ oju-irin, ni akiyesi ọpọlọpọ awọn ifosiwewe ita, ni akiyesi ibaraenisepo ti awọn ẹya gbigbe nipasẹ awọn ẹrọ isọpọ, awọn ilana data ti o nbọ lati awọn modulu ita ti o ṣe imuse fisiksi ti iṣẹ ti awọn ohun elo iṣura sẹsẹ.
  • oluwo - eto iha ayaworan kan ti o ṣe akiyesi gbigbe ọkọ oju irin, ti a ṣe lori ipilẹ ti ẹrọ eya aworan kan ṢiiSeneGraph

Awọn wọnyi ni subsystems nlo pẹlu kọọkan miiran nipasẹ pín iranti, muse da lori QSharedMemory kilasi ti Qt ilana. Awọn demos akọkọ lo IPC ti o da lori iho, ati pe awọn ero wa lati pada si imọ-ẹrọ yii ni ọjọ iwaju, ni akiyesi isọdọtun ti diẹ ninu awọn ẹya ti simulator ati nilo pẹlu oju si ọjọ iwaju. Iyipada si iranti pinpin jẹ iwọn diẹ ti a fi agbara mu ti o ti kọja iwulo rẹ.

Emi kii yoo ṣe apejuwe awọn nuances - ọpọlọpọ awọn ipadabọ ti idagbasoke iṣẹ akanṣe yii ni a ti ṣe ilana tẹlẹ ninu awọn atẹjade mi lori awọn orisun, ni pataki, Mo ni iwọn to gaju. lẹsẹsẹ awọn olukọni lori ẹrọ OpenSceneGraph, eyiti o dagba lati inu iṣe ti ṣiṣẹ lori iṣẹ akanṣe yii.

Kii ṣe ohun gbogbo ninu iṣẹ akanṣe jẹ dan bi a ṣe fẹ. Ni pato, awọn eya subsystem jina lati pipe ni awọn ofin ti Rendering didara, ati awọn iṣẹ ti awọn SIM fi oju Elo a fẹ. Itusilẹ yii ni ibi-afẹde kan - lati ṣafihan agbegbe ti awọn alarinrin irinna ọkọ oju-irin si iṣẹ akanṣe naa, ṣe agbekalẹ awọn agbara rẹ ati nikẹhin ṣẹda ṣiṣii, ẹrọ apere oju-irin agbelebu-Syeed pẹlu API ilọsiwaju fun awọn olupilẹṣẹ afikun.

Awọn ireti

Awọn ifojusọna da lori iwọ, awọn olumulo iwaju wa ọwọn ati awọn olupilẹṣẹ. Ise agbese na wa ni sisi o si wa aaye ayelujara osisenibi ti o ti le ṣe igbasilẹ simulator, lati iwe aṣẹ, awọn tiwqn ti eyi ti yoo wa ni continuously replenished. O wa apero ise agbese, Ẹgbẹ VKati YouTube ikanni, nibi ti o ti le gba imọran alaye julọ ati iranlọwọ.

Ṣayẹwo bayi!

orisun: www.habr.com

Fi ọrọìwòye kun