د روسیې د اورګاډي سمیلیټر (RRS): لومړی عامه خپرونه

هغه ورځ راورسیده چې زه یې په تمه وم کله چې زه په پای کې دا پرمختګ وړاندې کولی شم. دا پروژه لږ تر لږه یو کال دمخه د سپتمبر په 1، 2018 کې پیل شوې وه په Gtihub کې د RRS ذخیره لومړۍ ژمنه دقیقا دا نیټه لري.

په روستوف مین سټیشن کې د مسافر وړونکی اورګاډی (د کلیک کولو وړ)

د روسیې د اورګاډي سمیلیټر (RRS): لومړی عامه خپرونه

RRS څه شی دی؟ دا د 1520 ملي میتر ګیج رولینګ سټاک خلاص کراس پلیټ فارم سمیلیټر دی. لوستونکی به په طبیعي ډول پوښتنه وکړي: "بخښنه غواړم، دا پروژه د څه لپاره ده، که چیرې د ریل پټلۍ کافي شمیر سمیلیټرونه وي، دواړه سوداګریز او خلاص دي؟" د دې پوښتنې ځواب لپاره، زه وړاندیز کوم چې د پیشو لاندې وګورئ

د پروژې تاریخ

یو وخت، په 2001 کې، دا خپور شو د مایکروسافټ ټرین سمیلیټر (MSTS)، کوم چې زموږ په هیواد کې د ریل پټلۍ لویې ټولنې ته وده ورکړه. د څو کلونو په اوږدو کې چې دا پروژه شتون درلود (تر هغه چې مایکروسافټ دا پریښوده، د دې لپاره نورو په زړه پورې شیانو ته لاړ، لکه د نوکیا افلاس، او نور)، پروژې د دې لپاره رامینځته شوي ډیری اضافه ترلاسه کړل: لارې، رولینګ سټاک، سناریوګانې

د MSTS پر بنسټ، یو شمیر نورې پروژې وروسته رامنځته شوې، لکه OpenRails, RTrainSim (RTS) او نور اضافه او مشتقات. سوداګریزې پروژې هم ښکاره شوې، لکه مشهور ټرینز. او هرڅه به سم وي، مګر د اورګاډي ټرانسپورټ ډیری مینه وال د دې محصولاتو څخه د کافي هدفي دلایلو لپاره راضي ندي - دوی په هیڅ ډول د شوروي وروسته ځای کې د کورني رولینګ سټاک فعالیت او وده نه کوي. دا په ځانګړي توګه شدید دی کله چې د ریل بریکونو پلي کولو څرنګوالي ته ګورو - هیڅ یو لیست شوي پروژې د ماتروسوف سیسټم اتوماتیک بریکونه نورمال پلي نه کړي یا به ولري.

د 2008 په دومره لرې نه کال کې، بله پروژه ښکاره شوه - ZDSimulatorد Vyacheslav Usov لخوا جوړ شوی. پروژه د پام وړ ده چې دا پورته ذکر شوي نیمګړتیاوې په پام کې نیسي او سموي، پداسې حال کې چې په پیل کې د روسیې ګیج رولینګ سټاک باندې تمرکز کوي. مګر یو لوی "مګر" شتون لري - پروژه ملکیت او تړلې ده، په معمارۍ کې د خپل رولینګ سټاک معرفي کولو ته اجازه نه ورکوي.

زه پخپله د ریل پټلۍ موضوع ته په 2007 کې راغلم، کله چې ما په کار پیل وکړ JSC VELNIIد څیړونکي ملګري په توګه، او په 2008 کې د خپل پی ایچ ډی مقالې دفاع کولو وروسته، د لوړ تحقیق ملګري په توګه. دا هغه وخت و چې زه په هغه وخت کې د اورګاډي سمولو لوبو په برخه کې د وروستیو لاسته راوړنو سره آشنا شوم. او ما هغه څه خوښ نه کړل چې ما ولیدل، او د ZDSimulator پروژه په هغه وخت کې شتون نه درلود. وروسته، د رولینګ سټاک متحرکاتو ته متوجه شوم، زه د روستوف ایالت د ټرانسپورټ پوهنتون ته راغلم (RGUPS) د بار وړونکي اورګاډي د بریک کولو متحرکاتو په اړه د دوکتورا مقالې موضوع سره. نن ورځ زه زموږ د پوهنتون لپاره د اورګاډي ترانسپورت روزنیز کمپلیکسونو پراختیا رهبري کوم او د ټراکشن رولینګ سټاک ډیپارټمنټ کې ځانګړي ډیسپلینونه تدریسوم.

د پورتنیو ټولو سره په اړیکه کې ، د سمیلیټر رامینځته کولو مفکوره راپورته شوه چې د دې لپاره د اضافې پراختیا کونکي ته به اجازه ورکړي چې په رولینګ سټاک کې رامینځته شوي فزیکي پروسو باندې بشپړ کنټرول ترلاسه کړي. د اوربیټر سپیس سمیلیټر ته ورته ، د کوم لپاره چې ما یوځل د R-7 پراساس د لانچ موټرو د کورنۍ په شکل کې اضافه رامینځته کړه. یو کال دمخه ما دا کار په غاړه واخیست او ځان یې ورته وغورځاوه. د دسمبر 26، 2018 دلته رڼا ولیدله د دې ټیکنالوژۍ ډیمو.

زما کار د مینه والو لخوا لیدل شوی و، او د ریل سیمر په حلقو کې ښه پیژندل شوی، د ZDsimulator لپاره د بصری مینځپانګې جوړونکی رومن بیریوکوف (رومیچ روسی ریل پټلۍ) ماته د پروژې د لا پراختیا په برخه کې د مرستې او همکارۍ وړاندیز وکړ. وروسته یو بل پرمخ وړونکی له موږ سره یوځای شو - الکساندر میشینکو (Ulovskii 2017)، د ZDsimulator لپاره د لارې جوړونکی. زموږ همکاري زموږ د لومړي خوشې کیدو لامل شوې. ویډیو یو څه عمومي کتنه ښیې چې څنګه لوبه د خپل لومړي خوشې کیدو لپاره ګوري

د RRS سمیلیټر ځانګړتیاوې

له هرڅه دمخه ، دا د خلاص سافټویر جوړښت دی. د دې حقیقت یادونه نه کول چې د سمیلیټر کوډ خلاص دی ، دلته یو API او SDK شتون لري چې هدف یې د دریمې ډلې اضافې پراختیا کونکي دي. د ننوتلو خنډ خورا لوړ دی - لومړني C++ پراختیایي مهارتونو ته اړتیا ده. سمیلیټر په دې کې لیکل شوی، د وینډوز عملیاتي سیسټم لپاره د GCC کمپیلر او د دې MinGW ډول په کارولو سره. سربیره پردې ، دا د پراختیا کونکي لپاره مشوره ورکول کیږي چې د Qt چوکاټ سره آشنا وي ، ځکه چې د دې ډیری مفکورې د لوبې جوړښت لاندې لري.

په هرصورت ، د مناسب لیوالتیا او غوښتنې سره ، دا پروژه د اضافې پراختیا کونکي لپاره خورا لوی فرصتونه خلاصوي. رولینګ سټاک د متحرک کتابتونونو پراساس د ماډلونو په بڼه پلي کیږي. په سمیلیټر کې اصلي ساختماني عنصر د رولینګ سټاک واحد دی، یا ګرځنده واحد (MU) - یو موټر (غیر ځان چلونکی یا د څو واحد اورګاډي د یوې برخې په توګه) یا د لوکوموټیو یوه برخه. API دا ممکنه کوي چې د PE څرخ سیټونو کې پلي شوي تورک تنظیم کړي ، په ځواب کې د ویل سیټونو زاویې سرعت ترلاسه کړي ، په بیله بیا بهرني پیرامیټونه لکه ولتاژ او د اړیکې شبکې کې د اوسني ډول. سمیلیټر نور څه نه پوهیږي او نه غواړي پوه شي، کوم چې د داخلي تجهیزاتو فزیک د یو ځانګړي لوکوموټیو یا موټر جوړونکي ضمیر ته پریږدي.

دا ستونزمنه نده چې اټکل وکړو چې دا ډول نسبتا ټیټه کچه طریقه دا ممکنه کوي چې د لوکوموټیو سرکټ ترټولو کوچني باریکونه پلي کړي. سربیره پردې، د سمیلیټر کټ کې د معیاري تجهیزاتو یوه سیټ شامل دي چې په کورني رولینګ سټاک کې نصب شوي: د موټر چلوونکي ریل کرین بدل. شمیره 395، د هوا ویشونکي حالت. نمبر 242، د معاون بریک والو حالت. نمبر 254 او د بریک تجهیزاتو نور عناصر. د اضافې پراختیا کونکی یوازې اړتیا لري چې دا عناصر د ځانګړي لوکوموټیو یا موټر نیوماتیک سرکټ سره وصل کړي. سربیره پردې ، ستاسو د هارډویر واحدونو رامینځته کولو لپاره API شتون لري.

په معمارۍ کې، RRS د دوو اصلي پروسو په تعامل کې جوړ شوی دی

  • سمولیټر — د فزیک ټرین ډینامیک انجن TrainEngine 2. د ریل حرکت فزیک پلي کوي ډیری بهرني فکتورونه په پام کې نیولو سره، د یوځای کولو وسیلو له لارې د حرکت واحدونو متقابل عمل په پام کې نیولو سره، د بهرنیو ماډلونو څخه ترلاسه شوي ډاټا پروسس کوي چې د رولینګ سټاک تجهیزاتو عملیاتي فزیک پلي کوي.
  • لیدونکی - یو ګرافیکي فرعي سیسټم چې د اورګاډي حرکت لیدل کیږي، د ګرافیک انجن پر بنسټ جوړ شوی OpenSceneGraph

دا فرعي سیسټمونه د ګډ حافظې له لارې یو له بل سره اړیکه لري، د QT چوکاټ د QSharedMemory ټولګي پراساس پلي کیږي. لومړی ډیمو د ساکټ پر بنسټ IPC کارولی، او په راتلونکي کې د دې ټیکنالوژۍ ته د بیرته راستنېدو پالنونه شتون لري، د سمیلیټر ځینې برخې اصالح او راتلونکي ته د سترګو اړتیا په پام کې نیولو سره. ګډې حافظې ته لیږد تر یوې اندازې پورې یو جبري اقدام و چې د هغې ګټورتیا یې پای ته ورسوله.

زه به لنډیزونه بیان نه کړم - د دې پروژې د پراختیا ډیری بدلونونه لا دمخه زما د سرچینو په خپرونو کې بیان شوي ، په ځانګړي توګه ، زه خورا پراخه لرم. په OpenSceneGraph انجن کې د درسونو لړۍ، کوم چې په دې پروژه کې د کار کولو تمرین څخه وده کړې.

په پروژه کې هر څه دومره اسانه ندي لکه څنګه چې موږ یې غواړو. په ځانګړې توګه، د ګرافیک فرعي سیسټم د رینډینګ کیفیت له مخې کامل څخه لرې دی، او د سیم فعالیت ډیر څه پریږدي چې مطلوب وي. دا خپرونه یو هدف لري - پروژې ته د ریل ټرانسپورټ لیوالانو ټولنه معرفي کول، د هغې وړتیاوې په ګوته کول او په پای کې د اضافې پراختیا کونکو لپاره د پرمختللي API سره یو خلاص، کراس پلیټ فارم ریل سمیلیټر رامینځته کول.

امکانات

امکانات په تاسو پورې اړه لري، زموږ ګران راتلونکي کاروونکي او پراختیا کونکي. پروژه پرانیستې ده او شتون لري رسمي ویب پاڼهله کوم ځای څخه چې تاسو کولی شئ سمیلیټر ډاونلوډ کړئ اسناد، چې ترکیب به یې په دوامداره توګه ډک شي. شتون لري فورم پروژه د VK ګروپاو یوټیوب چینل، چیرې چې تاسو خورا مفصل مشورې او مرستې ترلاسه کولی شئ.

ستاسو د پاملرنې مننه!

سرچینه: www.habr.com

Add a comment