Mai nā rockets i nā robots a he aha ka pili o Python me ia. ʻO GeekBrains Alumni Story

Mai nā rockets i nā robots a he aha ka pili o Python me ia. ʻO GeekBrains Alumni Story
I kēia lā ke hoʻolaha nei mākou i ka moʻolelo o ka hoʻololi ʻana o Andrey Vukolov i IT. ʻO kona makemake nui i ka wā kamaliʻi i alakaʻi iā ia e aʻo i ka ʻepekema rocket ma MSTU. ʻO ka ʻoiaʻiʻo paʻakikī i poina iaʻu i ka moeʻuhane, akā ua ʻoi aku ka hoihoi o nā mea a pau. ʻO ke aʻo ʻana iā C++ a me Python ua ʻae iaʻu e hana i nā hana hoihoi like: ka hoʻonohonoho ʻana i ka loiloi o nā ʻōnaehana hoʻokele robot.

ʻO ka hoʻomaka

Laki wau i koʻu wā kamaliʻi a puni ka lewa. No laila, ma hope o ke kula, ʻaʻohe oʻu kanalua no hoʻokahi minute kahi e hele ai au e aʻo, a komo au i ka MSTU. Bauman, i ke Keena o ka Rocket Propulsion Engineering. Eia naʻe, ʻaʻole pono ke koho ʻia ka lālā o ka papa ponoʻī - ka pauka a i ʻole nā ​​ʻenekini wai o nā rockets space - i ka makahiki 2001, ua māhele ʻia kahi komisina kumu kūikawā i nā pūʻulu o nā mea noi. Ua paʻa au i loko o kahi pahu pauda.

I kēlā manawa, aia wale nō ka "rocket boom" i nā hoʻolālā; Ua loaʻa i nā mea ʻenekini nā uku liʻiliʻi a hana i loko o nā keʻena hoʻolālā kūikawā i pani ʻia a me nā keʻena noiʻi me ka ʻole o ka manaʻo no ka ʻoihana a me ka ulu ʻoihana. Eia nō naʻe, ʻo nā pōhaku lepo ma Rūsia he mau huahana koa wale nō.

I kēia manawa ua koi ʻia kēia wahi, akā i ka wā o kaʻu aʻo ʻana ua ʻike wau i ka ʻepekema rocket ua aneane hiki ʻole ke hana ma kāna hana ponoʻī. ʻO ka ʻoiaʻiʻo, he ʻoihana koa kēia. No ka laʻana, e hana ana i ka ʻoihana rocket, e hoʻonele loa wau i ka manawa e hoʻomohala kūʻokoʻa i nā polokalamu, ʻoiai noʻu iho, no ka mea, ua hoʻoponopono paʻa ʻia kēia hana.

Hoʻokumu wale ʻia nā huahana polokalamu āpau ma ke kauoha kūikawā a me ka ʻae ʻia o ke komisina huna (i kēia manawa he mahele o FSTEC). Pono ka mea hoʻomohala ma laila e hoʻopaʻa inoa a laikini maoli i kēlā me kēia laina code. Ua huna mua nā polokalamu a pau ma ka pae hana. ʻO kēia ka wehewehe ʻana i ke kumu i hoʻohana ʻia ai ka polokalamu e hoʻomaʻamaʻa i nā haumāna ʻepekema rocket i hoʻomohala ʻia i ka makahiki 90 ma ka hope loa.

I ka manawa aʻu i puka ai mai ke kula, ua hiki iaʻu ke hana ma ke keʻena o ka mechanical theory a hoʻomaka wau e hoʻomohala i kahi simulator kaʻina hana hoʻonaʻauao ma C ++, no laila ua loaʻa iaʻu kahi hiʻohiʻona no ka hoʻohālikelike ʻana a hiki ke kaupaona i nā pono a me nā pōʻino. Ua maopopo ka koho, a ua hoʻomaka wau e neʻe i ka IT a me nā robotics. ʻOi aku ka leʻaleʻa o nā mīkini i hoʻohana ʻia ma mua o ka ʻepekema rocket: nui nā pilikia i hoʻopau ʻole ʻia, kahi ākea ākea, nele i kahi ʻoihana hoʻomohala, kahi koi wikiwiki no ka polokalamu simulation. I loko o nā robotics, aia kahi hoʻolālā paʻa ʻole o ka polokalamu maʻamau a me ka pono e hoʻokō pinepine i nā algorithms paʻakikī, me ka loiloi fuzzy a me ka hoʻomaka ʻana o AI. No laila, ma hope o kaʻu mau papahana mua no ka hoʻoponopono ʻana i ka ʻikepili hoʻokolohua, ʻaneʻane ʻaʻole wau e hoʻi hou i nā rockets (koe naʻe kaʻu papahana puka).

ʻO ka hopena, ua loaʻa iaʻu ka manawa e hana ai i kaʻu ʻoihana kūikawā no ʻehā mau mahina ma mua o ka puka ʻana ma kahi mea kanu kokoke i Moscow no nā hale hoʻohui no ka ʻoihana aerospace. Ma hope o koʻu hoʻopau ʻana i kaʻu mau haʻawina, ʻaʻole pono iaʻu e ʻimi i kahi hana - ua hele koke wau e aʻo i ka mīkini noiʻi ma ka ʻoihana robotics.

Mai ke aʻo ʻana i ka papahana

Mai nā rockets i nā robots a he aha ka pili o Python me ia. ʻO GeekBrains Alumni Story
Ma ka IFTOMM World Congress me nā haumāna haumāna o ka hui noiʻi (ʻo wau ma ka ʻākau)

Ua hana au ma MSTU ma ke keʻena hoʻohālike no 10 mau makahiki, e aʻo ana i kahi papa ma ke kumumanaʻo o nā mīkini. Ua paʻi ʻo ia i nā hana ʻepekema (e ʻike i ka hopena o ka ʻatikala), neʻe mālie mai ka mechanics i CAD a me nā robotics. A i ka hopena, ua hoʻoholo ʻo ia e haʻalele i ke aʻo ʻana. No ka wehewehe pono ʻana i nā kumu o kēia hoʻoholo ʻana, e ʻōlelo wau i loko o nā makahiki he ʻumi, ʻaʻole i hoʻololi ka papa haʻawina aʻu i aʻo ai i hoʻokahi wahi decimal. ʻOiai ua hoʻohana ʻia nā mechanics, e hoʻoholo ana e nā paʻi, neʻe i mua me ka kūleʻa loa.

Eia kekahi, ʻoi aku ka like o ka hana i ka hana bureaucratic - nā hōʻike, nā papahana, nā kūlana a me nā tona pepa. Ma ia mau kūlana, ua hoʻololi ʻia ka leʻaleʻa o ke aʻo ʻana e ka hōʻike ʻana i ka loaʻa ʻana o kēia leʻaleʻa, a ʻoi aku ka maikaʻi o kēia ma mua o ka ʻoluʻolu ʻole no kahi loea hoʻomaʻamaʻa.

A i ka hope ua hiki au i ka robotics e like me kēia: i ka makahiki 2007-2009, me nā polopeka ʻo A. Golovin a me N. Umnov, ua hoʻomaka mākou e hoʻomākaukau i nā hana ʻepekema mua. Ma laila au e hoʻohana ai i nā algorithms e hoʻoholo i nā ala o nā mea mai ke kiʻi strobe. Mai kēia kumuhana ʻo ia kahi ʻanuʻu i ka ʻike mīkini, OpenCV a me Robotic Operating System (ʻoiai i kēlā manawa ʻaʻole wau i noʻonoʻo e pili ana i kēlā ʻano pālākiō). Ma hope o kēlā, ua nānā hope wau i nā mīkini noiʻi a me nā robotics i ka noiʻi, a ua lilo ka hoʻomohala ʻana i hana kākoʻo.

Eia nō naʻe, no ka loaʻa ʻana o kahi hana hou i ka robotics, pono ia e hoʻomaikaʻi a hoʻohui i kaʻu ʻike papahana. Ma hope o nā mea a pau, ʻaʻole wau i aʻo pono i ka IT, koe wale no kahi papa kulanui makahiki (ObjectPascal a me Borland VCL ma C++), a hilinaʻi i ka makemakika no nā ʻano kumu o ka hoʻomohala ʻana.

I ka wā mua, noʻonoʻo wau i nā koho no nā papa manawa piha ma kaʻu kula ʻōiwi. ʻOiaʻiʻo, ua ʻike koke ʻia he mea hiki ʻole ke hoʻohui i ia mau haʻawina me ka hana ma ka ʻoihana ma muli o ka papa hana ʻole a me ka hana pinepine ma waho o ka papa hana ponoʻī (substitution, etc.). No laila ua hele mālie wau i ka manaʻo e hoʻopau i nā papa uku ma kahi mamao. Ua hele mai au i GeekBrains ma ka ʻōlelo aʻoaʻo a nā kumu aʻo mai ka Mail.ru Technopark training center, aia ma Baumanka, a ua kākau inoa ʻia i ka papahana Python Programmer.

ʻAʻole pilikia nā papa, ʻo ka pilikia wale nō ke hoʻohui mau wau iā lākou me ka hana ma ke keʻena, nā hana ʻepekema a me nā hanana. Ua paʻa loa ka manawa no laila ʻo ka hapa nui o nā pilina ma waho o ka home e pono e mōhai ʻia (ʻo ka pōmaikaʻi, no ka manawa pōkole).

ʻO kēia kaʻu i hoʻoponopono ai i ka haʻahaʻa hana: Ua hoʻoponopono wau i nā pilikia ma ke alanui. ʻO kēia akamai, i hoʻomohala ʻia ma o nā huakaʻi ʻoihana he nui, ua lilo ia i mea pono loa, no ka mea inā ʻaʻole hiki iaʻu ke hoʻopau i kaʻu haʻawina home āpau (a ke pani nei hoʻi ia i ka noʻonoʻo ʻana...). Ua aʻo au e hoʻopaʻa inoa ma ka hele ʻana me kaʻu pona, kelepona, a me nā kīwī kelepona ʻole.

ʻO Dell Latitude 3470 kaʻu kamepiula, a ʻo kēlā me kēia kelepona me ka diagonal o 5.5 iniha a ʻoi aku paha i hui pū ʻia me kahi kīwī Logitech K 810 BT. Ma ka laulā, paipai wau i nā huahana Logitech i kēlā me kēia kanaka; hilinaʻi nui lākou a hiki ke kū i nā kūlana koʻikoʻi o ka hoʻohana (a ʻaʻole kēia he hoʻolaha).

Mai nā rockets i nā robots a he aha ka pili o Python me ia. ʻO GeekBrains Alumni Story
Papa keyboard Logitech K810

Hoʻohana maikaʻi ʻo Python i ia hana - inā he mea hoʻoponopono maikaʻi kāu. ʻO kekahi hack polokalamu ʻē aʻe: e hoʻohana i nā pili mamao i ka pākaukau a i ʻole ka wā holo. Ua hoʻopau wau i kekahi mau hana me ka hoʻohana ʻana i kahi kikowaena pūnaewele paʻa e holo ana iā Django ma kaʻu kamepiula home. Ua hana au mai ke kaʻaahi, me ka hoʻohana ʻana i ka polokalamu PyDroid, DroidEdit, Maxima.

No ke aha ʻo Python?

ʻAʻole i liʻuliʻu ma mua o koʻu hoʻāʻo ʻana e hoʻohana i ka PHP ma ke ʻano he ʻōlelo kākau ʻōnaehana. Ua aʻo mua wau i ka Python ma kaʻu iho a liʻiliʻi iki "noʻu iho." Ua hoʻoholo wau e aʻo koʻikoʻi ma hope o koʻu aʻo ʻana e pili ana i ke ola ʻana o kahi pilina kūpono ma waena o Python a me C++ ma ka pae module - he mea hoihoi ia e kaʻana like i nā algorithms a me nā kaʻina hana hoʻomākaukau ʻikepili i loko o ka ʻōlelo like.

ʻO ka laʻana maʻalahi loa: aia kahi ʻōnaehana hoʻokele no kahi kaʻa ikaika ʻole maʻamau, i hoʻokō ʻia ma kahi mīkini i hoʻopili ʻia me kahi kaʻina hana RISC, ma C ++. Hana ʻia ka hoʻokele ma o kahi API e pili ana i ka mīkini waho, e kākoʻo ana, no ka laʻana, ke kamaʻilio ma waena o nā subsystem ma luna o kahi pūnaewele. Ma kahi kiʻekiʻe, ʻaʻole i hoʻopaʻa ʻia ka algorithm hana hoʻokele a ʻaʻole mau paha (pono e hoʻouka i nā algorithm like ʻole e pili ana i ke kaʻina hana).

ʻO kekahi o nā ala maikaʻi loa e hoʻokō ai i kēlā ʻōnaehana ʻo ia ka hoʻohana ʻana i ka mīkini-specific C ++ subsystem API ma ke ʻano he kumu no kahi hoʻonohonoho o nā papa Python e holo ana ma kahi unuhi ʻōlelo cross-platform. No laila, ʻaʻole pono ka mea hoʻomohala kiʻekiʻe e noʻonoʻo i nā hiʻohiʻona o ka mīkini i hoʻopili ʻia a me kāna OS; e hana wale ʻo ia me nā papa Python e hana nei ma ke ʻano he "wrappers" o ka API haʻahaʻa haʻahaʻa.

Pono wau e aʻo iā C ++ a me Python e hoʻopaʻa kokoke ana mai ka wā ʻōpala. Ua ʻike koke ʻia ʻoi aku ka koʻikoʻi o nā mea hiki i kahi pae kiʻekiʻe ma mua o ka pae haʻahaʻa. Ma muli o kēia, pono mākou e hoʻololi piha i ka hoʻolālā ʻana a me ka hoʻokō ʻana i ka API, ke koho ʻana i nā papa ma ka pae Python a kaʻana like i ka ʻikepili honua ma C/C++. E hoʻomaʻamaʻa i ka hoʻokumu code: no ka laʻana, hoʻopuka ka framework ROS i nā inoa a me nā mea ma Python, no laila pono ʻoe e noʻonoʻo i nā ʻokoʻa ʻōlelo, ʻoi aku ka paʻi ʻana, ke hoʻolālā ʻana i kāu mau pilina.

Ke hana nei i kēia manawa: Python a me Robot Control Logic

Ke hana nei au ma ke ʻano he polokalamu Python a me C++ ma ka Robotics Research and Education Center ma Moscow State Technical University. Hoʻokō mākou i nā papahana noiʻi a me nā lako polokalamu i kauoha ʻia e nā keʻena aupuni: hoʻomohala mākou i nā manipulators me nā ʻōnaehana ʻike ʻenehana i kūkulu ʻia a me nā algorithm mana ʻokoʻa kiʻekiʻe i kūʻokoʻa i nā ʻōnaehana.

I kēia manawa, hoʻolālā wau i ka loiloi kiʻekiʻe no nā ʻōnaehana hoʻokele robot ma Python; pili kēia ʻōlelo i nā modula i hoʻopaʻa ʻia i kākau ʻia ma C++, assembler, a me Go.

I ka hoʻonohonoho ʻana i nā algorithm control robot, hoʻohana ʻia ʻelua mau pūʻulu algorithms nui. ʻO ka mea mua o lākou e hoʻokō pololei ʻia ma nā mea hana, ma kahi haʻahaʻa haʻahaʻa - ʻo ia ka polokalamu i kūkulu ʻia i loko o nā mea hoʻokele kaʻa, nā concentrators laina kamaʻilio, a me nā subsystems launa pū ʻana.

Hoʻolālā ʻia nā algorithms ma aneʻi no ka wikiwiki o ka hoʻokō ʻana a me ka hilinaʻi i ʻoi aku ma mua o ka hana o ka robot holoʻokoʻa. Pono ka hope, no ka mea, pili ka palekana o ka ʻōnaehana holoʻokoʻa i nā polokalamu hoʻokele haʻahaʻa.

ʻO ka hui ʻelua o nā algorithms e hoʻoholo i ka hana o ka robot ma ke ʻano holoʻokoʻa. ʻO kēia nā papahana kiʻekiʻe, ʻo ke koʻikoʻi o ka hoʻomohala ʻana ma luna o ka māmā a me ka wikiwiki o ka hoʻokō ʻana i ka algorithm, pinepine paʻakikī. Eia kekahi, hoʻololi pinepine ʻia nā polokalamu kiʻekiʻe ma ka robot i ka wā o ka hoʻonohonoho a me ka hoʻāʻo ʻana. No ia hoʻomohala ʻana, pono nui nā ʻōlelo unuhi i ka manaʻo nui.

He aha ka ʻike e pono ai no ia hana?

Pono ia e aʻo i ka ʻōlelo template C++ a me nā mana kūpono o Python. ʻO kahi mākaukau hiki ʻole ke hoʻololi ʻia ka hiki ke hoʻolālā a kākau i nā API. He manaʻo maikaʻi e ʻimi i nā hiki o nā hale waihona puke kūikawā e like me Boost::Python. ʻO ka poʻe e hana me nā polokalamu haʻahaʻa haʻahaʻa, pono lākou e hana me ka multithreading (ma ka pae kernel) a me nā kelepona Linux / UNIX / QNX. No ka hoʻomaikaʻi ʻana i kou ʻike i nā loina o ka robotics, he mea pono e hoʻomaʻamaʻa iā ʻoe iho me ka ʻōnaehana ʻōnaehana Robotic.

Ke ho'āʻo nei au e loaʻa i ka liʻiliʻi hoʻokahi i hōʻuluʻulu ʻia a hoʻokahi ʻōlelo hoʻolālā e hoʻomohala nei a i koi ʻia. He hoʻolālā lanakila kēia no ka hana ʻana i ka ʻenekinia, kahi e pono mau ai ka hoʻomohala ʻana i nā algorithms kūikawā (heluhelu: ʻokoʻa) a hoʻokō iā lākou i ka hōʻuluʻulu ʻana i nā ʻōlelo. ʻOi aku ka ʻoluʻolu o ka hoʻomākaukau ʻana i ka ʻikepili no ia polokalamu me ka hoʻohana ʻana i nā ʻōlelo unuhi. I ka wā mua, ua hoʻokomo ʻia kaʻu set C++, Pascal a me BASIC, ma hope ua hoʻohui ʻia ʻo PHP a me BASH.

Pehea e pono ai nā mea hana hoʻomohala i ke aʻo ʻana i nā haumāna

ʻO ka hoʻolālā nui no ka hoʻomohala ʻoihana i kēia manawa ʻo ia ka hoʻāʻo e hāʻawi i kahi kumu ʻepekema no ka hoʻohana ʻana i nā mea hana hoʻomohala polokalamu ʻoihana ma ka aʻo ʻana, e hoʻomohala a hoʻāʻo i nā ʻano aʻo.

Mai ka makahiki 2016, ua hoʻomaka wau i kahi hoʻokolohua nui i ka hoʻokomo ʻana i nā mea hana hoʻomohala - nā ʻōlelo papahana, nā IDE, nā mea hana palapala, nā ʻōnaehana mana mana - i ka hoʻomaʻamaʻa aʻo ʻana i ke kula kiʻekiʻe. Ua lanakila mākou i kēia manawa i ka loaʻa ʻana o nā hopena i hiki ke hoʻonui ʻia i ka qualitatively.

No ka laʻana, ʻo ka hoʻokomo ʻana i ka versioning o nā mea i loko o ke kaʻina hoʻonaʻauao e hoʻomaikaʻi nui i ka maikaʻi o ka hana a nā haumāna, akā naʻe, ma lalo o ke ʻano koi: hana pū nā haumāna ma nā papahana like. ʻO ka hoʻomohala ʻana i nā ʻano hana no ke aʻo ʻana i nā ʻenehana ʻenehana me ka hoʻohana ʻana i nā mea hana hoʻomohala polokalamu ʻoihana ke hoʻokō ʻia nei e kaʻu hui noiʻi, ʻo ia hoʻi nā haumāna, nā mea noi a me nā haumāna o nā papahana hoʻonaʻauao hou ma MSTU.

Ma ke ala, ʻaʻole wau i haʻalele i kaʻu hana aʻo - ua hoʻomohala wau i kaʻu papa manawa piha hohonu i ka hoʻolālā a me ka hoʻokele ʻana o Linux no ka Institute of Advanced Studies ma MSTU, a ke aʻo nei wau iaʻu iho.

Hana ʻepekema

Nā hana mua
ʻO nā pilikia o ka hoʻolālā hele ʻana i ka wā e hoʻolālā ana i nā ʻōnaehana hele wāwae ʻehā me ka hoʻohana ʻana i ka laʻana o ka hoʻokō ʻana o ka holo lio (2010/XNUMX/XNUMX)

E pili ana i nā kinematics a me ka hoʻouka ʻana i ka mea kākoʻo o ka wāwae mua o ka lio i ke kahua o ka hoʻokokoke ʻana i ke kākoʻo ma ke ʻano he ʻāpana o ka pōʻai hana o ka neʻe wāwae ʻehā. (2012/XNUMX/XNUMX)

Mai ka hope
3D mea hana hana simulation noi no ke aʻo ʻana i ka mīkini a me ka manaʻo mīkini (2019/XNUMX/XNUMX)

ʻO ke ala no ka ʻike ʻana i nā mea pilikia a me kāna hoʻohana ʻana i ka ʻimi ʻana i nā mea kōkua (2018/XNUMX/XNUMX)

Hiki ke ʻike ʻia nā hana ʻē aʻe i kuhikuhi ʻia e ka ʻikepili ʻikepili ʻepekema ma kaʻu ʻaoʻao ma ResearchGate. ʻO ka hapa nui o nā ʻatikala i hoʻolaʻa ʻia i ka neʻe ʻana o nā mīkini, aia nā hana ma ka ʻenehana aʻoaʻo a me nā polokalamu hoʻonaʻauao.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka