Minn rokits għal robots u x'għandu x'jaqsam miegħu Python. GeekBrains Alumni Story

Minn rokits għal robots u x'għandu x'jaqsam miegħu Python. GeekBrains Alumni Story
Illum qed nippubblikaw l-istorja tat-tranżizzjoni ta 'Andrey Vukolov għall-IT. Il-passjoni tat-tfulija tiegħu għall-ispazju darba wasslitu biex jistudja x-xjenza rokit fl-MSTU. Ir-realtà ħarxa ġegħlitni ninsa dwar il-ħolma, iżda kollox irriżulta saħansitra aktar interessanti. L-istudju tas-C++ u l-Python ippermettili nagħmel xogħol daqstant eċċitanti: nipprogramma l-loġika tas-sistemi ta 'kontroll tar-robot.

Bidu

Kelli xortik tajba li kont qed nibqa 'fuq l-ispazju fi tfuliti kollha. Għalhekk, wara l-iskola, ma ddubejtx għal minuta fejn għandi mmur nistudja, u dħalt fl-MSTU. Bauman, lid-Dipartiment tal-Inġinerija tal-Propulsjoni Rocket. Madankollu, il-fergħa tal-kors innifsu - trab jew magni likwidi ta 'rokits spazjali - ma kellhomx jintgħażlu xejn: fl-2001, kummissjoni speċjali tal-fakultà għadha qassam il-gruppi fil-mira tal-applikanti. Inqabad f’keg porvli.

F'dak iż-żmien, il-"boom tar-rocket" kien jeżisti biss fil-pjanijiet; l-inġiniera rċevew salarji ħżiena u ħadmu f'uffiċċji speċjali tad-disinn magħluqa u istituti ta 'riċerka mingħajr prattikament l-ebda prospetti għal karriera u tkabbir professjonali. Xorta waħda, rokits tat-trab fir-Russja huma prodotti purament militari.

Issa dan il-qasam huwa mitlub, iżda diġà matul l-istudji tiegħi rrealizzajt li fix-xjenza rokit kull attività fuq inizjattiva proprja hija kważi impossibbli. Fil-fatt, dan huwa servizz militari. Pereżempju, naħdem fl-industrija tar-rokits, inkun kompletament imċaħħad mill-opportunità li niżviluppa b'mod indipendenti softwer, anke għalija nnifsi, peress li din l-attività hija regolata b'mod strett.

Il-prodotti kollha tas-softwer huma żviluppati esklussivament fuq ordni speċjali u bl-approvazzjoni tal-kummissjoni tas-segretezza (issa diviżjoni tal-FSTEC). L-iżviluppatur hemm huwa meħtieġ li jirreġistra u jilliċenzja litteralment kull linja ta 'kodiċi. Is-softwer kollu huwa inizjalment sigriet fil-livell tal-kompitu. Dan parzjalment jispjega għaliex is-softwer li issa jintuża biex iħarreġ studenti tax-xjenza rokit ġie żviluppat sa mhux aktar tard mid-disgħinijiet.

Saż-żmien li ggradwajt mill-istitut, irnexxieli naħdem fid-dipartiment tat-teorija tal-mekkaniżmi u bdejt niżviluppa simulatur ta 'proċess edukattiv f'C++, għalhekk kelli eżempju għal tqabbil u stajt niżen il-vantaġġi u l-iżvantaġġi. L-għażla kienet ovvja, u gradwalment bdejt nimxi lejn l-IT u r-robotika. Il-mekkanika applikata kienet ħafna aktar divertenti minn xjenza rokit: ħafna problemi mhux solvuti, ambjent miftuħ, nuqqas ta 'industrija ta' żvilupp, ħtieġa urġenti għal softwer ta 'simulazzjoni. Fir-robotika, hemm arkitettura mhux stabbilita ta 'softwer komuni u l-ħtieġa li jiġu implimentati ripetutament algoritmi kumplessi, inkluża loġika fuzzy u l-bidu tal-AI. Għalhekk, wara l-ewwel programmi tiegħi għall-ipproċessar tad-dejta sperimentali, kważi qatt ma rritornajt għar-rokits (bl-eċċezzjoni tal-proġett tal-gradwazzjoni tiegħi).

Bħala riżultat, kelli l-opportunità li naħdem fl-ispeċjalità tiegħi għal erba 'xhur biss qabel ma niggradwa f'impjant qrib Moska għal strutturi komposti għall-industrija tal-ajruspazju. Wara li lestejt l-istudji tiegħi, lanqas kelli għalfejn infittex xogħol—Mal-ewwel ġejt biex ngħallem il-mekkanika applikata fid-dipartiment tar-robotika.

Mit-tagħlim għall-ipprogrammar

Minn rokits għal robots u x'għandu x'jaqsam miegħu Python. GeekBrains Alumni Story
Fil-Kungress Dinji IFTOMM ma' membri studenti tal-grupp ta' riċerka (jien fuq il-lemin)

Ħdimt fl-MSTU fid-dipartiment tat-teħid tal-kampjuni għal 10 snin, tgħallem kors dwar it-teorija tal-mekkaniżmi. Huwa ppubblika xogħlijiet xjentifiċi (ara t-tmiem tal-artiklu), gradwalment imxiet mill-mekkanika lejn CAD u robotika. U fl-aħħar iddeċieda li jħalli t-tagħlim. Biex nispjega bl-aktar mod ċar ir-raġunijiet għal din id-deċiżjoni, se ngħid li f’għaxar snin il-kors ta’ studju li għallimt ma nbidilx post deċimali wieħed. Għalkemm mekkaniċi applikati, ġġudikati mill-pubblikazzjonijiet, mexa 'l quddiem ħafna, ħafna suċċess.

Barra minn hekk, ix-xogħol aktar u aktar jixbah xogħol burokratiku - rapporti, programmi, standards u tunnellati ta 'karti. F'kundizzjonijiet bħal dawn, il-pjaċir tat-tagħlim ġie sostitwit b'rappurtar dwar l-irċevuta ta 'dan il-pjaċir, u dan huwa aktar minn spjaċevoli għal speċjalista li jipprattika.

U fl-aħħar wasalt għar-robotika bħal din: fl-2007-2009, flimkien mal-professuri A. Golovin u N. Umnov, bdejna nippreparaw l-ewwel xogħlijiet xjentifiċi. Hemmhekk kelli nuża algoritmi biex niddetermina l-mogħdijiet ta 'oġġetti mill-fotografija strobe. Minn dan is-suġġett huwa pass wieħed għal viżjoni bil-magni, OpenCV u Sistema Operattiva Robotika (għalkemm dak iż-żmien lanqas biss kont naħseb dwar skala bħal din). Wara dan, fl-aħħar iffukajt fuq il-mekkanika applikata u r-robotika fir-riċerka, u l-iżvilupp sar attività ta 'appoġġ.

Madankollu, biex insib impjieg ġdid fir-robotika, kien meħtieġ li jtejjeb u jissupplimenta l-għarfien tiegħi tal-ipprogrammar. Wara kollox, qatt ma studjajt l-IT speċifikament, ħlief għal kors universitarju ta 'sena (ObjectPascal u Borland VCL f'C++), u kont nistrieħ fuq il-matematika għall-aspetti teoretiċi tal-iżvilupp.

Għall-ewwel kont ikkunsidrat għażliet għal korsijiet full-time fl-istitut nattiv tiegħi. Veru, malajr deher ċar li jkun kważi impossibbli li jiġu kkombinati studji bħal dawn ma 'xogħol fid-dipartiment minħabba l-iskeda irregolari u xogħol frekwenti barra mill-iskeda tiegħu stess (sostituzzjoni, eċċ.). Allura gradwalment wasalt għall-idea li tlesti korsijiet imħallsa mill-bogħod. Wasalt għal GeekBrains fuq rakkomandazzjoni ta 'professuri miċ-ċentru ta' taħriġ Mail.ru Technopark, li jinsab f'Baumanka, u rreġistrajt fil-kors tal-Programmer Python.

Il-korsijiet ma kkawżaw l-ebda diffikultajiet, l-unika problema kienet li kont kontinwament kelli ngħaqqadhom ma 'xogħol fid-dipartiment, xogħlijiet xjentifiċi u avvenimenti. Iż-żmien kien tant strett li l-biċċa l-kbira tal-konnessjonijiet soċjali barra mid-dar kellhom jiġu sagrifikati (fortunatament, temporanjament).

Dan huwa kif ilaħħqu mal-ammont ta 'xogħol: I solvut problemi fit-triq. Din il-ħila, żviluppata permezz ta’ bosta vjaġġi tan-negozju, irriżulta li kienet utli ħafna, peress li mingħajrha lanqas inkun nista’ nlesti x-xogħol tad-dar tiegħi kollu (u tissostitwixxi wkoll il-meditazzjoni...). Tgħallimt nikkodifika waqt il-mixi billi tuża l-laptop tiegħi, l-ismartphone, u t-tastieri tal-ismartphones bla fili.

Il-laptop tiegħi huwa Dell Latitude 3470, u kwalunkwe smartphone b'dijagonali ta '5.5 pulzieri jew aktar imqabbla ma' tastiera Logitech K 810 BT se tagħmel. B'mod ġenerali, nirrakkomanda prodotti Logitech lil kulħadd; huma affidabbli ħafna u jistgħu jifilħu kundizzjonijiet ta 'użu ħarxa ħafna (u dan qatt mhu reklam).

Minn rokits għal robots u x'għandu x'jaqsam miegħu Python. GeekBrains Alumni Story
Tastiera Logitech K810

Python iwassal ħafna għal xogħol bħal dan - jekk għandek editur tajjeb. Hack ta 'programmar ieħor: uża konnessjonijiet remoti mad-desktop jew l-ambjent tar-runtime. Lestejt diversi kompiti billi uża server tal-web sigur li jħaddem Django fuq il-kompjuter tad-dar tiegħi. Ħdimt mill-ferrovija, bl-użu tas-softwer PyDroid, DroidEdit, Maxima.

Għaliex Python?

Ma kienx twil qabel ma ppruvajt nuża PHP bħala lingwa ta' skript tas-sistema. Inizjalment studjajt Python waħdi u ftit ftit "għalija nnifsi." Iddeċidejt li nistudja bis-serjetà wara li tgħallimt dwar l-eżistenza ta 'konnessjoni effettiva bejn Python u C++ fil-livell tal-modulu - deher interessanti li taqsam algoritmi ottimizzati u proċeduri ta' preparazzjoni tad-dejta fl-istess lingwa.

L-aktar eżempju sempliċi: hemm sistema ta 'kontroll għal drive b'saħħtu mhux standard, implimentata fuq magna inkorporata bi proċessur RISC, f'C++. Il-ġestjoni sseħħ permezz ta' API esterna dipendenti fuq il-magni, li tappoġġja, pereżempju, komunikazzjoni bejn sottosistemi fuq netwerk. F'livell għoli, l-algoritmu tal-operat tas-sewqan mhuwiex debugged jew mhuwiex kostanti (huwa meħtieġ li jitgħabbew algoritmi differenti skont il-proċess tax-xogħol).

Wieħed mill-aħjar modi biex tinkiseb sistema bħal din huwa li tuża l-API tas-subsistema C++ speċifika għall-magna bħala l-bażi għal sett ta 'klassijiet Python li jimxu fuq interpretu ta' pjattaformi differenti. Għalhekk, l-iżviluppatur tal-ogħla livell mhux se jkollu jqis il-karatteristiċi tal-magna inkorporata u l-OS tagħha; huwa sempliċiment jaħdem ma 'klassijiet Python li jaġixxu bħala "wrappers" tal-API ta' livell baxx.

Kelli nitgħallem C++ u Python vinkolanti kważi mill-bidu nett. Malajr deher ċar li l-kapaċitajiet orjentati lejn l-oġġetti f'livell għoli kienu ħafna aktar importanti milli f'livell baxx. Minħabba dan, kellna nibdlu kompletament l-approċċ għad-disinn u l-implimentazzjoni tal-API, għażilna klassijiet fil-livell ta 'Python u dejta globali kondiviża f'C/C++. Idraw il-ġenerazzjoni tal-kodiċi: pereżempju, il-qafas ROS innifsu jiġġenera ismijiet u oġġetti f'Python, għalhekk trid tqis id-differenzi fil-lingwa, speċjalment fit-tajpjar, meta tfassal l-interfaces tiegħek.

Ħidma fil-Preżent: Python u Logic Control Robot

Issa naħdem bħala programmatur Python u C++ fiċ-Ċentru tar-Riċerka u l-Edukazzjoni tar-Robotika fl-Università Teknika tal-Istat ta 'Moska. Aħna nimplimentaw proġetti ta 'riċerka u għodod ta' softwer ikkummissjonati minn dipartimenti tal-gvern: aħna niżviluppaw manipulaturi b'sistemi ta 'viżjoni teknika mibnija u algoritmi ta' kontroll awtomatiku ta 'livell għoli li huma indipendenti mis-sistemi.

Bħalissa, nipprogramma loġika ta 'livell għoli għal sistemi ta' kontroll tar-robot f'Python; din il-lingwa tgħaqqad flimkien moduli ottimizzati ħafna miktuba f'C++, assembler, u Go.

Fl-ipprogrammar ta 'algoritmi ta' kontroll tar-robot, jintużaw żewġ gruppi kbar ta 'algoritmi. L-ewwel wieħed minnhom huwa implimentat direttament fuq it-tagħmir, f'livell baxx - dan huwa s-softwer inkorporat ta 'kontrolluri tas-sewqan, konċentraturi tal-linja tal-komunikazzjoni, u sottosistemi ta' interazzjoni tal-operatur.

L-algoritmi hawnhekk huma ddisinjati għal veloċità ta 'eżekuzzjoni kkontrollata u affidabilità li taqbeż il-prestazzjoni tar-robot kollu kemm hu. Dan tal-aħħar huwa obbligatorju, peress li s-sigurtà tas-sistema kollha tiddependi fuq softwer ta 'kontroll ta' livell baxx.

It-tieni grupp ta 'algoritmi jiddetermina l-operat tar-robot kollu kemm hu. Dawn huma programmi ta 'livell għoli, li l-enfasi fl-iżvilupp tagħhom hija fuq iċ-ċarezza u l-veloċità tal-implimentazzjoni tal-algoritmu, ħafna drabi pjuttost kumplessa. Barra minn hekk, is-softwer ta 'livell għoli fuq ir-robot huwa ħafna drabi soġġett għal bidla matul il-proċess ta' setup u ttestjar. Għal tali żvilupp, lingwi interpretati għal skopijiet ġenerali huma indispensabbli.

Liema għarfien huwa meħtieġ għal xogħol bħal dan?

Se jkun obbligatorju li tistudja l-lingwa tal-mudell C++ u l-kapaċitajiet orjentati lejn l-oġġetti ta 'Python. Ħila kważi insostitwibbli hija l-abbiltà li tiddisinja u tiddokumenta APIs. Tkun idea tajba li tesplora l-kapaċitajiet ta' libreriji speċjalizzati bħal Boost::Python. Dawk li jaħdmu b'softwer ta 'livell baxx definittivament ikollhom jittrattaw multithreading (fil-livell tal-kernel) u sejħiet tas-sistema Linux/UNIX/QNX. Biex ittejjeb il-fehim tiegħek tal-prinċipji tar-robotika, huwa utli ħafna li tiffamiljarizza ruħek mal-qafas tas-Sistema Operattiva Robotika.

Nipprova li jkolli mill-inqas lingwa ta' programmar waħda kkompilata u interpretata li qed tiżviluppa u li qed tintalab. Din hija strateġija rebbieħa għax-xogħol fl-inġinerija, fejn hemm ħtieġa kostanti li jiġu żviluppati algoritmi speċjalizzati ħafna (aqra: mhux tas-soltu) u jiġu implimentati fil-kumpilazzjoni tal-lingwi. Il-kompitu tal-preparazzjoni tad-dejta għal softwer bħal dan huwa ħafna aktar pjaċevoli biex issolvi bl-użu ta 'lingwi interpretati. Inizjalment, is-sett tiegħi kien jinkludi C++, Pascal u BASIC, aktar tard ġew miżjuda PHP u BASH.

Kif l-għodod tal-iżvilupp jistgħu jkunu utli fit-tagħlim tal-istudenti

Il-pjan ewlieni għall-iżvilupp professjonali issa huwa li tipprova tipprovdi bażi xjentifika għall-użu ta 'għodod ta' żvilupp ta 'softwer professjonali fil-pedagoġija, biex tiżviluppa u tittestja metodi ta' tagħlim.

Mill-2016, bdejt esperiment kbir fl-introduzzjoni ta 'għodod ta' żvilupp - lingwi ta 'programmar, IDEs, ġeneraturi ta' dokumentazzjoni, sistemi ta 'kontroll tal-verżjoni - fil-prattika tat-tagħlim fl-edukazzjoni ogħla. Issa rnexxielna niksbu riżultati li jistgħu jiġu ġeneralizzati kwalitattivament.

Pereżempju, l-introduzzjoni tal-verżjoni tal-materjali fil-proċess edukattiv ittejjeb b'mod sinifikanti l-kwalità tax-xogħol tal-istudenti, madankollu, biss taħt kundizzjoni obbligatorja: studenti jaħdmu flimkien fuq proġetti kondiviżi. L-iżvilupp ta 'metodi għat-tagħlim ta' dixxiplini tekniċi bl-użu ta 'għodod ta' żvilupp ta 'softwer professjonali issa qed jitwettaq b'mod attiv mill-grupp ta' riċerka tiegħi, li jikkonsisti minn studenti, applikanti u studenti ta 'programmi ta' edukazzjoni addizzjonali fl-MSTU.

Mill-mod, ma ħallejtx il-prattika tat-tagħlim tiegħi - żviluppajt il-kors full-time fil-fond tiegħi stess dwar id-disinn u l-amministrazzjoni tal-Linux għall-Istitut tal-Istudji Avvanzati fl-MSTU, u ngħallimha jien stess.

Xogħlijiet xjentifiċi

Xogħlijiet bikrija
Kwistjonijiet tal-ippjanar tal-mixi meta jiġu ddisinjati sistemi ta' mixi b'erba' saqajn bl-użu tal-eżempju tal-implimentazzjoni tal-mixi taż-żiemel (2010)

Dwar il-kwistjoni tal-kinematika u t-tagħbija tal-element ta 'appoġġ tar-riġel ta' quddiem taż-żiemel fl-istadju li jersaq lejn l-appoġġ bħala komponenti taċ-ċiklu tax-xogħol tal-mover b'erba' saqajn (2012)

Mill-aħħar
Applikazzjoni ta 'simulazzjoni tal-manifattura tal-irkaptu 3D għal mekkaniżmu ta' tagħlim u teorija tal-magni (2019)

Metodu għar-rikonoxximent ta 'ostakli strutturali u l-applikazzjoni tiegħu fit-tfittxija għal oġġetti ta' ħelsien (2018)

Xogħlijiet oħra indiċjati minn databases ta 'ċitazzjoni xjentifiċi jistgħu jidhru fil-profil tiegħi fuq ResearchGate. Ħafna mill-artikoli huma ddedikati għall-moviment tal-magni, hemm xogħlijiet fuq il-pedagoġija tal-inġinerija u s-softwer edukattiv.

Sors: www.habr.com

Żid kumment