له راکټونو څخه تر روبوټونو پورې او پایتون له دې سره څه لري. د GeekBrains د زده کونکو کیسه

له راکټونو څخه تر روبوټونو پورې او پایتون له دې سره څه لري. د GeekBrains د زده کونکو کیسه
نن ورځ موږ IT ته د اندری ووکولوف د لیږد کیسه خپروو. د خلا لپاره د هغه د ماشومتوب لیوالتیا یوځل هغه د دې لامل شو چې په MSTU کې د راکټ ساینس زده کړه وکړي. سخت واقعیت ما د خوب په اړه هیر کړ، مګر هرڅه نور هم په زړه پوري شول. د C++ او Python مطالعې ما ته اجازه راکړه چې مساوي په زړه پوري کار ترسره کړم: د روبوټ کنټرول سیسټمونو منطق برنامه کول.

پیل

زه نېکمرغه وم چې په ټول ماشومتوب کې د فضا په اړه مینه لرم. له همدې امله، د ښوونځي وروسته، ما د یوې دقیقې لپاره شک نه درلود چې زه باید زده کړې ته لاړ شم، او زه MSTU ته داخل شوم. بومن، د راکټ پروپولشن انجینرۍ څانګې ته. په هرصورت، پخپله د کورس څانګه - د فضا راکټونو پوډر یا مایع انجنونه - هیڅ شی نه و انتخاب شوی: په 2001 کې، د ځانګړي پوهنځي کمیسیون لاهم د غوښتونکو هدف ګروپونو ویشلی. زه د ټوپک په کیلو کې ونیول شوم.

په هغه وخت کې، "راکټ بوم" یوازې په پلانونو کې شتون درلود؛ انجینرانو لږ معاشونه ترلاسه کړل او په ځانګړي تړل شوي ډیزاین بیورو او څیړنیزو موسسو کې یې کار کاوه چې په حقیقت کې د مسلک او مسلکي ودې لپاره هیڅ امکان نلري. بیا هم، په روسیه کې د پوډر راکټونه خالص نظامي محصولات دي.

اوس دا سیمه په تقاضا کې ده، مګر دمخه زما د زده کړې په جریان کې ما پوهیده چې په راکټ ساینس کې هر ډول فعالیت په خپل نوښت تقریبا ناممکن دی. په حقیقت کې، دا پوځي خدمت دی. د مثال په توګه، د راکټ صنعت کې کار کول، زه به په بشپړه توګه د دې فرصت څخه بې برخې شم چې په خپلواکه توګه سافټویر رامینځته کړم، حتی د ځان لپاره، ځکه چې دا فعالیت په کلکه تنظیم شوی.

ټول سافټویر محصولات په ځانګړي ډول په ځانګړي ترتیب او د محرمیت کمیسیون (اوس د FSTEC یوه څانګه) په تصویب سره رامینځته شوي. هلته پراختیا کونکی اړ دی چې د کوډ هره کرښه په لفظي ډول راجستر او جواز ورکړي. ټول سافټویر په پیل کې د دندې په کچه پټ دی. دا یو څه تشریح کوي چې ولې اوس د راکټ ساینس زده کونکو روزنې لپاره سافټویر کارول کیږي په 90s کې په وروستي کې رامینځته شوی.

په هغه وخت کې چې زه له انسټیټیوټ څخه فارغ شوم، ما د میکانیزم تیوري په څانګه کې کار کولو توان درلود او په C++ کې د تعلیمي پروسې سمیلیټر رامینځته کول پیل کړل، نو ما د پرتله کولو لپاره یو مثال درلود او کولی شم ګټې او زیانونه وزن کړم. انتخاب څرګند و، او ما په تدریجي ډول د معلوماتي ټکنالوجۍ او روبوټکس په لور روان شو. پلي شوي میخانیکونه د راکټ ساینس په پرتله خورا ساتیري وه: ډیری ناحل شوي ستونزې ، خلاص چاپیریال ، د پراختیا صنعت نشتوالی ، د سمولو سافټویر ته عاجل اړتیا. په روبوټیکونو کې، د عام سافټویر یو ناڅاپه جوړښت شتون لري او په مکرر ډول د پیچلي الګوریتم پلي کولو اړتیا شتون لري ، پشمول د فزي منطق او د AI پیل. له همدې امله، د تجربوي معلوماتو پروسس کولو لپاره زما د لومړي پروګرامونو وروسته، زه تقریبا هیڅکله راکټونو ته نه یم راستون شوی (زما د فراغت پروژې استثنا سره).

د پایلې په توګه، ما د فضا صنعت لپاره د جامع جوړښتونو لپاره مسکو ته نږدې په یوه فابریکه کې د فراغت دمخه یوازې څلور میاشتې په خپل تخصص کې کار کولو فرصت درلود. زما د زده کړې بشپړولو وروسته، ما حتی د دندې په لټه کې نه و - زه سمدلاسه د روبوټیک ډیپارټمنټ کې د پلي شوي میخانیکونو درس ورکولو لپاره راغلم.

له تدریس څخه تر برنامو پورې

له راکټونو څخه تر روبوټونو پورې او پایتون له دې سره څه لري. د GeekBrains د زده کونکو کیسه
په IFTOMM نړیوال کانګرس کې د څیړنې ډلې د زده کونکو غړو سره (زه ښي خوا ته)

ما په MSTU کې د 10 کلونو لپاره د نمونې په څانګه کې کار وکړ، د میکانیزمونو د تیوري کورس درس ورکړ. هغه ساینسي کارونه خپاره کړل (د مقالې پای وګورئ)، په تدریجي ډول د میخانیک څخه CAD او روبوټکس ته لاړ. او په پای کې هغه پریکړه وکړه چې درس پریږدي. د دې تصمیم د دلایلو د روښانه کولو لپاره، زه به ووایم چې په لسو کلونو کې د مطالعې کورس چې ما تدریس کړی یو لسیزه ځای نه دی بدل کړی. که څه هم پلي شوي میخانیکونه ، د خپرونو لخوا قضاوت کول ، خورا په بریالیتوب سره پرمخ تللي.

برسېره پردې، کار د بیوروکراټیک کار سره ډیر ورته دی - راپورونه، پروګرامونه، معیارونه او ټن کاغذونه. په داسې شرایطو کې، د تدریس خوښي د دې خوښۍ د ترلاسه کولو په اړه راپور ورکولو سره بدله شوې، او دا د تمرین متخصص لپاره ډیر ناخوښ دی.

او بالاخره زه روبوټیک ته راغلم لکه: په 2007-2009 کې، د پروفیسورانو A. Golovin او N. Umnov سره یوځای، موږ د لومړي ساینسي کارونو چمتو کول پیل کړل. هلته ما باید الګوریتم وکاراوه ترڅو د سټروب عکاسي څخه د شیانو لارې وټاکم. له دې موضوع څخه دا د ماشین لید، OpenCV او روبوټیک عملیاتي سیسټم ته یو ګام دی (که څه هم په هغه وخت کې ما حتی د داسې کچې په اړه فکر نه کاوه). له هغې وروسته، ما په پای کې په څیړنه کې پلي شوي میکانیکونو او روبوټیکونو تمرکز وکړ، او پراختیا یو ملاتړي فعالیت شو.

په هرصورت، په روبوټکس کې د نوې دندې موندلو لپاره، دا اړینه وه چې زما د پروګرام کولو پوهه ښه او ضمیمه کړم. په هرصورت، ما هیڅکله د IT په ځانګړې توګه زده کړه نه ده کړې، پرته له دې چې د پوهنتون د یو کلن کورس (ObjectPascal او Borland VCL په C++ کې)، او د پرمختګ نظري اړخونو لپاره په ریاضیاتو تکیه وکړه.

په لومړي سر کې ما په خپل اصلي انسټیټیوټ کې د بشپړ وخت کورسونو لپاره اختیارونه په پام کې ونیول. ریښتیا، دا په چټکۍ سره څرګنده شوه چې دا به تقریبا ناممکن وي چې دا ډول مطالعات په ډیپارټمنټ کې د کار سره یوځای کول د غیر منظم مهالویش او د خپل مهال ویش څخه بهر پرله پسې کار (بدیل، او نور) له امله. نو زه په تدریج سره د تادیه شوي کورسونو د لرې کولو بشپړولو مفکورې ته راغلم. زه GeekBrains ته د Mail.ru Technopark روزنیز مرکز څخه د پروفیسورانو په سپارښتنه راغلم، چې په بومانکا کې موقعیت لري، او د Python پروګرامر کورس کې شامل شوم.

کورسونو کومه ستونزه نه درلوده، یوازینۍ ستونزه دا وه چې ما په دوامداره توګه دوی په ډیپارټمنټ کې د کار، ساینسي کارونو او پیښو سره یوځای کول. وخت دومره سخت و چې د کور څخه بهر ډیری ټولنیزې اړیکې باید قرباني شي (له نېکه مرغه، لنډمهاله).

دا څنګه ما د کار بار سره مقابله وکړه: ما په سړک کې ستونزې حل کړې. دا مهارت چې د ډیری سوداګریزو سفرونو له لارې رامینځته شوی، خورا ګټور ثابت شو، ځکه چې له دې پرته زه به حتی د کور ټول کارونه بشپړ نه کړم (او دا د مراقبت ځای نیسي ...). ما د خپل لپ ټاپ، سمارټ فون، او بې سیم سمارټ فون کیبورډونو په کارولو سره کوډ کول زده کړل.

زما لپ ټاپ د ډیل لیټیوټ 3470 دی، او هر هغه سمارټ فون چې د 5.5 انچ یا ډیر ډیګونال سره د Logitech K 810 BT کیبورډ سره جوړه شوې وي. په عموم کې ، زه هرچا ته د لوجیټیک محصولاتو وړاندیز کوم؛ دوی خورا معتبر دي او د کارولو خورا سخت شرایطو سره مقاومت کولی شي (او دا هیڅکله اعلان ندی).

له راکټونو څخه تر روبوټونو پورې او پایتون له دې سره څه لري. د GeekBrains د زده کونکو کیسه
کیبورډ Logitech K810

پایتون د داسې کار لپاره خورا مناسب دی - که تاسو ښه مدیر لرئ. د برنامه کولو بل هیک: ډیسټاپ یا د چلولو چاپیریال ته ریموټ اړیکې وکاروئ. ما د خپل کور کمپیوټر کې د جینګو چلولو خوندي ویب سرور په کارولو سره ډیری دندې بشپړې کړې. ما د ریل څخه کار وکړ، د سافټویر PyDroid، DroidEdit، Maxima په کارولو سره.

ولې Python؟

دا ډیر وخت نه و چې ما د سیسټم سکریپټینګ ژبې په توګه د PHP کارولو هڅه وکړه. ما په پیل کې Python په خپل ځان او لږ څه "د ځان لپاره" مطالعه کړه. ما پریکړه وکړه چې په جدي توګه مطالعه وکړم وروسته له دې چې ما د ماډل په کچه د Python او C++ تر مینځ د اغیزمن ارتباط شتون په اړه پوه شو - دا په زړه پورې ښکاري چې په ورته ژبه کې د مطلوب الګوریتمونو او معلوماتو چمتو کولو پروسیجرونه شریک کړئ.

ترټولو ساده مثال: د غیر معیاري ځواکمن ډرایو لپاره د کنټرول سیسټم شتون لري چې په C++ کې د RISC پروسیسر سره په سرایت شوي ماشین کې پلي کیږي. مدیریت د بهرني ماشین پورې تړلي API له لارې رامینځته کیږي ، کوم چې ملاتړ کوي ، د مثال په توګه ، په شبکه کې د فرعي سیسټمونو ترمینځ ارتباط. په لوړه کچه، د ډرایو عملیات الګوریتم ډیبګ نه دی یا ثابت نه دی (دا اړینه ده چې د کار پروسې پورې اړوند مختلف الګوریتمونه پورته کړئ).

د داسې سیسټم ترلاسه کولو لپاره یوه له غوره لارو څخه د ماشین ځانګړي C++ فرعي سیسټم API د Python ټولګیو سیټ لپاره د اساس په توګه کارول دي چې د کراس پلیټ فارم ژباړونکي پرمخ ځي. پدې توګه ، د لوړې کچې پراختیا کونکی به د ایمبیډ شوي ماشین او د هغې OS ځانګړتیاوې په پام کې ونه نیسي؛ هغه به په ساده ډول د Python ټولګیو سره کار وکړي چې د ټیټ کچې API د "ریپرز" په توګه عمل کوي.

ما باید C++ او Python پابند کول تقریبا له سکریچ څخه زده کړل. دا په چټکۍ سره روښانه شوه چې په لوړه کچه د اعتراض وړ وړتیاوې د ټیټې کچې په پرتله خورا مهم دي. د دې له امله، موږ باید د API ډیزاین کولو او پلي کولو طریقه په بشپړه توګه بدله کړو، د Python په کچه د ټولګیو غوره کول او په C/C++ کې نړیوال معلومات شریک کړل. د کوډ تولید سره عادت شئ: د مثال په توګه ، د ROS چوکاټ پخپله په Python کې نومونه او توکي رامینځته کوي ، نو تاسو باید د ژبې توپیرونه په پام کې ونیسئ ، په ځانګړي توګه په ټایپ کولو کې ، کله چې خپل انٹرفیس ډیزاین کړئ.

په اوسني وخت کې کار کول: پایتون او د روبوټ کنټرول منطق

اوس زه د ماسکو دولتي تخنیکي پوهنتون کې د روبوټیک څیړنې او زده کړې مرکز کې د Python او C++ پروګرامر په توګه کار کوم. موږ د څیړنې پروژې او سافټویر وسیلې پلي کوو چې د دولتي څانګو لخوا ټاکل شوي: موږ د جوړ شوي تخنیکي لید سیسټمونو او د لوړې کچې اتوماتیک کنټرول الګوریتمونو سره مینځپانګې رامینځته کوو چې له سیسټمونو خپلواک دي.

اوس مهال، زه په Python کې د روبوټ کنټرول سیسټمونو لپاره د لوړې کچې منطق پروګرام کوم؛ دا ژبه په C++، جمع کونکي، او Go کې لیکل شوي خورا غوره شوي ماډلونه سره یوځای کوي.

د روبوټ کنټرول الګوریتمونو پروګرام کولو کې، د الګوریتم دوه لوی ګروپونه کارول کیږي. لومړی یې په مستقیم ډول په تجهیزاتو کې پلي کیږي ، په ټیټه کچه - دا د ډرایو کنټرولرونو ، د مخابراتو لاین متمرکزو او آپریټر تعامل فرعي سیسټمونو جوړ شوی سافټویر دی.

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

د الګوریتم دوهم ګروپ په ټولیز ډول د روبوټ عملیات ټاکي. دا د لوړې کچې پروګرامونه دي، چې د پراختیا ټینګار د الګوریتم د پلي کولو په روښانه کولو او سرعت باندې دی، ډیری وختونه خورا پیچلي دي. سربیره پردې ، په روبوټ کې د لوړې کچې سافټویر ډیری وختونه د تنظیم او ازموینې پروسې په جریان کې د بدلون تابع وي. د دې ډول پرمختګ لپاره، د عمومي هدف تشریح شوي ژبې لازمي دي.

د داسې کار لپاره څه پوهې ته اړتیا ده؟

دا به لازمي وي چې د C++ ټیمپلیټ ژبه او د Python څیز پر بنسټ وړتیاوې مطالعه کړئ. نږدې نه بدلیدونکی مهارت د APIs ډیزاین او مستند کولو وړتیا ده. دا به ښه نظر وي چې د ځانګړي کتابتونونو وړتیاوې وپلټئ لکه Boost::Python. هغه څوک چې د ټیټې کچې سافټویر سره کار کوي خامخا به د ملټي ریډینګ (د کرنل په کچه) او لینکس/UNIX/QNX سیسټم تلیفونونو سره معامله وکړي. د روبوټیک اصولو په اړه ستاسو د پوهاوي ښه کولو لپاره ، دا خورا ګټور دی چې خپل ځان د روبوټیک عملیاتي سیسټم چوکاټ سره آشنا کړئ.

زه هڅه کوم چې لږترلږه یوه تالیف شوې او یوه تشریح شوې برنامې ژبه ولرم چې وده کوي او په تقاضا کې ده. دا په انجینرۍ کې د کار کولو لپاره یوه ګټونکې ستراتیژي ده، چیرې چې د لوړ تخصص (لوستل: غیر معمولي) الګوریتمونو رامینځته کولو او په تالیف کولو ژبو کې پلي کولو ته دوامداره اړتیا شتون لري. د داسې سافټویر لپاره د معلوماتو چمتو کولو دنده د تشریح شوي ژبو په کارولو سره حل کولو لپاره خورا خوندور دی. په پیل کې، زما په سیټ کې C++، پاسکال او BASIC شامل وو، وروسته وروسته PHP او BASH اضافه شول.

د پرمختیا وسیلې څنګه د زده کونکو په تدریس کې ګټورې کیدی شي

اوس د مسلکي پرمختګ اصلي پلان دا دی چې په تدریس کې د مسلکي سافټویر پراختیا وسیلو کارولو لپاره علمي اساس چمتو کړي ، د تدریس میتودونو رامینځته کولو او ازموینې لپاره.

د 2016 راهیسې، ما د پرمختیایي وسایلو په معرفي کولو کې یوه لویه تجربه پیل کړه - د پروګرام کولو ژبې، IDEs، د اسنادو جنراتورونه، د نسخې کنټرول سیسټمونه - په لوړو زده کړو کې د تدریس تمرین کې. موږ اوس په دې بریالي شوي یو چې پایلې ترلاسه کړو چې په کیفیت سره عمومي کیدی شي.

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

په هرصورت، ما د خپل تدریس تمرین نه دی پریښی - ما په MSTU کې د پرمختللي مطالعاتو انسټیټیوټ لپاره د لینکس ډیزاین او ادارې په اړه خپل بشپړ بشپړ وخت کورس جوړ کړ، او زه یې پخپله درس ورکوم.

علمي کار

لومړني کارونه
د چال پلان کولو مسلې کله چې د آس د چال پلي کولو مثال په کارولو سره د څلور پښو چلولو سیسټمونو ډیزاین کول (2010 جی.)

د څلور پښو حرکت کونکي د کاري دورې اجزاو په توګه ملاتړ ته د رسیدو په مرحله کې د آس د مخکینۍ پښې د ملاتړي عنصر کینیماتیک او بار کولو مسله (2012 جی.)

له وروستي څخه
د تدریس میکانیزم او ماشین تیوري لپاره د 3D ګیر تولید سمولیشن غوښتنلیک (2019 جی.)

د ساختماني خنډونو پیژندلو میتود او د راحتي شیانو په لټون کې د هغې غوښتنلیک (2018 جی.)

نور کارونه چې د ساینسي حوالې ډیټابیسونو لخوا ترتیب شوي زما په پروفایل کې لیدل کیدی شي څیړنه. ډیری مقالې د ماشینونو حرکت ته وقف شوي ، د انجینرۍ زده کړې او تعلیمي سافټویر باندې کار شتون لري.

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

Add a comment