Kuchokera ku roketi kupita ku maloboti ndipo Python ikukhudzana bwanji nazo. Nkhani ya GeekBrains Alumni

Kuchokera ku roketi kupita ku maloboti ndipo Python ikukhudzana bwanji nazo. Nkhani ya GeekBrains Alumni
Lero tikufalitsa nkhani ya kusintha kwa Andrey Vukolov kupita ku IT. Chilakolako chake chaubwana cha danga chinamupangitsa kuti aphunzire sayansi ya rocket ku MSTU. Chowonadi chowawa chinandipangitsa kuyiwala za malotowo, koma zonse zidakhala zosangalatsa kwambiri. Kuwerenga C ++ ndi Python kunandilola kuchita ntchito yosangalatsa yofanana: kukonza malingaliro a makina owongolera maloboti.

Kunyumba

Ndinali ndi mwayi wokonda kwambiri za mlengalenga ubwana wanga wonse. Choncho, nditamaliza sukulu, sindinakayikire kwa mphindi imodzi kumene ndiyenera kupita kukaphunzira, ndipo ndinalowa MSTU. Bauman, ku dipatimenti ya Rocket Propulsion Engineering. Komabe, nthambi ya maphunzirowo - injini zaufa kapena zamadzimadzi zamaroketi - sizinayenera kusankhidwa konse: mu 2001, komiti yapadera yaukadaulo idagawabe magulu omwe adafunsidwa. Ndinagwidwa muthumba laufa.

Panthawiyo, "rocket boom" inalipo pamapulani okha; mainjiniya adalandira malipiro ochepa ndipo amagwira ntchito m'mabungwe apadera otsekedwa komanso m'mabungwe ofufuza popanda chiyembekezo cha ntchito komanso kukula kwaukadaulo. Komabe, maroketi a ufa ku Russia ndi zida zankhondo chabe.

Tsopano derali likufunidwa, koma pamaphunziro anga kale ndinazindikira kuti mu sayansi ya rocket ntchito iliyonse payokha ndiyotheka. Ndipotu uwu ndi usilikali. Mwachitsanzo, ndikugwira ntchito m'makampani a rocket, ndikanalandidwa mwayi wopanga mapulogalamu odziyimira pawokha, ngakhale kwa ine ndekha, chifukwa ntchitoyi imayendetsedwa mosamalitsa.

Mapulogalamu onse amapulogalamu amapangidwa mwadongosolo lapadera komanso ndi chilolezo cha chinsinsi (yomwe tsopano ndi gawo la FSTEC). Wopanga mapulogalamuwa akuyenera kulembetsa ndikulembetsa mzere uliwonse wamakhodi. Mapulogalamu onse ndi obisika poyamba pa mlingo wa ntchito. Izi zikufotokozera chifukwa chomwe pulogalamu yomwe tsopano imagwiritsidwa ntchito pophunzitsa ophunzira a sayansi ya rocket idapangidwa m'ma 90 koyambirira.

Nditamaliza maphunziro anga kusukulu, ndinakwanitsa kugwira ntchito ku dipatimenti ya Mechanical Theory ndikuyamba kupanga simulator yophunzitsira mu C ++, kotero ndinali ndi chitsanzo chofanizira ndipo ndimatha kuyeza zabwino ndi zoyipa. Kusankha kunali kodziwikiratu, ndipo pang'onopang'ono ndidayamba kupita ku IT ndi robotics. Zimango zogwiritsidwa ntchito zinali zosangalatsa kwambiri kuposa sayansi ya rocket: mavuto ambiri osathetsedwa, malo otseguka, kusowa kwamakampani opanga chitukuko, kufunikira kwachangu kwa pulogalamu yoyeserera. Mu robotics, pali mapangidwe osakhazikika a mapulogalamu wamba komanso kufunikira kobwereza mobwerezabwereza ma aligorivimu ovuta, kuphatikiza malingaliro osamveka komanso zoyambira za AI. Chifukwa chake, nditatha mapulogalamu anga oyamba opangira zoyeserera, sindinabwererenso kumaroketi (kupatulapo ntchito yanga yomaliza maphunziro).

Zotsatira zake, ndinali ndi mwayi wogwira ntchito yapaderayi kwa miyezi inayi yokha ndisanamalize maphunziro pa fakitale ina pafupi ndi Moscow ya zomangamanga zamakampani opanga ndege. Nditamaliza maphunziro anga, sindinafunikire n’komwe kufunafuna ntchitoβ€”nthawi yomweyo ndinabwera kudzaphunzitsa umakaniko wa ntchito ku dipatimenti ya robotics.

Kuyambira kuphunzitsa mpaka kupanga mapulogalamu

Kuchokera ku roketi kupita ku maloboti ndipo Python ikukhudzana bwanji nazo. Nkhani ya GeekBrains Alumni
Pa IFTOMM World Congress ndi ophunzira a gulu lofufuza (ine kumanja)

Ndinagwira ntchito ku MSTU mu dipatimenti yoyesa zitsanzo kwa zaka 10, ndikuphunzitsa maphunziro a chiphunzitso cha makina. Adasindikiza ntchito zasayansi (onani kumapeto kwa nkhaniyi), pang'onopang'ono adachoka kumakanika kupita ku CAD ndi robotics. Ndipo pamapeto pake adaganiza zosiya kuphunzitsa. Kuti ndifotokoze momveka bwino zifukwa za chisankhochi, ndinena kuti m'zaka khumi maphunziro omwe ndidaphunzitsa sanasinthe malo amodzi. Ngakhale makina ogwiritsira ntchito, kutengera zofalitsa, adapita patsogolo kwambiri, bwino kwambiri.

Kuonjezera apo, ntchitoyo ikufanana kwambiri ndi ntchito za boma - malipoti, mapulogalamu, miyezo ndi matani a mapepala. M'mikhalidwe yotereyi, chisangalalo cha kuphunzitsa chinasinthidwa ndikupereka lipoti pakupeza chisangalalo ichi, ndipo izi ndizosasangalatsa kwa akatswiri.

Ndipo potsiriza ndinafika ku robotics monga chonchi: mu 2007-2009, pamodzi ndi mapulofesa A. Golovin ndi N. Umnov, tinayamba kukonzekera ntchito zoyambirira za sayansi. Kumeneko ndinayenera kugwiritsa ntchito ma algorithms kuti ndidziwe njira za zinthu kuchokera ku kujambula kwa strobe. Kuchokera pamutuwu ndi sitepe imodzi yopita ku masomphenya a makina, OpenCV ndi Robotic Operating System (ngakhale panthawiyo sindinaganizepo za sikelo yotere). Pambuyo pake, pomalizira pake ndinayang'ana kwambiri pakugwiritsa ntchito makaniko ndi robotics pofufuza, ndipo chitukuko chinakhala ntchito yothandizira.

Komabe, kuti ndipeze ntchito yatsopano mu robotics, kunali koyenera kuwongolera ndikuwonjezera chidziwitso changa cha mapulogalamu. Pambuyo pake, sindinaphunzirepo za IT mwachindunji, kupatulapo maphunziro a yunivesite ya chaka chonse (ObjectPascal ndi Borland VCL mu C ++), ndipo ndinadalira masamu pazinthu zachitukuko.

Poyamba ndidaganizira njira zochitira maphunziro anthawi zonse kusukulu yanga. Zoona, mwamsanga zinawonekeratu kuti zingakhale zosatheka kuphatikiza maphunziro oterowo ndi ntchito ku dipatimenti chifukwa cha ndandanda yosakhazikika ndi ntchito zanthawi zonse kunja kwa ndandanda ya munthu (kulowetsa, etc.). Chifukwa chake pang'onopang'ono ndinafika pa lingaliro lomaliza maphunziro olipidwa patali. Ndinabwera ku GeekBrains pamalingaliro a aphunzitsi ochokera ku Mail.ru Technopark training center, yomwe ili ku Baumanka, ndipo ndinalembetsa maphunziro a Python Programmer.

Maphunzirowa sanabweretse vuto lililonse, vuto lokhalo linali lakuti nthawi zonse ndimayenera kuwaphatikiza ndi ntchito ku dipatimenti, ntchito za sayansi ndi zochitika. Nthawi inali yolimba kwambiri kotero kuti maubwenzi ambiri kunja kwa nyumba amayenera kuperekedwa nsembe (mwamwayi, kwakanthawi).

Umu ndi momwe ndinathanira ndi kuchuluka kwa ntchito: Ndinathetsa mavuto pamsewu. Luso limeneli, lomwe linapangidwa ndi maulendo angapo amalonda, linakhala lothandiza kwambiri, chifukwa popanda izo sindikanatha kumaliza ntchito zanga zonse (komanso zimalowetsanso kusinkhasinkha ...). Ndinaphunzira kulemba code popita pogwiritsa ntchito laputopu, foni yam'manja, komanso ma kiyibodi opanda zingwe.

Laputopu yanga ndi Dell Latitude 3470, ndipo foni yamakono iliyonse yokhala ndi diagonal ya mainchesi 5.5 kapena kupitilira apo yophatikizidwa ndi kiyibodi ya Logitech K 810 BT idzachita. Nthawi zambiri, ndimalimbikitsa zopanga za Logitech kwa aliyense; ndizodalirika kwambiri ndipo zimatha kupirira zovuta zogwiritsidwa ntchito (ndipo izi sizotsatsa).

Kuchokera ku roketi kupita ku maloboti ndipo Python ikukhudzana bwanji nazo. Nkhani ya GeekBrains Alumni
Kiyibodi Logitech K810

Python ndiwothandiza kwambiri pantchito yotere - ngati muli ndi mkonzi wabwino. Kuthyolako kwina kwa mapulogalamu: gwiritsani ntchito zolumikizira zakutali pakompyuta kapena malo othamanga. Ndinamaliza ntchito zingapo pogwiritsa ntchito seva yotetezeka ya Django pakompyuta yanga yakunyumba. Ndinagwira ntchito kuchokera ku sitima, pogwiritsa ntchito PyDroid, DroidEdit, Maxima.

Chifukwa chiyani Python?

Sipanatenge nthawi ndidayesa kugwiritsa ntchito PHP ngati chilankhulo cholembera. Poyamba ndinaphunzira Python ndekha ndipo pang'onopang'ono ndinaphunzira "kwa ine ndekha." Ndidaganiza zophunzira mozama nditaphunzira za kukhalapo kwa kulumikizana kothandiza pakati pa Python ndi C ++ pagawo la gawo - zidawoneka zosangalatsa kugawana ma aligorivimu okometsedwa ndi njira zokonzekera deta m'chilankhulo chomwecho.

Chitsanzo chosavuta: pali njira yoyendetsera galimoto yamphamvu yosakhazikika, yogwiritsidwa ntchito pamakina ophatikizidwa ndi purosesa ya RISC, mu C ++. Kuwongolera kumachitika kudzera pa API yodalira makina akunja, yomwe imathandizira, mwachitsanzo, kulumikizana pakati pa ma subsystems pamaneti. Pamsinkhu wapamwamba, ma algorithm oyendetsa galimoto samasinthidwa kapena samakhala nthawi zonse (m'pofunika kukweza ma aligorivimu osiyanasiyana kutengera ntchito).

Imodzi mwa njira zabwino kwambiri zopezera kachitidwe kameneka ndi kugwiritsa ntchito makina a C ++ subsystem API monga maziko a magulu a Python omwe amayenda pa womasulira wodutsa. Chifukwa chake, wopanga mapulogalamu apamwamba sayenera kuganizira za makina ophatikizidwa ndi OS yake; adzangogwira ntchito ndi makalasi a Python omwe amakhala ngati "wrappers" a API otsika.

Ndinayenera kuphunzira C ++ ndi Python kumanga pafupifupi kuyambira pachiyambi. Mwamsanga zinawonekeratu kuti kuthekera kwa chinthu pamlingo wapamwamba kunali kofunikira kwambiri kuposa kutsika. Chifukwa cha izi, tinayenera kusinthiratu njira yopangira ndi kukhazikitsa API, kusankha makalasi pa mlingo wa Python ndikugawana deta yapadziko lonse ku C / C ++. Yesetsani kupanga ma code: mwachitsanzo, dongosolo la ROS palokha limapanga mayina ndi zinthu mu Python, kotero muyenera kuganizira kusiyana kwa zilankhulo, makamaka polemba, popanga mawonekedwe anu.

Kugwira Ntchito Panopa: Python ndi Robot Control Logic

Tsopano ndimagwira ntchito monga Python ndi C++ pa Robotic Research and Education Center pa Moscow State Technical University. Timagwiritsa ntchito mapulojekiti ofufuza ndi zida zamapulogalamu zoperekedwa ndi madipatimenti aboma: timapanga zida zowongolera zomwe zimakhala ndi makina owonera komanso ma algorithms apamwamba kwambiri omwe sadalira machitidwe.

Pakadali pano, ndimapanga malingaliro apamwamba kwambiri a makina owongolera maloboti ku Python; chilankhulochi chimalumikizana ndi ma module okonzedwa bwino olembedwa mu C ++, assembler, ndi Go.

Pakupanga ma algorithms owongolera ma robot, magulu awiri akulu a ma algorithms amagwiritsidwa ntchito. Yoyamba imayendetsedwa mwachindunji pazida, pamlingo wochepa - iyi ndi pulogalamu yokhazikika ya owongolera pagalimoto, zolumikizira mizere yolumikizirana, ndi ma subsystems ogwiritsira ntchito.

Ma algorithms apa adapangidwa kuti aziwongolera kuthamanga komanso kudalirika komwe kumaposa magwiridwe antchito a robot yonse. Chotsatiracho ndi chovomerezeka, popeza chitetezo cha dongosolo lonse chimadalira mapulogalamu otsika kwambiri.

Gulu lachiwiri la ma algorithms limatsimikizira magwiridwe antchito a robot yonse. Izi ndi mapulogalamu apamwamba, kutsindika pa chitukuko chomwe chiri pa kumveka bwino ndi kuthamanga kwa ndondomeko ya ndondomeko, nthawi zambiri zovuta kwambiri. Kuonjezera apo, mapulogalamu apamwamba pa robot nthawi zambiri amatha kusintha panthawi yokonzekera ndi kuyesa. Pachitukuko chotere, zilankhulo zotanthauziridwa ndi cholinga chambiri ndizofunikira.

Kodi ndi chidziΕ΅itso chotani chimene chikufunika pa ntchito yotero?

Zidzakhala zovomerezeka kuti muphunzire chilankhulo cha C ++ ndi luso la Python. Luso losasinthika ndi luso lopanga ndikulemba ma API. Kungakhale lingaliro labwino kufufuza kuthekera kwa malaibulale apadera monga Boost::Python. Iwo omwe amagwira ntchito ndi mapulogalamu otsika adzayenera kuthana ndi multithreading (pa mlingo wa kernel) ndi mafoni a Linux / UNIX / QNX. Kuti mumvetse bwino mfundo za robotics, ndizothandiza kwambiri kuti mudziwe bwino za Robotic Operating System framework.

Ndimayesetsa kukhala ndi chilankhulo chimodzi chophatikizidwa komanso chotanthauziridwa chomwe chikukula komanso chofunikira. Iyi ndi njira yopambana yogwirira ntchito zamainjiniya, pomwe pamafunika nthawi zonse kupanga ma algorithms apadera (werengani: zachilendo) ndikuzigwiritsa ntchito polemba zilankhulo. Ntchito yokonzekera deta ya pulogalamu yotereyi ndiyosangalatsa kwambiri kuthetsa pogwiritsa ntchito zilankhulo zomasuliridwa. Poyamba, seti yanga inaphatikizapo C ++, Pascal ndi BASIC, pambuyo pake PHP ndi BASH zinawonjezeredwa.

Momwe zida zachitukuko zingathandizire pophunzitsa ophunzira

Cholinga chachikulu cha chitukuko cha akatswiri tsopano ndi kuyesa kupereka maziko asayansi ogwiritsira ntchito zida zachitukuko zamapulogalamu muzophunzitsa, kupanga ndi kuyesa njira zophunzitsira.

Kuyambira 2016, ndinayamba kuyesa kwakukulu poyambitsa zida zachitukuko - zilankhulo zamapulogalamu, ma IDE, opanga zolemba, machitidwe owongolera matembenuzidwe - pophunzitsa m'maphunziro apamwamba. Tsopano tapambana kupeza zotsatira zomwe zingathe kufotokozedwa momveka bwino.

Mwachitsanzo, kuyambitsa kumasulira kwa zipangizo mu maphunziro kumapangitsa kuti ntchito ya ophunzira ikhale yabwino, komabe, pokhapokha ngati pali lamulo lovomerezeka: ophunzira akugwira ntchito limodzi pama projekiti omwe amagawana nawo. Kukula kwa njira zophunzitsira maphunziro aukadaulo pogwiritsa ntchito zida zachitukuko zamapulogalamu tsopano zikugwira ntchito ndi gulu langa lofufuza, lokhala ndi ophunzira, ofunsira komanso ophunzira amaphunziro owonjezera pa MSTU.

Mwa njira, sindinasiye ntchito yanga yophunzitsa - ndinapanga maphunziro anga anthawi zonse okhudza mapangidwe ndi kayendetsedwe ka Linux ku Institute of Advanced Studies ku MSTU, ndipo ndimadziphunzitsa ndekha.

Ntchito yasayansi

Ntchito zoyambirira
Nkhani za kukonzekera kwa gait popanga machitidwe oyenda a miyendo inayi pogwiritsa ntchito chitsanzo cha kavalo wothamanga (2010 g.)

Pankhani ya kinematics ndi kukweza kwa gawo lothandizira la mwendo wakutsogolo wa kavalo mu gawo la kuyandikira chithandizo monga zigawo za kayendetsedwe ka ntchito ya woyendetsa miyendo inayi. (2012 g.)

Kuchokera kotsiriza
Kugwiritsa ntchito zida za 3D zopangira zida zophunzitsira ndi chiphunzitso cha makina (2019 g.)

Njira yodziwira zopinga zamapangidwe ndikugwiritsa ntchito posaka zinthu zothandizira (2018 g.)

Ntchito zina zolembedwa ndi nkhokwe zasayansi zitha kuwoneka mumbiri yanga Fufuzani Zotsatira. Zambiri mwazolemba zimaperekedwa kumayendedwe a makina, pali ntchito paukadaulo wophunzitsira ndi mapulogalamu amaphunziro.

Source: www.habr.com

Kuwonjezera ndemanga