روسي ريلوي سمائيٽر (RRS): پهريون عوامي رليز

جنهن ڏينهن جو آئون انتظار ڪري رهيو آهيان اهو اچي ويو آهي جڏهن آئون آخرڪار هن ترقي کي پيش ڪري سگهان ٿو. پروجيڪٽ هڪ سال اڳ شروع ڪيو ويو، سيپٽمبر 1، 2018 تي، گهٽ ۾ گهٽ Gtihub تي RRS مخزن پهرين واعدو بلڪل هن تاريخ آهي.

Rostov مين اسٽيشن تي مسافر ٽرين (ڪلڪ ڪرڻ لائق)

روسي ريلوي سمائيٽر (RRS): پهريون عوامي رليز

RRS ڇا آهي؟ هي 1520 ملي ميٽر گيج رولنگ اسٽاڪ جو هڪ کليل ڪراس پليٽ فارم سمائيٽر آهي. پڙهندڙ قدرتي طور تي سوال پڇندو: "معاف ڪجو، هي منصوبو ڇا آهي، جيڪڏهن ڪافي تعداد ۾ ريلوي سموليٽر آهن، تجارتي ۽ کليل ٻنهي؟" هن سوال جي جواب لاء، آئون ٻلي جي هيٺان ڏسڻ جي صلاح ڏيان ٿو

منصوبي جي تاريخ

هڪ دفعي، 2001 ۾، شايع ٿيو Microsoft ٽرين سمائيٽر (MSTS)، جنهن اسان جي ملڪ ۾ ريل گاڏين جي هڪ وڏي برادري کي جنم ڏنو. ڪيترن ئي سالن کان اهو منصوبو موجود هو (جيستائين Microsoft ان کي ڇڏي ڏنو، ان لاءِ وڌيڪ دلچسپ شين ڏانهن وڌيو، جهڙوڪ نوڪيا جو ڏيوالو وغيره)، پراجيڪٽ ان لاءِ ٺاهيل اضافن جو هڪ وڏو تعداد حاصل ڪيو: رستا، رولنگ اسٽاڪ، منظرنامو

MSTS جي بنياد تي، ٻيا ڪيترائي منصوبا بعد ۾ ٺاهيا ويا، جهڙوڪ اوپن ريل, RTrainSim (RTS) ۽ ٻيا اضافو ۽ نڪتل. تجارتي منصوبا پڻ ظاهر ٿيا، جهڙوڪ مشهور ٽرينز. ۽ سڀ ڪجھ ٺيڪ ٿي ويندو، پر ريلوي ٽرانسپورٽ جي ڪيترن ئي مداحن انهن شين سان مطمئن نه آهن ڪافي معقول سببن لاء - اهي ڪنهن به طريقي سان گهريلو رولنگ اسٽاڪ جي خاصيتن کي ظاهر نه ڪندا آهن جيڪي سوويت جي پوسٽ ۾ هلندڙ ۽ ترقي يافته آهن. اهو خاص طور تي سخت آهي جڏهن اهو ڏسي رهيو آهي ته ڪيئن ٽرين جي بريڪن تي عمل ڪيو ويو آهي - فهرست ڏنل منصوبن مان ڪنهن کي به نه آهي يا نه هوندو آهي عام طور تي ماتروسوف سسٽم جي خودڪار بريڪن جو عمل.

2008 جي ايترو پري سال ۾، هڪ ٻيو منصوبو ظاهر ٿيو - ZDSsimulatorVyacheslav Usov پاران تيار ڪيل. پروجيڪٽ ان لحاظ کان قابل ذڪر آهي ته اهو مٿي ذڪر ڪيل خامين کي مدنظر رکي ۽ درست ڪري ٿو، جڏهن ته شروعاتي طور تي روسي گيج رولنگ اسٽاڪ تي ڌيان ڏنو ويو آهي. پر اتي ھڪڙو وڏو آھي "پر" - پروجيڪٽ ملڪيت آھي ۽ بند آھي، تعميراتي طور تي پنھنجي رولنگ اسٽاڪ جي تعارف جي اجازت نه آھي.

مان پاڻ 2007ع ۾ ريلوي جي موضوع تي آيو آهيان، جڏهن مون ان ۾ ڪم ڪرڻ شروع ڪيو هو JSC VELNII، هڪ ريسرچ فيلو جي حيثيت سان، ۽ 2008 ۾ پنهنجي پي ايڇ ڊي جي ٿيسز جو دفاع ڪرڻ کان پوءِ، هڪ سينئر ريسرچ فيلو جي حيثيت ۾. ان کان پوء مون کي ان وقت ريلوي سموليشن راندين جي ميدان ۾ جديد ڪاميابين سان واقف ٿي ويو. ۽ مون کي پسند نه ڪيو جيڪو مون ڏٺو، ۽ ZDSimulator پروجيڪٽ ان وقت موجود نه هو. بعد ۾، رولنگ اسٽاڪ جي متحرڪات کان متاثر ٿي، آئون روستوف اسٽيٽ يونيورسٽي ٽرانسپورٽ (آر جي يو پي ايس) هڪ فريٽ ٽرين جي بريڪنگ ڊائنامڪس تي ڊاڪٽريٽ جي مقالي جي موضوع سان. اڄ مان اسان جي يونيورسٽي لاء ريلوي ٽرانسپورٽ ٽريننگ ڪمپليڪس جي ترقي جي اڳواڻي ڪريان ٿو ۽ ٽريڪشن رولنگ اسٽاڪ ڊپارٽمينٽ ۾ خاص مضمون سيکاريندو آهيان.

مٿين سڀني جي سلسلي ۾، خيال پيدا ٿيو هڪ سميلٽر ٺاهڻ جو جيڪو هڪ اضافو جي ڊولپر کي اجازت ڏيندو ته ان لاءِ رولنگ اسٽاڪ ۾ ٿيندڙ جسماني عملن تي مڪمل ڪنٽرول حاصل ڪري. Orbiter space simulator سان ملندڙ جلندڙ، جنهن لاءِ مون هڪ ڀيرو R-7 جي بنياد تي لانچ گاڏين جي هڪ خاندان جي صورت ۾ اضافو ڪيو. هڪ سال اڳ مون اهو ڪم ورتو ۽ پاڻ کي ان ۾ وجهي ڇڏيو. ڊسمبر 26، 2018 هتي روشني ڏٺو هن ٽيڪنالاجي Demo.

منهنجي ڪم کي شوقينن طرفان محسوس ڪيو ويو، ۽ ريلوي سمرز جي حلقن ۾ مشهور، ZDsimulator لاء بصري مواد جو خالق رومن Biryukov (Romych روسي ريلوي) مون کي منصوبي جي وڌيڪ ترقي ۾ مدد ۽ تعاون جي آڇ ڪئي. بعد ۾ هڪ ٻيو ڊولپر اسان سان شامل ٿيو - اليگزينڊر مشچنڪو (Ulovskii2017)، ZDsimulator لاءِ رستو ٺاھيندڙ. اسان جي تعاون اسان کي اسان جي پهرين رليز تائين پهچايو. وڊيو ڏيکاري ٿو ڪجھ جائزو ڏيکاري ٿو ته ڪيئن راند ڏسڻ ۾ اچي ٿي ان جي پهرين رليز لاءِ

آر آر ايس سمائيٽر جون خاصيتون

سڀ کان پهريان، اهو هڪ کليل سافٽ ويئر فن تعمير آهي. ان حقيقت جو ذڪر نه ڪرڻ گهرجي ته سميوليٽر ڪوڊ کليل آهي، اتي هڪ API ۽ SDK آهي جنهن جو مقصد ٽئين پارٽي جي اضافن جي ڊولپرز تي آهي. داخلا جي رڪاوٽ تمام گهڻي آهي - بنيادي C++ ترقي جي صلاحيتن جي ضرورت آهي. سميوليٽر ان ۾ لکيل آهي، ونڊوز آپريٽنگ سسٽم لاءِ GCC ڪمپلر ۽ ان جي MinGW variant استعمال ڪندي. ان کان علاوه، ڊولپر لاء اهو مشورو ڏنو ويو آهي ته Qt فريم ورڪ سان واقف ٿي، ڇاڪاڻ ته ان جا ڪيترائي تصور راندين جي فن تعمير کي هيٺ ڪن ٿا.

بهرحال، محنت ۽ خواهش سان، هي پروجيڪٽ اضافو ڊولپر لاءِ وڏا موقعا کولي ٿو. رولنگ اسٽاڪ کي متحرڪ لائبريرين جي بنياد تي ماڊلز جي صورت ۾ لاڳو ڪيو ويو آهي. سموليٽر ۾ بنيادي ڍانچي عنصر رولنگ اسٽاڪ جو هڪ يونٽ آهي، يا موبائل يونٽ (MU) - هڪ ڪار (غير خود هلائيندڙ يا هڪ کان وڌيڪ يونٽ ٽرين جو حصو) يا هڪ لوڪوموٽو جو هڪ حصو. API اهو ممڪن بڻائي ٿو ته PE ويل سيٽن تي لاڳو ٿيل ٽورڪ کي ترتيب ڏيو، جواب ۾ ويل سيٽ جي ڪوئلي جي رفتار حاصل ڪرڻ، ۽ گڏوگڏ خارجي پيٽرولر، جهڙوڪ وولٹیج ۽ رابطي جي نيٽ ورڪ ۾ ڪرنٽ جو قسم. سموليٽر کي ٻيو ڪجهه به نه ٿو ڄاڻي ۽ نه ڄاڻڻ چاهي ٿو، جيڪو اندروني سامان جي فزڪس کي ڪنهن خاص لوڪوموٽو يا ڪار جي ڊولپر جي ضمير کي ڇڏي ٿو.

اهو اندازو لڳائڻ ڏکيو ناهي ته اهڙي نسبتا گهٽ-سطح واري طريقي سان اهو ممڪن آهي ته لوڪوموٽو سرڪٽ جي ننڍڙي nuances کي لاڳو ڪرڻ. ان کان علاوه، سموليٽر کٽ ۾ گھربل رولنگ اسٽاڪ تي نصب ٿيل معياري سامان جو هڪ سيٽ شامل آهي: ڊرائيور جي ٽرين ڪرين ڪنو. نمبر 395، ايئر ورهائڻ واري حالت. نمبر 242، معاون بريڪ والو جي حالت. نمبر 254 ۽ برڪ سامان جا ٻيا عنصر. اضافو جي ڊولپر کي صرف انهن عناصر کي هڪ مخصوص لوڪوموٽو يا ڪار جي نيوميٽڪ سرڪٽ ۾ ڳنڍڻ جي ضرورت آهي. اضافي طور تي، توهان جي پنهنجي هارڊويئر يونٽ ٺاهڻ لاء هڪ API آهي.

تعميراتي طور تي، آر آر ايس ٻن مکيه عملن جي رابطي تي ٺهيل آهي

  • سمائيٽر — فزيڪل ٽرين ڊائنامڪس انجڻ TrainEngine 2. ٽرين جي حرڪت جي فزڪس کي لاڳو ڪري ٿي، ڪيترن ئي خارجي عنصرن کي مدنظر رکندي، ڪنٽنگ ڊوائيسز ذريعي هلندڙ يونٽن جي رابطي کي مدنظر رکندي، خارجي ماڊلز مان ايندڙ ڊيٽا کي پروسيس ڪري ٿو جيڪو رولنگ اسٽاڪ سامان جي آپريشن جي فزڪس کي لاڳو ڪري ٿو.
  • ڏسڻ وارو - هڪ گرافڪ سبسسٽم جيڪو ٽرين جي حرڪت کي تصور ڪري ٿو، گرافڪس انجڻ جي بنياد تي ٺهيل آهي OpenSceneGraph

اهي سبسسٽم هڪ ٻئي سان گڏيل ميموري ذريعي رابطو ڪن ٿا، جيڪي QT فريم ورڪ جي QSharedMemory ڪلاس جي بنياد تي لاڳو ڪيا ويا آهن. پهرين ڊيمن ساکٽ تي ٻڌل IPC استعمال ڪيو، ۽ مستقبل ۾ هن ٽيڪنالاجي ڏانهن موٽڻ جو منصوبو آهي، سموليٽر جي ڪجهه حصن جي سڌاري ۽ مستقبل جي ضرورتن کي نظر ۾ رکندي. گڏيل ياداشت جي منتقلي ڪنهن حد تائين هڪ زبردستي ماپ هئي جيڪا ان جي افاديت کي ختم ڪري ڇڏيو آهي.

مان وضاحت نه ڪندس nuances - هن منصوبي جي ترقي جي ڪيترن ئي ڦيرڦار اڳ ۾ ئي بيان ڪيل آهن منهنجي اشاعتن ۾ وسيلن تي، خاص طور تي، مون وٽ ڪافي وسيع آهي. OpenSceneGraph انجڻ تي سبق جو هڪ سلسلو، جيڪو هن منصوبي تي ڪم ڪرڻ جي مشق مان وڌيو.

پروجيڪٽ ۾ هر شيءِ ايترو آسان ناهي جيترو اسان چاهيون ٿا. خاص طور تي، گرافڪس سب سسٽم رينجرنگ جي معيار جي لحاظ کان مڪمل کان پري آهي، ۽ سم جي ڪارڪردگي گهڻو ڪري ڇڏي ٿو گهربل هجي. ھن رليز جو ھڪڙو مقصد آھي - ريلوي ٽرانسپورٽ جي شوقينن جي ڪميونٽي کي پروجيڪٽ ۾ متعارف ڪرائڻ، ان جي صلاحيتن کي بيان ڪرڻ ۽ آخر ۾ اضافو ڊولپرز لاءِ جديد API سان گڏ ھڪڙو کليل، ڪراس پليٽ فارم ريلوي سميلٽر ٺاھيو.

امڪان

امڪان توهان تي منحصر آهن، اسان جي پيارا مستقبل جي صارفين ۽ ڊولپرز. پروجيڪٽ کليل آهي ۽ موجود آهي سرڪاري ويب سائيٽجتي توهان سميوليٽر ڊائون لوڊ ڪري سگهو ٿا، تان دستاويز، جنهن جي جوڙجڪ مسلسل replenished ڪيو ويندو. موجود آهي فورم پروجيڪٽ، VK گروپ۽ يوٽيوب چينلجتي توهان تمام گهڻي تفصيلي صلاح ۽ مدد حاصل ڪري سگهو ٿا.

Спасибо за внимание!

جو ذريعو: www.habr.com

تبصرو شامل ڪريو