Avy amin'ny balafomanga ka hatramin'ny robot ary inona no idiran'i Python amin'izany. Tantaran'ny Alumni GeekBrains

Avy amin'ny balafomanga ka hatramin'ny robot ary inona no idiran'i Python amin'izany. Tantaran'ny Alumni GeekBrains
Ankehitriny dia mamoaka ny tantaran'ny fiovan'i Andrey Vukolov ho amin'ny IT izahay. Ny fitiavany ny habakabaka tamin'ny fahazazany dia nitarika azy hianatra siansa rocket tao amin'ny MSTU. Ny zava-misy henjana dia nahatonga ahy hanadino ilay nofy, fa ny zava-drehetra dia nanjary mahaliana kokoa. Ny fianarana C++ sy Python dia nahafahako nanao asa mampientam-po mitovy amin'izany: fandaharana ny lojikan'ny rafitra fanaraha-maso robot.

Ny fiandohana

Tsara vintana aho fa nivezivezy momba ny habakabaka nandritra ny fahazazako. Noho izany, rehefa avy nianatra, dia tsy nisalasala nandritra ny iray minitra izay tokony handeha hianatra, ary niditra tao amin'ny MSTU. Bauman, any amin'ny Departemantan'ny Rocket Propulsion Engineering. Na izany aza, ny sampana ny Mazava ho azy fa - vovoka na ranoka motera ny habakabaka balafomanga - dia tsy voatery ho voafidy mihitsy: tamin'ny 2001, ny sampam-pianarana manokana vaomiera mbola nizara ny kendrena vondrona mpangataka. Tratra tao anaty gony misy poizina aho.

Tamin'izany fotoana izany, ny "rocket boom" dia tsy nisy afa-tsy tamin'ny drafitra; nahazo karama kely ny injeniera ary niasa tao amin'ny birao manokana momba ny famolavolana mihidy sy ivon-toeram-pikarohana izay saika tsy misy vinavina ho an'ny asa sy fitomboana matihanina. Na izany aza, ny balafomanga vovoka any Rosia dia vokatra miaramila fotsiny.

Amin'izao fotoana izao, ity faritra ity dia mitaky, fa efa nandritra ny fianarako dia tsapako fa amin'ny siansa rocket dia saika tsy ho vita mihitsy ny hetsika ataon'ny tena manokana. Raha ny marina, izany dia fanompoana miaramila. Ohatra, miasa amin'ny indostrian'ny balafomanga aho, dia ho very tanteraka ny fahafahana hamolavola lozisialy mahaleo tena, na dia ho an'ny tenako aza, satria io hetsika io dia voafehy tanteraka.

Ny vokatra rindrambaiko rehetra dia novolavolaina manokana amin'ny baiko manokana ary miaraka amin'ny fankatoavan'ny vaomiera tsiambaratelo (fizarana FSTEC ankehitriny). Tsy maintsy misoratra anarana sy manome alalana ara-bakiteny ny andalana code rehetra ny mpamorona ao. Ny logiciel rehetra dia miafina amin'ny voalohany eo amin'ny sehatry ny asa. Izany dia manazava amin'ny ampahany ny antony namoronana ny rindrambaiko ampiasaina amin'izao fotoana izao hanofanana ireo mpianatra siantifika rocket tamin'ny taona 90 farafahatarany.

Tamin'ny fotoana nahazoako diplaoma tao amin'ny institiota dia nahavita niasa tao amin'ny departemantan'ny teoria mekanika aho ary nanomboka namolavola simulator fizotran'ny fanabeazana amin'ny C ++, noho izany dia nanana ohatra aho mba hampitahana ary afaka mandanjalanja ny tombony sy ny tsy fahampiana. Niharihary ny safidy, ary nanomboka nifindra tsikelikely nankany amin'ny IT sy ny robotika aho. Ny mekanika ampiharina dia nahafinaritra kokoa noho ny siansa rocket: olana maro tsy voavaha, tontolo misokatra, tsy fahampian'ny indostrian'ny fampandrosoana, filana maika ny rindrambaiko simulation. Ao amin'ny robotika, misy rafitra tsy milamina amin'ny rindrambaiko mahazatra ary ilaina ny mampihatra imbetsaka ny algorithm sarotra, ao anatin'izany ny lojika manjavozavo sy ny fiandohan'ny AI. Noho izany, taorian'ny fandaharan'asako voalohany amin'ny fanodinana ny angona andrana, dia saika tsy niverina tamin'ny balafomanga mihitsy aho (ankoatra ny tetik'asa diplaomako).

Vokatr'izany dia nanana fahafahana niasa tamin'ny fahaizako manokana aho nandritra ny efa-bolana talohan'ny nahazoako diplaoma tao amin'ny orinasa iray akaikin'i Moskoa ho an'ny rafitra mitambatra ho an'ny indostrian'ny aerospace. Rehefa vita ny fianarako, dia tsy voatery nitady asa akory aho β€” tonga avy hatrany aho nampianatra mekanika ampiharina tao amin’ny sampana robotika.

Avy amin'ny fampianarana ka hatramin'ny fandaharana

Avy amin'ny balafomanga ka hatramin'ny robot ary inona no idiran'i Python amin'izany. Tantaran'ny Alumni GeekBrains
Ao amin'ny IFTOMM World Congress miaraka amin'ireo mpianatra ao amin'ny vondrona mpikaroka (izaho eo ankavanana)

Niasa tao amin'ny MSTU tao amin'ny sampana santionany aho nandritra ny 10 taona, nampianatra taranja momba ny teoria momba ny mekanika. Namoaka asa siantifika izy (jereo ny faran'ny lahatsoratra), nifindra tsikelikely avy amin'ny mekanika mankany amin'ny CAD sy robotika. Ary tamin'ny farany dia nanapa-kevitra ny hiala amin'ny fampianarana izy. Mba hampisehoana mazava tsara ny anton'io fanapahan-kevitra io, dia holazaiko fa tao anatin'ny folo taona ny fianarana nampianariko dia tsy niova na dia iray aza. Na dia nandroso aza ny mekanika ampiharina, raha tsaraina amin'ny boky, dia tena nahomby tokoa.

Ankoatr'izay, ny asa dia mitovitovy amin'ny asa birao - tatitra, fandaharana, fenitra ary taratasy an-taoniny. Amin'ny toe-javatra toy izany, ny fahafinaretan'ny fampianarana dia nosoloina ny tatitra momba ny fahazoana izany fahafinaretana izany, ary izany dia tsy mahafinaritra kokoa ho an'ny manam-pahaizana manokana.

Ary farany dia tonga tamin'ny robotika toy izao aho: tamin'ny 2007-2009, niaraka tamin'ny profesora A. Golovin sy N. Umnov, dia nanomboka nanomana ny asa siantifika voalohany izahay. Tsy maintsy nampiasa algorithm aho mba hamaritana ny lalan'ny zavatra avy amin'ny sary strobe. Avy amin'ity lohahevitra ity dia dingana iray mankany amin'ny fahitana milina, OpenCV ary Robotic Operating System (na dia tsy nieritreritra momba ny ambaratonga toy izany aza aho tamin'izany fotoana izany). Taorian'izay, nifantoka tamin'ny mekanika ampiharina sy robotika aho tamin'ny fikarohana, ary lasa hetsika fanohanana ny fampandrosoana.

Na izany aza, mba hahitana asa vaovao amin'ny robotika, dia nilaina ny nanatsara sy nanampy ny fahalalako fandaharana. Raha ny marina, tsy nianatra momba ny IT manokana aho, afa-tsy ny fianarana eny amin'ny oniversite naharitra herintaona (ObjectPascal sy Borland VCL amin'ny C ++), ary niantehitra tamin'ny matematika ho an'ny lafiny teorika amin'ny fampandrosoana.

Tamin'ny voalohany aho dia nieritreritra safidy ho an'ny fianarana amin'ny fotoana feno ao amin'ny institiota niaviako. Marina fa vetivety dia nazava fa saika tsy ho vita mihitsy ny hanambatra ny fianarana toy izany amin’ny asa ao amin’ny sampana noho ny fandaharam-potoana tsy ara-dalΓ na sy ny asa matetika ivelan’ny fandaharam-potoanan’ny tena manokana (fanoloana, sns.). Noho izany dia tonga teo amin'ny hevitra ny hamita fianarana karama avy lavitra aho. Tonga tao amin'ny GeekBrains aho noho ny tolo-kevitry ny mpampianatra avy amin'ny foibe fanofanana Mail.ru Technopark, any Baumanka, ary nisoratra anarana tamin'ny taranja Python Programmer.

Tsy niteraka fahasahiranana ny fampianarana, ny hany olana dia tsy maintsy nampifangaro azy ireo tamin'ny asa tao amin'ny sampana, asa siantifika ary hetsika aho. Tena tery ny fotoana ka tsy maintsy natao sorona ny ankamaroan'ny fifandraisana ara-tsosialy ivelan'ny tokantrano (soa ihany, vonjimaika).

Toy izao no niaretako ny enta-mavesatry ny asa: Namaha olana teny an-dalana aho. Io fahaiza-manao io, izay novolavolaina tamin'ny fitsangatsanganana ara-barotra maro, dia hita fa tena ilaina, satria raha tsy misy azy dia tsy ho vitako ny mamita ny entimodiko rehetra (ary manolo ny fisaintsainana koa ...). Nianatra nanao kaody eny an-dalana aho tamin'ny fampiasana solosaina finday, finday avo lenta ary fitendry finday tsy misy finday.

Dell Latitude 3470 ny solosainako, ary izay finday manana diagonal 5.5 santimetatra na mihoatra miaraka amin'ny fitendry Logitech K 810 BT dia hanao izany. Amin'ny ankapobeny, manoro hevitra ny vokatra Logitech amin'ny rehetra aho; tena azo ianteherana izy ireo ary mahatanty fepetra henjana amin'ny fampiasana (ary tsy dokam-barotra velively izany).

Avy amin'ny balafomanga ka hatramin'ny robot ary inona no idiran'i Python amin'izany. Tantaran'ny Alumni GeekBrains
Keyboard Logitech K810

Python dia tena mahasoa amin'ny asa toy izany - raha manana tonian-dahatsoratra mahay ianao. Hack fandaharana hafa: mampiasa fifandraisana lavitra amin'ny desktop na tontolo iainana. Nahavita asa maromaro aho tamin'ny fampiasana mpizara tranonkala azo antoka mitantana an'i Django amin'ny solosiko ao an-tranoko. Niasa tamin'ny lamasinina aho, nampiasa ny rindrambaiko PyDroid, DroidEdit, Maxima.

Nahoana no Python?

Tsy ela aho dia nanandrana nampiasa PHP ho fiteny fanoratana rafitra. Nianatra Python irery aho tamin'ny voalohany ary β€œho an'ny tenako” tsikelikely. Nanapa-kevitra ny hianatra matotra aho rehefa avy nianatra momba ny fisian'ny fifandraisana mahomby eo amin'ny Python sy C ++ eo amin'ny sehatry ny maody - toa mahaliana ny mizara algorithm sy fomba fanomanana data amin'ny fiteny mitovy.

Ny ohatra tsotra indrindra: misy rafitra fanaraha-maso ho an'ny fiara matanjaka tsy manara-penitra, napetraka amin'ny milina mipetaka amin'ny processeur RISC, ao amin'ny C ++. Ny fitantanana dia mitranga amin'ny alΓ lan'ny API iray miankina amin'ny milina ivelany, izay manohana, ohatra, ny fifandraisana eo amin'ny subsystem amin'ny tambajotra. Amin'ny ambaratonga avo, ny algorithm amin'ny fampandehanana fiara dia tsy debugged na tsy miovaova (ilaina ny mampiditra algorithms samihafa arakaraka ny fizotran'ny asa).

Ny iray amin'ireo fomba tsara indrindra hanatrarana rafitra toy izany dia ny fampiasana ny subsystem API C ++ manokana ho an'ny milina ho fototry ny kilasy Python izay mandeha amin'ny mpandika teny cross-platform. Noho izany, ny mpamorona ambony dia tsy mila mandinika ny endrik'ilay milina mipetaka sy ny OS azy; hiara-hiasa amin'ny kilasy Python izay miasa ho "famonoana" amin'ny API ambany izy.

Tsy maintsy nianatra C++ sy Python mamatotra saika hatrany am-boalohany aho. Vetivety dia nanjary nazava fa ny fahaiza-manao mifantoka amin'ny zavatra amin'ny ambaratonga avo dia manan-danja kokoa noho ny amin'ny ambaratonga ambany. Noho izany dia tsy maintsy nanova tanteraka ny fomba fandrafetana sy fampiharana ny API izahay, nisafidy kilasy amin'ny ambaratonga Python ary nizara data manerantany amin'ny C/C++. Mahazatra ny famoronana kaody: ohatra, ny rafitra ROS mihitsy no mamokatra anarana sy zavatra amin'ny Python, noho izany dia mila mandinika ny fahasamihafan'ny fiteny ianao, indrindra amin'ny fanoratana, rehefa mamolavola ny interface-nao.

Miasa amin'izao fotoana izao: Python sy Robot Control Logic

Ankehitriny aho dia miasa amin'ny maha-programme Python sy C ++ ao amin'ny Ivon-toeram-pikarohana sy fanabeazana robotika ao amin'ny Oniversite Teknikan'ny Fanjakana Moskoa. Manatanteraka tetik'asa fikarohana sy fitaovana rindrankajy notendren'ny sampan-draharaham-panjakana izahay: manamboatra manipulators miaraka amin'ny rafitra fahitana ara-teknika voaorina sy algorithm fanaraha-maso mandeha ho azy avo lenta izay tsy miankina amin'ny rafitra.

Amin'izao fotoana izao, manomana lojika avo lenta aho ho an'ny rafitra fanaraha-maso robot amin'ny Python; ity fiteny ity dia mampifandray ireo maody tena tsara indrindra voasoratra ao amin'ny C ++, assembler ary Go.

Ao amin'ny algorithm fanaraha-maso robot fandaharana, vondrona algorithms roa lehibe no ampiasaina. Ny voalohany amin'izy ireo dia ampiharina mivantana eo amin'ny fitaovana, amin'ny ambaratonga ambany - izany no naorina-in rindrankajy ny drive controllers, concentrators tsipika fifandraisana, ary ny subsystems fifandraisana mpandraharaha.

Ny algorithm eto dia natao ho an'ny hafainganam-pandehan'ny famonoana sy ny fahamendrehana izay mihoatra ny fahombiazan'ny robot amin'ny ankapobeny. Ity farany dia tsy maintsy atao, satria ny fiarovana ny rafitra manontolo dia miankina amin'ny rindrambaiko fanaraha-maso ambany.

Ny vondrona faharoa amin'ny algorithm dia mamaritra ny fiasan'ny robot amin'ny ankapobeny. Ireo dia programa avo lenta, ny fanantitranterana amin'ny fampandrosoana dia ny mazava sy ny hafainganam-pandehan'ny fampiharana ny algorithm, matetika sarotra be. Ankoatr'izay, ny rindrambaiko avo lenta amin'ny robot dia matetika miova mandritra ny dingana fametrahana sy fitsapana. Ho an'ny fampandrosoana toy izany dia ilaina ny fiteny adika amin'ny tanjona ankapobeny.

Inona no fahalalana ilaina amin’ny asa toy izany?

Tsy maintsy mianatra ny fiteny mΓ΄dely C++ sy ny fahaiza-manaon'ny Python mifototra amin'ny zavatra. Ny fahaiza-manao saika tsy azo soloina dia ny fahaizana mamolavola sy manoratra API. Mety tsara ny mandinika ny fahaizan'ny tranomboky manokana toa ny Boost::Python. Ireo izay miasa amin'ny rindrambaiko ambany dia tsy maintsy miatrika multithreading (eo amin'ny sehatra kernel) sy ny antson'ny rafitra Linux/UNIX/QNX. Mba hanatsarana ny fahatakaranao ny fitsipiky ny robotika dia tena ilaina ny mahafantatra ny tenanao amin'ny rafitry ny Rafitra fiasana Robotika.

Miezaka ny manana fiteny fandaharana iray voaangona sy adika iray farafahakeliny aho izay mivoatra sy mitaky. Paikady mpandresy amin'ny fiasana amin'ny injeniera ity, izay ilana tsy tapaka ny mamolavola algorithm manokana (vakiana: tsy mahazatra) ary mampihatra azy ireo amin'ny fiteny fanangonana. Ny asa fanomanana angon-drakitra ho an'ny rindrambaiko toy izany dia mahafinaritra kokoa ny mamaha amin'ny fampiasana fiteny voadika. Tany am-boalohany dia nisy ny C ++, Pascal ary BASIC ny kitapoko, taty aoriana dia nampiana PHP sy BASH.

Ahoana no ahafahan'ny fitaovana fampandrosoana mahasoa amin'ny fampianarana ny mpianatra

Ny drafitra fototra ho an'ny fampandrosoana matihanina amin'izao fotoana izao dia ny fiezahana hanome fototra ara-tsiansa amin'ny fampiasana fitaovana fampivoarana rindrambaiko matihanina amin'ny pedagojika, hamolavola sy hizaha toetra ny fomba fampianarana.

Nanomboka tamin'ny taona 2016, nanomboka andrana lehibe aho tamin'ny fampidirana fitaovana fampivoarana - fiteny fandaharana, IDE, mpamokatra antontan-taratasy, rafitra fanaraha-maso ny dikan-teny - ho fampiharana fampianarana amin'ny fampianarana ambony. Tafita amin'izao fotoana izao ny vokatra azo atao amin'ny ankapobeny.

Ohatra, ny fampidirana ny famoahana ny fitaovana ao amin'ny dingan'ny fanabeazana dia manatsara ny kalitaon'ny asan'ny mpianatra, na izany aza, ao anatin'ny fepetra tsy maintsy atao: ny mpianatra miara-miasa amin'ny tetikasa iombonana. Ny fampivoarana ny fomba fampianarana teknika amin'ny fampiasana fitaovana fampivoarana rindrambaiko matihanina dia mazoto ataon'ny vondrona mpikaroka ahy ankehitriny, ahitana mpianatra, mpangataka ary mpianatra amin'ny fandaharam-pampianarana fanampiny ao amin'ny MSTU.

Raha ny marina, tsy nandao ny fanazaran-tenako aho - namolavola ny taranja manontolo andro manontolo momba ny famolavolana sy ny fitantanana ny Linux ho an'ny Institute of Advanced Studies ao amin'ny MSTU aho, ary ny tenako no mampianatra izany.

Asa siantifika

Asa aloha
Olana amin'ny fandrindrana ny fandehanana rehefa mamolavola rafitra mandeha tongotra efatra amin'ny fampiasana ny ohatra amin'ny fampiharana ny fandehan'ny soavaly (2010/XNUMX/XNUMX)

Momba ny olana momba ny kinematics sy ny fametahana ny singa manohana ny tongotry ny soavaly eo amin'ny sehatry ny fanatonana ny fanohanana ho singa amin'ny tsingerin'ny fiasan'ny mover misy tongotra efatra. (2012/XNUMX/XNUMX)

Avy amin'ny farany
Fampiharana simulation fanamboarana fitaovana 3D ho an'ny mekanika fampianarana sy teoria milina (2019/XNUMX/XNUMX)

Fomba hamantarana ireo sakana ara-drafitra sy ny fampiharana azy amin'ny fitadiavana zavatra vonjy taitra (2018/XNUMX/XNUMX)

Ny asa hafa voatanisa amin'ny angon-drakitra siantifika dia azo jerena ao amin'ny mombamomba ahy ResearchGate. Ny ankamaroan'ny lahatsoratra dia natokana ho an'ny fihetsehan'ny milina, misy ny asa momba ny pedagojia injeniera sy ny rindrambaiko fanabeazana.

Source: www.habr.com

Add a comment