Daga roka zuwa mutummutumi da me Python ya yi da shi. Labarin Tsofaffin Daliban GeekBrains

Daga roka zuwa mutummutumi da me Python ya yi da shi. Labarin Tsofaffin Daliban GeekBrains
A yau muna buga labarin juyin juya halin Andrey Vukolov zuwa IT. Ƙaunar ƙuruciyarsa ga sararin samaniya ta taɓa jagorantar shi zuwa nazarin kimiyyar roka a MSTU. Gaskiya mai tsanani ya sa na manta da mafarkin, amma komai ya zama mai ban sha'awa. Nazarin C++ da Python ya ba ni damar yin aiki mai ban sha'awa daidai: tsara dabaru na tsarin sarrafa mutum-mutumi.

Начало

Na yi sa'a da na kasance ina ta zage-zage a sararin samaniya duk lokacin kuruciyata. Saboda haka, bayan makaranta, ban yi shakka na minti daya ba inda zan je karatu, kuma na shiga MSTU. Bauman, zuwa Sashen Injiniya Propulsion Roket. Duk da haka, reshe na kwas din kansa - foda ko injunan ruwa na roka na sararin samaniya - ba dole ba ne a zabi kwata-kwata: a shekara ta 2001, hukumar gudanarwa ta musamman ta rarraba ƙungiyoyin masu nema. An kama ni a cikin kwandon foda.

A wancan lokacin, “haɓakar roka” ta kasance cikin tsare-tsare kawai; injiniyoyi sun karɓi ƙaramin albashi kuma sun yi aiki a ofisoshin ƙira na musamman da aka rufe da cibiyoyin bincike waɗanda kusan ba su da wani buri na aiki da haɓaka ƙwararru. Duk da haka, roka foda a Rasha kayan aikin soja ne kawai.

Yanzu wannan yanki yana cikin buƙata, amma tuni lokacin karatuna na gane cewa a kimiyyar roka duk wani aiki da kansa ba zai yuwu ba. A gaskiya, wannan aikin soja ne. Misali, yin aiki a cikin masana'antar roka, za a hana ni gaba ɗaya damar haɓaka software da kanta, har ma da kaina, tunda an tsara wannan aikin sosai.

Ana haɓaka duk samfuran software na musamman akan tsari na musamman kuma tare da amincewar hukumar sirri (yanzu sashin FSTEC). Ana buƙatar mai haɓakawa a wurin don yin rajista da lasisi a zahiri kowane layi na lamba. Duk software da farko sirri ne a matakin aiki. Wannan wani bangare ya bayyana dalilin da yasa software da ake amfani da ita a yanzu don horar da daliban kimiyyar roka aka kirkiro a cikin 90s a baya.

A lokacin da na kammala karatuna daga cibiyar, na sami damar yin aiki a sashen ilimin injiniya kuma na fara haɓaka na'urar kwaikwayo ta hanyar ilimi a cikin C++, don haka ina da misali don kwatantawa kuma na iya auna fa'ida da rashin amfani. Zaɓin a bayyane yake, kuma a hankali na fara tuƙi zuwa IT da robotics. Makanikai da aka yi amfani da su sun fi jin daɗi fiye da kimiyyar roka: matsalolin da ba a warware su da yawa, buɗaɗɗen yanayi, rashin masana'antar haɓakawa, buƙatar gaggawar software na kwaikwayo. A cikin injiniyoyin mutum-mutumi, akwai tsarin gine-ginen software na gama gari da buƙatun aiwatar da hadaddun algorithms akai-akai, gami da dabaru masu ban tsoro da farkon AI. Saboda haka, bayan shirye-shiryena na farko don sarrafa bayanan gwaji, kusan ban taɓa komawa cikin rokoki ba (ban da aikin kammala karatuna).

A sakamakon haka, na sami damar yin aiki a cikin sana'ata na tsawon watanni hudu kawai kafin na kammala karatu a wata shuka da ke kusa da Moscow don tsarin gine-gine na masana'antar sararin samaniya. Bayan na kammala karatuna, ban ma neman aiki ba—nan da nan na zo na koyar da injinan injiniyoyi a sashen injiniyoyin na’ura.

Daga koyarwa zuwa shirye-shirye

Daga roka zuwa mutummutumi da me Python ya yi da shi. Labarin Tsofaffin Daliban GeekBrains
A Majalisar Duniya ta IFTOMM tare da membobin ɗalibai na ƙungiyar bincike (ni a hannun dama)

Na yi aiki a MSTU a sashen samfur na tsawon shekaru 10, ina koyar da kwas kan ka'idar hanyoyin. Ya buga ayyukan kimiyya (duba ƙarshen labarin), a hankali ya motsa daga injiniyoyi zuwa CAD da robotics. Kuma a ƙarshe ya yanke shawarar barin koyarwa. Don ƙarin bayyana dalilan wannan shawarar, zan ce a cikin shekaru goma karatun da na koyar bai canza wuri ɗaya ba. Ko da yake injiniyoyi da aka yi amfani da su, suna yin hukunci ta hanyar wallafe-wallafe, sun ci gaba sosai da nasara sosai.

Bugu da ƙari, aikin ya fi kama da aikin bureaucratic - rahotanni, shirye-shirye, ma'auni da tan na takarda. A cikin irin wannan yanayi, an maye gurbin jin daɗin koyarwa ta hanyar bayar da rahoto game da karɓar wannan jin daɗin, kuma wannan ya fi rashin jin daɗi ga ƙwararrun ƙwararru.

Kuma a ƙarshe na zo aikin mutum-mutumi kamar haka: a cikin 2007-2009, tare da furofesoshi A. Golovin da N. Umnov, mun fara shirya ayyukan kimiyya na farko. A can dole ne in yi amfani da algorithms don tantance hanyoyin abubuwa daga daukar hoto. Daga wannan batu yana da mataki daya zuwa hangen nesa na na'ura, OpenCV da Robotic Operating System (ko da yake a lokacin ban yi tunanin irin wannan ma'auni ba). Bayan haka, a ƙarshe na mai da hankali kan injiniyoyi masu amfani da injiniyoyi da injiniyoyi a cikin bincike, kuma haɓakawa ya zama aikin tallafi.

Koyaya, don samun sabon aiki a cikin injiniyoyin mutum-mutumi, ya zama dole don haɓakawa da haɓaka ilimin shirye-shirye na. Bayan haka, ban taɓa yin karatun IT ba musamman, sai dai karatun jami'a na tsawon shekara guda (ObjectPascal da Borland VCL a C ++), kuma na dogara da ilimin lissafi don abubuwan da suka dace na ci gaba.

Da farko na yi la'akari da zaɓuɓɓuka don kwasa-kwasan cikakken lokaci a cibiyara ta asali. Gaskiya ne, da sauri ya bayyana cewa zai zama kusan ba zai yiwu a haɗa irin waɗannan karatun tare da aiki a sashen ba saboda tsarin da ba daidai ba da kuma aiki akai-akai a waje da tsarin kansa (maye gurbin, da dai sauransu). Don haka a hankali na zo tunanin kammala karatun da ake biya daga nesa. Na zo GeekBrains bisa shawarar furofesoshi daga cibiyar horo na Mail.ru Technopark, da ke Baumanka, kuma na yi rajista a cikin kwas ɗin Shirye-shiryen Python.

Kwasa-kwasan ba su haifar da matsala ba, matsalar kawai ita ce koyaushe ina haɗa su da aiki a sashen, ayyukan kimiyya da abubuwan da suka faru. Lokaci ya yi yawa sosai don haka dole ne a sadaukar da yawancin haɗin gwiwar zamantakewa a wajen gida (an yi sa'a, na ɗan lokaci).

Wannan shi ne yadda na jimre da nauyin aiki: Na magance matsalolin kan hanya. Wannan fasaha, wanda aka haɓaka ta hanyar tafiye-tafiye na kasuwanci da yawa, ya zama mai amfani sosai, tun da idan ba tare da shi ba ba zan iya kammala duk aikin gida na ba (kuma yana maye gurbin tunani ...). Na koyi yin code a kan tafiya ta amfani da kwamfutar tafi-da-gidanka, wayowin komai da ruwanka, da madannai na wayar hannu mara waya.

Kwamfutar tafi-da-gidanka ita ce Dell Latitude 3470, kuma duk wata wayar hannu da ke da diagonal na inci 5.5 ko fiye da aka haɗa tare da maballin Logitech K 810 BT zai yi. Gabaɗaya, Ina ba da shawarar samfuran Logitech ga kowa da kowa; suna da aminci sosai kuma suna iya jure yanayin amfani sosai (kuma wannan ba talla bane).

Daga roka zuwa mutummutumi da me Python ya yi da shi. Labarin Tsofaffin Daliban GeekBrains
Allon madannai Logitech K810

Python yana da matukar dacewa ga irin wannan aikin - idan kuna da edita mai kyau. Wani hack na shirye-shirye: yi amfani da haɗin nesa zuwa tebur ko yanayin lokacin aiki. Na kammala ayyuka da yawa ta amfani da amintaccen sabar gidan yanar gizo da ke aiki da Django akan kwamfutar gida ta. Na yi aiki daga jirgin ƙasa, ta amfani da software PyDroid, DroidEdit, Maxima.

Me yasa Python?

Ba a daɗe ba kafin na yi ƙoƙarin amfani da PHP a matsayin harshen rubutun tsarin. Na fara karatun Python da kaina kuma kadan da kadan “don kaina.” Na yanke shawarar yin nazari da gaske bayan na koyi game da kasancewar ingantacciyar alaƙa tsakanin Python da C++ a matakin ƙirar - yana da ban sha'awa don raba ingantattun algorithms da hanyoyin shirye-shiryen bayanai a cikin harshe ɗaya.

Misali mafi sauƙi: akwai tsarin sarrafawa don ƙaƙƙarfan ƙaƙƙarfan ƙaƙƙarfan ƙaƙƙarfan, wanda aka aiwatar akan injin da aka saka tare da na'ura mai sarrafa RISC, a cikin C ++. Gudanarwa yana faruwa ta hanyar API mai dogaro da injin waje, wanda ke goyan bayan, alal misali, sadarwa tsakanin tsarin ƙasa akan hanyar sadarwa. A babban matakin, ba a cire tsarin aikin tuƙi ba ko kuma ba koyaushe ba (wajibi ne don ɗaukar algorithms daban-daban dangane da aikin aiki).

Ɗaya daga cikin mafi kyawun hanyoyin da za a iya cimma irin wannan tsarin shine yin amfani da na'ura ta musamman na C++ API a matsayin tushen tsarin tsarin azuzuwan Python wanda ke gudana akan mai fassarar giciye. Don haka, babban mai haɓakawa ba zai yi la'akari da fasalulluka na injin da aka haɗa da OS ba; kawai zai yi aiki tare da azuzuwan Python waɗanda ke aiki azaman “nade-nade” na API ɗin ƙasa.

Dole ne in koyi C++ da Python daure kusan daga karce. Nan da nan ya bayyana a fili cewa iyawar abubuwan da ke da alaƙa a babban matakin sun fi mahimmanci fiye da ƙaramin matakin. Saboda wannan, dole ne mu canza gaba ɗaya tsarin tsarawa da aiwatar da API, zaɓin azuzuwan a matakin Python da raba bayanan duniya a C/C++. Yi amfani da tsara tsarawa: misali, tsarin ROS da kansa yana samar da sunaye da abubuwa a cikin Python, don haka dole ne ku yi la'akari da bambance-bambancen harshe, musamman wajen bugawa, lokacin zayyana hanyoyin haɗin yanar gizon ku.

Aiki a halin yanzu: Python da Robot Control Logic

Yanzu ina aiki a matsayin mai tsara shirye-shiryen Python da C++ a Cibiyar Bincike da Ilimi ta Robotics a Jami'ar Fasaha ta Jihar Moscow. Muna aiwatar da ayyukan bincike da kayan aikin software da sassan gwamnati suka ba da izini: muna haɓaka ma'aikata tare da ginanniyar tsarin hangen nesa na fasaha da manyan algorithms sarrafawa ta atomatik waɗanda ke zaman kansu daga tsarin.

A halin yanzu, ina tsara dabaru don tsarin sarrafa mutum-mutumi a Python; wannan yaren yana haɗe tare da ingantattun kayayyaki waɗanda aka rubuta cikin C++, mai tarawa, da Go.

A cikin shirye-shiryen sarrafa tsarin sarrafa mutum-mutumi, ana amfani da manyan ƙungiyoyi biyu na algorithms. Na farko daga cikinsu ana aiwatar da su kai tsaye a kan kayan aiki, a ƙananan matakin - wannan shine ginanniyar software na masu kula da tuki, masu tattara layin sadarwa, da tsarin hulɗar ma'aikata.

Algorithms a nan an tsara su don sarrafa saurin aiwatarwa da amincin da ya wuce aikin mutum-mutumi gaba ɗaya. Na ƙarshe ya zama dole, tun da amincin tsarin gabaɗayan ya dogara da ƙananan software na sarrafawa.

Rukuni na biyu na algorithms yana ƙayyade aikin robot gaba ɗaya. Waɗannan su ne manyan shirye-shirye, wanda aka ba da fifiko a cikin haɓakawa wanda ke kan tsabta da saurin aiwatar da algorithm, sau da yawa sosai. Bugu da kari, babbar manhaja a kan mutum-mutumi tana yawan canzawa yayin saiti da tsarin gwaji. Don irin wannan ci gaban, harsunan da aka fassara gaba ɗaya suna da mahimmanci.

Wane ilimi ake buƙata don irin wannan aikin?

Zai zama wajibi a yi nazarin yaren samfuri na C++ da abubuwan da suka dace na Python. Kusan ƙwarewar da ba za a iya maye gurbinsa ita ce ikon ƙira da rubuta APIs. Zai yi kyau a bincika iyawar ɗakunan karatu na musamman kamar Boost:: Python. Wadanda ke aiki tare da ƙananan software tabbas za su yi hulɗa da multithreading (a matakin kernel) da kuma tsarin Linux/UNIX/QNX. Don inganta fahimtar ku game da ƙa'idodin aikin mutum-mutumi, yana da matukar fa'ida don sanin kanku da tsarin Tsarin Aiki na Robotic.

Ina ƙoƙarin samun aƙalla harhada shirye-shirye guda ɗaya da fassara guda ɗaya wanda ke haɓaka kuma ana buƙata. Wannan dabara ce mai nasara don yin aiki a aikin injiniya, inda ake buƙatar ci gaba da haɓaka ƙwararrun ƙwararrun algorithms (karanta: sabon abu) da aiwatar da su cikin haɗa harsuna. Ayyukan shirya bayanai don irin wannan software ya fi daɗi don warwarewa ta amfani da harsunan da aka fassara. Da farko, saitin na ya haɗa da C++, Pascal da BASIC, daga baya an ƙara PHP da BASH.

Yadda kayan aikin haɓaka zasu iya zama masu amfani wajen koyar da ɗalibai

Babban shirin ci gaban ƙwararru a yanzu shine ƙoƙarin samar da tushen kimiyya don amfani da ƙwararrun kayan aikin haɓaka software a cikin koyarwa, haɓakawa da gwada hanyoyin koyarwa.

Tun daga 2016, na fara babban gwaji don gabatar da kayan aikin haɓaka - harsunan shirye-shirye, IDEs, janareta na takardu, tsarin sarrafa sigar - cikin aikin koyarwa a manyan makarantu. Yanzu mun yi nasara wajen samun sakamako wanda za a iya kwatanta shi da inganci.

Alal misali, ƙaddamar da sigar kayan aiki a cikin tsarin ilimi yana inganta ingantaccen aikin ɗalibi, duk da haka, kawai a ƙarƙashin yanayin wajibi: ɗalibai suna aiki tare akan ayyukan da aka raba. Haɓaka hanyoyin koyar da fasahohin fasaha ta amfani da kayan aikin haɓaka software na ƙwararrun yanzu ana aiwatar da su ta hanyar ƙungiyar bincike, wanda ya ƙunshi ɗalibai, masu nema da ɗaliban ƙarin shirye-shiryen ilimi a MSTU.

Af, ban bar aikin koyarwa na ba - Na haɓaka kwas na cikakken lokaci mai zurfi akan ƙira da gudanar da Linux don Cibiyar Nazarin Ci gaba a MSTU, kuma ni kaina na koyar da shi.

Aikin kimiyya

Ayyukan farko
Batutuwa na tsara tafiya yayin zayyana tsarin tafiyar ƙafa huɗu ta amfani da misalin aiwatar da tafiyar doki (2010 g.)

A kan batun kinematics da kuma lodi na goyon bayan kashi na gaban doki a mataki na gabatowa goyon baya a matsayin sassa na aikin sake zagayowar na hudu kafafu motsi. (2012 g.)

Daga karshe
3D kayan aikin kwaikwayo na kera kayan aiki don tsarin koyarwa da ka'idar inji (2019 g.)

Hanyar gane shingen tsari da aikace-aikacensa wajen neman abubuwan taimako (2018 g.)

Za a iya ganin sauran ayyukan da bayanan bayanan kimiyya ke nunawa a cikin bayanin martaba na akan ResearchGate. Yawancin labaran sun keɓe ga motsi na inji, akwai ayyuka akan ilimin injiniya da software na ilimi.

source: www.habr.com

Add a comment