Vu Rakéite bis Roboter a wat huet Python domat ze dinn. GeekBrains Alumni Geschicht

Vu Rakéite bis Roboter a wat huet Python domat ze dinn. GeekBrains Alumni Geschicht
Haut publizéieren mir d'Geschicht vum Andrey Vukolov Transitioun op IT. Seng Kandheetspassioun fir de Weltraum huet hien eemol gefouert fir Rakéitewëssenschaften op der MSTU ze studéieren. Déi haart Realitéit huet mech iwwer den Dram vergiessen, awer alles huet sech nach méi interessant erausgestallt. D'Studium C++ a Python huet mir erlaabt gläich spannend Aarbecht ze maachen: d'Logik vu Roboter Kontrollsystemer programméieren.

Den Ufank

Ech hat d'Gléck fir meng ganz Kandheet iwwer de Weltraum ze räissen. Dofir, no der Schoul, hunn ech net eng Minutt gezweiwelt wou ech studéiere sollt, an ech sinn op MSTU agaangen. Bauman, zum Departement fir Rakéitepropulsiounstechnik. Wéi och ëmmer, d'Branche vum Cours selwer - Pudder- oder Flëssmotore vu Raumrakéite - huet guer net misse gewielt ginn: 2001 huet eng speziell Fakultéitskommissioun nach ëmmer d'Zilgruppen vun de Bewerber verdeelt. Ech war an engem Keg vu Gewierzer gefaangen.

Deemools huet de "Rakéit Boom" nëmmen a Pläng existéiert; Ingenieuren kruten schwaach Gehälter an hunn a speziell zouenen Designbüroen a Fuerschungsinstituter geschafft mat praktesch keng Perspektiven fir Karriär a Beruffswuesstem. Trotzdem sinn Pudderrakéiten a Russland reng militäresch Produkter.

Elo ass dëst Gebitt gefuerdert, awer scho während mengem Studium hunn ech gemierkt datt an der Rakéitewëssenschaft all Aktivitéit op eegener Initiativ bal onméiglech ass. Tatsächlech ass dëst Militärdéngscht. Zum Beispill, an der Rakéitindustrie ze schaffen, wier ech komplett vun der Geleeënheet entzu gin fir onofhängeg Software z'entwéckelen, och fir mech selwer, well dës Aktivitéit strikt reglementéiert ass.

All Software Produkter ginn exklusiv op spezieller Uerdnung entwéckelt a mat der Genehmegung vun der Geheimniskommissioun (elo eng Divisioun vu FSTEC). Den Entwéckler do ass verlaangt sech z'registréieren an ze lizenzéieren wuertwiertlech all Zeil vum Code. All Software ass am Ufank geheim um Taskniveau. Dëst erkläert zum Deel firwat d'Software déi elo benotzt gëtt fir Rakéitewëssenschaftsstudenten ze trainéieren spéitstens an den 90er Joren entwéckelt gouf.

Wéi ech aus dem Institut ofgeschloss hunn, hunn ech et fäerdeg bruecht am Departement vun der Mechanismustheorie ze schaffen an hunn ugefaang en Educatiounsprozesssimulator am C ++ z'entwéckelen, also hat ech e Beispill zum Verglach a konnt d'Pros a Cons weien. D'Wiel war evident, an ech hunn lues a lues ugefaang Richtung IT a Robotik ze dreiwen. Applizéiert Mechanik war vill méi Spaass wéi Rakéitewëssenschaft: vill ongeléiste Probleemer, en oppent Ëmfeld, Mangel un enger Entwécklungsindustrie, en dréngende Bedierfnes fir Simulatiounssoftware. An der Robotik gëtt et eng onbestänneg Architektur vu gemeinsame Software an de Besoin fir ëmmer erëm komplex Algorithmen ëmzesetzen, inklusiv fuzzy Logik an den Ufank vun AI. Dofir, no menger éischter Programmer fir experimentell Donnéeën ze veraarbecht, sinn ech bal ni zréck op Rakéiten (mat Ausnam vu mengem Ofschlossprojet).

Als Resultat hat ech d'Méiglechkeet fir nëmme véier Méint a menger Spezialitéit ze schaffen ier ech an enger Planz bei Moskau fir Kompositstrukturen fir d'Loftfaartindustrie ofgeschloss hunn. Nodeems ech meng Studie ofgeschloss hunn, hunn ech net emol missen eng Aarbecht sichen - ech sinn direkt komm fir ugewandt Mechanik am Departement Robotik ze léieren.

Vum Unterrécht bis Programméiere

Vu Rakéite bis Roboter a wat huet Python domat ze dinn. GeekBrains Alumni Geschicht
Um IFTOMM Weltkongress mat Studentemembere vun der Fuerschungsgrupp (ech riets)

Ech hunn 10 Joer bei MSTU am Sampling Departement geschafft, e Cours iwwer d'Theorie vun de Mechanismen geléiert. Hien huet wëssenschaftlech Wierker publizéiert (kuckt d'Enn vum Artikel), huet sech lues a lues vun der Mechanik op CAD a Robotik geplënnert. An um Enn huet hien decidéiert d'Léierpersonal ze verloossen. Fir d'Grënn fir dës Decisioun kloer ze illustréieren, wäert ech soen datt an zéng Joer de Studiegang, deen ech geléiert hunn, net eng Dezimalplaz geännert huet. Och wann ugewandt Mechanik, no de Publikatiounen ze beurteelen, ganz, ganz erfollegräich no vir geplënnert ass.

Zousätzlech huet d'Aarbecht ëmmer méi wéi bürokratesch Aarbecht - Berichter, Programmer, Normen an Tonne Pabeier. An esou Konditiounen, war de Genoss vun Unterrécht ersat duerch Bericht iwwert d'Empfang vun dëser Freed, an dat ass méi wéi désagréabel fir praktizéiert Spezialist.

A schlussendlech sinn ech esou op d'Robotik komm: 2007-2009 hu mir zesumme mat Proffen A. Golovin an N. Umnov ugefaang déi éischt wëssenschaftlech Wierker virzebereeden. Do hunn ech Algorithmen missen benotzen fir d'Weeër vun Objeten aus der Strobefotografie ze bestëmmen. Vun dësem Thema ass et ee Schrëtt fir Maschinn Visioun, OpenCV a Roboter Betribssystem (obwuel ech zu där Zäit net emol un esou eng Skala geduecht hunn). Duerno hunn ech mech endlech op applizéiert Mechanik a Robotik an der Fuerschung konzentréiert, an d'Entwécklung gouf eng Ënnerstëtzungsaktivitéit.

Wéi och ëmmer, fir eng nei Aarbecht an der Robotik ze fannen, war et néideg meng Programméierungskenntnisser ze verbesseren an ze ergänzen. No all, Ech studéiert ni spezifesch IT, ausser engem Joer-laang Uni Cours (ObjectPascal an Borland VCL zu C ++), an op Mathematik fir déi theoretesch Aspekter vun Entwécklung ugewisen.

Fir d'éischt hunn ech Optiounen fir Vollzäitcoursen a mengem Heemechtsinstitut betruecht. Richteg, et gouf séier kloer datt et bal onméiglech wier esou Studien mat der Aarbecht am Departement ze kombinéieren wéinst dem onregelméissegen Zäitplang an dacks Aarbecht ausserhalb vum eegene Zäitplang (Auswiesselung, etc.). Also sinn ech lues a lues op d'Iddi komm fir bezuelte Coursen op afstand ofzeschléissen. Ech sinn op GeekBrains komm op Empfehlung vu Proffen aus dem Mail.ru Technopark Training Center, zu Baumanka, an hunn mech an de Python Programmer Cours ageschriwwen.

D'Coursen hu keng Schwieregkeete verursaacht, deen eenzege Problem war datt ech se permanent mat der Aarbecht am Departement, wëssenschaftleche Wierker an Eventer kombinéiere muss. D'Zäit war sou knapp datt déi meescht sozial Verbindungen ausserhalb vum Heem hu missen geaffert ginn (glécklech temporär).

Dëst ass wéi ech mat der Aarbechtsbelaaschtung gepackt hunn: Ech hunn Problemer op der Strooss geléist. Dës Fäegkeet, entwéckelt duerch vill Geschäftsreesen, huet sech als ganz nëtzlech erausgestallt, well ouni et wier ech net emol fäeg all meng Hausaufgaben ofzeschléissen (an et ersetzt och Meditatioun ...). Ech hu geléiert ze codéieren ënnerwee mat mengem Laptop, Smartphone a Wireless Smartphone Keyboards.

Mäi Laptop ass en Dell Latitude 3470, an all Smartphone mat enger Diagonal vu 5.5 Zoll oder méi gepaart mat enger Logitech K 810 BT Tastatur wäert maachen. Am Allgemengen recommandéieren ech Logitech Produkter fir jiddereen; si si ganz zouverlässeg a kënne ganz haart Benotzungsbedéngungen ausstoen (an dëst ass ni eng Annonce).

Vu Rakéite bis Roboter a wat huet Python domat ze dinn. GeekBrains Alumni Geschicht
Tastatur Logitech K810

Python ass ganz fërdereg fir sou Aarbecht - wann Dir e gudden Editor hutt. En anere Programméierungshack: Benotzt Fernverbindunge mam Desktop oder Runtime Ëmfeld. Ech hunn e puer Aufgaben ofgeschloss mat engem séchere Webserver deen Django op mengem Heemcomputer leeft. Ech hunn aus dem Zuch geschafft, mat der Software PyDroid, DroidEdit, Maxima.

Firwat Python?

Et war net laang ier ech probéiert PHP als System Scripting Sprooch ze benotzen. Ech hunn am Ufank Python eleng studéiert a lues a lues "fir mech selwer." Ech hu beschloss eescht ze studéieren nodeems ech iwwer d'Existenz vun enger effektiver Verbindung tëscht Python an C++ um Modulniveau geléiert hunn - et schéngt interessant optimiséiert Algorithmen an Datepräparatiounsprozeduren an der selwechter Sprooch ze deelen.

Am einfachsten Beispill: et gëtt e Kontrollsystem fir en net-Standard mächtegen Drive, implementéiert op enger embedded Maschinn mat engem RISC Prozessor, an C ++. Gestioun geschitt duerch eng extern Maschinn-ofhängeg API, déi ënnerstëtzt, zum Beispill, Kommunikatioun tëscht subsystems iwwer engem Netz. Op engem héijen Niveau ass den Algorithmus vun der Driveoperatioun net debugged oder ass net konstant (et ass néideg fir verschidden Algorithmen ofhängeg vum Aarbechtsprozess ze lueden).

Ee vun de beschte Weeër fir esou e System z'erreechen ass de Maschinnspezifesche C++ Subsystem API als Basis fir eng Rei vu Python Klassen ze benotzen déi op engem Cross-Plattform Dolmetscher lafen. Also muss den Top-Level Entwéckler d'Features vun der embedded Maschinn a senger OS net berücksichtegen; hie wäert einfach mat Python Klassen schaffen, déi als "Wrapper" vun der Low-Level API handelen.

Ech hu misse léieren C ++ a Python Bindung bal vun Null. Et gouf séier kloer datt objektorientéiert Fäegkeeten op héijem Niveau vill méi wichteg waren wéi op engem nidderegen Niveau. Dofir hu mir d'Approche fir d'API ze designen an ëmzesetzen komplett z'änneren, fir Klassen um Python-Niveau ze entscheeden an global Daten an C / C ++ ze gedeelt. Gitt gewinnt fir Code Generatioun: zum Beispill, de ROS-Framework selwer generéiert Nimm an Objeten am Python, also musst Dir d'Sproochdifferenzen berücksichtegen, besonnesch beim Tippen, wann Dir Är Interfaces designt.

Am Moment schaffen: Python a Roboter Kontroll Logik

Elo schaffen ech als Python an C++ Programméierer am Robotics Research and Education Center op der Moskauer State Technical University. Mir realiséieren Fuerschungsprojeten a Software-Tools, déi vu Regierungsdepartementer bestallt ginn: mir entwéckelen Manipulatoren mat agebaute technesche Visiounssystemer an héijen automatesche Kontrollalgorithmen, déi onofhängeg vu Systemer sinn.

De Moment programméiere ech High-Level Logik fir Roboter Kontrollsystemer am Python; dës Sprooch verbënnt héich optimiséiert Moduler geschriwwen an C ++, Assembler, a Go.

Beim Programméiere vu Roboterkontrollalgorithmen ginn zwou grouss Gruppe vun Algorithmen benotzt. Déi éischt vun hinnen ass direkt op der Ausrüstung ëmgesat, op engem nidderegen Niveau - dat ass déi agebaut Software vun fueren controllers, Kommunikatioun Linn concentrators, an Bedreiwer Interaktioun subsystems.

D'Algorithmen hei si fir kontrolléiert Ausféierungsgeschwindegkeet an Zouverlässegkeet entwéckelt, déi d'Leeschtung vum Roboter als Ganzt iwwerschreift. Déi lescht ass obligatoresch, well d'Sécherheet vum ganze System hänkt vu Low-Level Control Software of.

Déi zweet Grupp vun Algorithmen bestëmmt d'Operatioun vum Roboter als Ganzt. Dëst sinn héich-Niveau Programmer, de Schwéierpunkt an der Entwécklung vun deem op d'Klarheet an d'Vitesse vun Ëmsetzung vun der Algorithmus ass, oft zimlech komplex. Zousätzlech ass héich-Niveau Software um Roboter ganz dacks ënnerleien ze änneren während dem Setup- an Testprozess. Fir esou Entwécklung sinn allgemeng Zweck interpretéiert Sproochen onverzichtbar.

Wat Wëssen ass néideg fir esou Aarbecht?

Et wäert obligatoresch sinn d'C ++ Template Sprooch an d'objektorientéiert Fäegkeete vum Python ze studéieren. Eng bal irreplaceable Fäegkeet ass d'Fäegkeet APIen ze designen an ze dokumentéieren. Et wier eng gutt Iddi d'Fäegkeete vu spezialiséierte Bibliothéike wéi Boost :: Python z'entdecken. Déi, déi mat Low-Level Software schaffen, mussen definitiv mat Multithreading (um Kernelniveau) a Linux / UNIX / QNX System Uruff këmmeren. Fir Äert Verständnis vun de Prinzipien vun der Robotik ze verbesseren, ass et ganz nëtzlech Iech mam Robotic Operating System Kader vertraut ze maachen.

Ech probéieren op d'mannst eng kompiléiert an eng interpretéiert Programméierungssprooch ze hunn déi sech entwéckelt a gefrot. Dëst ass eng Gewënnstrategie fir am Ingenieur ze schaffen, wou et e konstante Bedierfnes ass fir héich spezialiséiert (liest: ongewéinlech) Algorithmen z'entwéckelen an se a Kompiléierungssproochen ëmzesetzen. D'Aufgab fir Daten fir esou Software ze preparéieren ass vill méi agreabel ze léisen mat interpretéierte Sproochen. Am Ufank huet mäi Set C++, Pascal a BASIC abegraff, spéider goufen PHP a BASH bäigefüügt.

Wéi Entwécklungsinstrumenter nëtzlech kënne sinn fir Studenten ze léieren

Den Haaptplang fir berufflech Entwécklung elo ass et ze probéieren eng wëssenschaftlech Basis fir de Gebrauch vu professionnelle Softwareentwécklungsinstrumenter an der Pädagogik ze bidden, Léiermethoden z'entwéckelen an ze testen.

Zënter 2016 hunn ech e grousst Experiment ugefaang fir Entwécklungsinstrumenter - Programméierungssproochen, IDEen, Dokumentatiounsgeneratoren, Versiounskontrollsystemer - an d'Léierpraxis an der Héichschoul anzeféieren. Mir hunn et elo fäerdeg bruecht Resultater ze kréien, déi qualitativ generaliséiert kënne ginn.

Zum Beispill, d'Aféierung vun der Versioun vum Material an de pädagogesche Prozess verbessert däitlech d'Qualitéit vun der Studenteaarbecht, awer nëmmen ënner engem obligatoresche Bedingung: Studenten schaffen zesummen un gemeinsame Projeten. D'Entwécklung vu Methoden fir technesch Disziplinnen ze léieren mat professionnelle Softwareentwécklungsinstrumenter gëtt elo aktiv vu menger Fuerschungsgrupp duerchgefouert, besteet aus Studenten, Bewerberinnen a Studenten vun zousätzlech Ausbildungsprogrammer op der MSTU.

Iwwregens hunn ech meng Léierpraxis net verlooss - ech hunn meng eegen am-Déift Vollzäitcours iwwer den Design an d'Verwaltung vu Linux fir den Institut fir Advanced Studies op MSTU entwéckelt, an ech léieren et selwer.

Wëssenschaftlech Aarbecht

Fréi Wierker
Themen vun der Gaangplanung beim Design vu véierbeeneg Walking Systemer mat dem Beispill vun der Gait Implementatioun vun engem Päerd (2010 g.)

Iwwer d'Thema vun der Kinematik an der Belaaschtung vum Ënnerstëtzungselement vum Päerds viischter Been an der Etapp vun der Ënnerstëtzung als Bestanddeel vum Aarbechtszyklus vum Véierbeenbeweger (2012 g.)

Vun der leschter
3D Gear Fabrikatioun Simulatioun Applikatioun fir Léiermechanismus a Maschinntheorie (2019 g.)

Method fir d'Erkennung vun strukturellen Hindernisser a seng Uwendung bei der Sich no Reliefobjekter (2018 g.)

Aner Wierker indexéiert vun wëssenschaftleche Zitater Datenbanken kann a mengem Profil gesi ginn op D'. Déi meescht vun den Artikele si fir d'Bewegung vu Maschinnen gewidmet, et gi Wierker iwwer d'Ingenieurpädagogik a pädagogesch Software.

Source: will.com

Setzt e Commentaire