Ikke alle er enige om, at Python er det bedste eller nemmeste sprog at bruge til programmering af robotter. Mange holder fast ved, at C++ er det mest effektive sprog, mens JavaScript-fans fastholder, at det skaber de mest enkle, men elegante programmer.

Da Python nu er mere populært end nogensinde, takket være dets omfattende standardbibliotek og dets evne til at understøtte flere programmeringsparadigmer, er det et under, at denne diskussion overhovedet er i gang.

Det faktum, at den er det, giver os et fingerpeg om, at der må være noget om Python og robotteknologi, som vi måske ikke er klar over.

Superprof tager nu et kig på, hvad det er for nogle problemer, samt hvilke fordele der er ved i det mindste delvist at kode sin robot i Python. Her kan du også finde viden om, hvordan du kan få effektive kurser i programmering, og hvorfor det er fordelagtigt for din karriere.

De bedste undervisere i programmering
Asger
4,8
4,8 (5 anmeldelser)
Asger
250kr
/t
Gift icon
1. undervisning gratis!
Alex
5
5 (1 anmeldelser)
Alex
350kr
/t
Gift icon
1. undervisning gratis!
Daniel
5
5 (1 anmeldelser)
Daniel
210kr
/t
Gift icon
1. undervisning gratis!
Christian
5
5 (1 anmeldelser)
Christian
200kr
/t
Gift icon
1. undervisning gratis!
Kristian
Kristian
180kr
/t
Gift icon
1. undervisning gratis!
Joachim
4
4 (1 anmeldelser)
Joachim
150kr
/t
Gift icon
1. undervisning gratis!
Charlie
Charlie
200kr
/t
Gift icon
1. undervisning gratis!
Laust
Laust
200kr
/t
Gift icon
1. undervisning gratis!
Asger
4,8
4,8 (5 anmeldelser)
Asger
250kr
/t
Gift icon
1. undervisning gratis!
Alex
5
5 (1 anmeldelser)
Alex
350kr
/t
Gift icon
1. undervisning gratis!
Daniel
5
5 (1 anmeldelser)
Daniel
210kr
/t
Gift icon
1. undervisning gratis!
Christian
5
5 (1 anmeldelser)
Christian
200kr
/t
Gift icon
1. undervisning gratis!
Kristian
Kristian
180kr
/t
Gift icon
1. undervisning gratis!
Joachim
4
4 (1 anmeldelser)
Joachim
150kr
/t
Gift icon
1. undervisning gratis!
Charlie
Charlie
200kr
/t
Gift icon
1. undervisning gratis!
Laust
Laust
200kr
/t
Gift icon
1. undervisning gratis!
Kom i gang

Forståelse af Python

Python har eksisteret i 30 år, men det var en idé, der var flere år undervejs. Det er baseret på ABC, et programmeringssprog til generelle formål, der stammer fra CWI, et teoretisk datalogisk og matematisk forskningscenter i Nederlandene.

programmeringskursus
Python er et forholdsvist nyt computersprog, da det kun har eksisteret i 30 år. (Kilde: unsplash)

Guido van Rossum er den originale Pythonista; han er kendt som den velvillige diktator for livet, selv om han trak sig tilbage fra at være eneansvarlig for Pythons udvikling i 2018. I en finurlig drejning opkaldte han sit sprog efter Monty Python - og ikke efter slangearten.

I overensstemmelse med ideen om, at Python skal være sjovt at bruge, omfatter mange af deres referencer legende navne i stedet for gådefuldt klingende koder. Som eksempel kan nævnes, at Python i stedet for de almindelige programmeringsplatholders foo og bar genkender spam og eggs - en Monty Python-joke.

Python er ikke bare sjovt, det er også renere og enklere at læse og skrive. I modsætning til mange computersprog bruger Python ikke krøllede parenteser, og det kræver heller ikke en masse undtagelser. For at gøre det lettere at læse trækker Python på indrykning af et hvidt mellemrum: en forøgelse indikerer en ny blok, og et fald i indrykning signalerer en bloks afslutning. At sproget er renere og enklere at læse, gør det også mere brugervenligt at lære. Derfor er det et fantastisk sprog at lære, for dig der ønsker et programmering for begyndere kursus, da dets visuelle overskuelighed er en god introduktion til programmeringssprog.

Denne off-side-regel, et andet navn for denne praksis med indrykning, gør programmets semantiske struktur visuelt genkendelig. Bemærk, at andre sprog også indrykker deres kode, men at denne formatering er semantisk ubetydelig i de fleste tilfælde.

Der er en grund til, at programmeringssprog kaldes sprog.

Ligesom når man lærer et andet sprog - med dets unikke ordforråd, grammatiske regler og hvordan ord skal ordnes for at give mening - har programmeringssprog regler, som skal følges. Ellers vil programmet slet ikke fungere eller i bedste fald måske fungere, men ikke efter hensigten.

Hvad nu, hvis man kunne kopiere og indsætte allerede skrevne sprogblokke, hvor man har brug for dem, på samme måde som en sprogstuderende kan kopiere/indsætte en sætning, der er kørt gennem et oversættelsessoftwareprogram? Det er Pythons grundlæggende filosofi.

I stedet for at formulere et komplekst sæt af udsagn og udtryk - van Rossum var frustreret over, hvor mange af dem der allerede var - ønskede han med vilje, at Python skulle have et så lille kernesprog som muligt, samtidig med at han opbyggede et omfattende standardbibliotek til at supplere det.

Denne brugervenlighed kombineret med den sjove tilgang til programmering gør Python til en favorit blandt nybegyndere blandt udviklere. Dets alsidighed og enkle struktur gør webudvikling til en af de vigtigste anvendelser af dette sprog.

programmeringskursus
Det er svært at se på en robot, hvilket sprog den kører på, når man bare ser på den. (Kilde: Unsplash)

Python til ydeevne?

At Python bruges så meget til webudvikling burde være et fingerpeg om, at det ikke er velegnet til hastighed og ydeevne.

Tag et kig på en robot - en hvilken som helst robot, selv den på billedet ovenfor. Kan du se, hvilket sprog den er kodet i? Nej, selvfølgelig ikke! Du har for travlt med at blive forbløffet over, hvad den kan gøre! Men hvordan kan den gøre alt det, den kan gøre?

Med kommandoer, naturligvis. Og det sprog, som disse kommandoer er skrevet på, dikterer alt lige fra rækkefølgen af processerne til hvor ofte og hvor hurtigt de sker.

Hvis du har nogen form for baggrund inden for robotteknologi og programmering, er du sikkert klar over, at C++ er standardsproget for robotprogrammering. Alligevel er der intet, der siger, at du ikke kan skrive aspekter af robotternes programmer i Python med hovedparten skrevet i C++, eller, hvis du har tid og din robot ikke skal være super hurtig, kan du skrive et helt Python-program.

Hvis du gør det, bytter du ydelsen for den ligefremme enkelhed og brugervenlighed, som Python kan give dig.

Sagen er den, at uanset hvilket ansigt og hud robotten bærer, og hvor langsomt den ser ud til at fungere, skal tingene på programmeringsniveau ske i millisekunder.

Lad os sige, at du skriver i en kontrolsløjfe; en række instruktioner, der destillerer til en handling eller passiv handling, som robotten vil foretage. Hver sløjfe skal køre med 100 millisekunder, ofte hurtigere. Pythons natur dikterer, at det ikke egner sig til hurtig drift. Afhængigt af den involverede hardware og software kan Python faktisk køre op til 100 gange langsommere end C++!

Husk, at Pythons kode primært er beregnet til automatisk at håndtere hukommelse - noget, der kaldes garbage collection. Dens formål er at forsøge at genvinde hukommelse, der er nlevet allokeret af programmet, men som ikke er reference på et bestemt tidspunkt i operationen.

Den kører godt oven på eller ved siden af et robotprogram - og kan endda forbedre enhedens ydeevne ved løbende at frigøre hukommelse, men for funktioner, der kræver lynhurtige beslutninger, vil det være langt mere effektivt at programmere din robot i C++. Især hvis der er tale om robotter på virksomhedsniveau, f.eks. robotter, der anvendes i fremstillingsindustrien, hvor ydeevnen er vigtig.

Det er din tur til at tale: Er Python bedre egnet til programmering af computerspil end til robotteknologi?

Vil du lære at kode computerspil med Python?

Hvorfor ikke bare C++?

Som enhver robotprogrammør kan fortælle dig, er det fuldt ud muligt at køre hele robotsystemer på bare C++, men der er fordele ved at tilføje en Python-binding.

Python er et fortolkningssprog, hvilket betyder, at det oversætter instruktioner i programmet til maskinkode og derefter følger disse instruktioner for at udføre den pågældende del af programmet. Fordelen er, at du bruger mindre tid på at kompilere kode, hvilket giver mulighed for hurtigere testning og lancering af programmer.

Python er en fantastisk måde at teste specifikke dele af dit program på. Lad os sige, at du er bekymret for, hvordan dit program vil styre robottens bevægelse. Et grundlæggende script i Python ville være nok til at teste netop dette aspekt af din robots funktioner uden at skulle skrubbe din kode linje for linje for at lede efter fejl eller mangler. Hvis du mangler hjælp til dette, kan du finde fantastiske online kurser programmering, som kan hjælpe dig med at spotte fejl og programmere.

Ikke hver kodelinje repræsenterer en vigtig eller kritisk robotfunktion. Der er baggrundsprocesser, som ikke påvirker en robots ydeevne eller sikre drift; disse kan skrives i Python. Men for ting som bevægelsesplanlægningsalgoritmer og styresløjfer - som begge er kritiske for din applikation - er det simpelthen ikke den bedste løsning at bruge Python.

Eksperter på området er enige om, at der ikke er nogen vej uden om C++ som hovedsprog inden for robotteknologi i en overskuelig fremtid, men de indrømmer også, at Python har sine anvendelsesmuligheder inden for robotteknologi. Bare ikke så mange som inden for maskinlæring.

programmeringskursus
Hvis du stadig er i den eksperimentelle fase af opbygningen af din robot, er du velkommen til at skrive hele din kode i Python. (Kilde: Unsplash)

De bedste anvendelser af Python inden for robotteknologi

Når du nu sidder med robotstykker rundt omkring dig, spekulerer du måske på: Hvor kan jeg bruge Python?

Hvis du bygger en robot bare for sjov og for oplevelsens skyld - eller hvis du skal bygge en prototype som proof of concept (POC) for din startup, kan du skrive hele din kode i Python.

Hvis din chef eller virksomhed derimod holder dig på en tidsplan og et budget, og hvis de har givet dig klare præstationsstandarder, som de forventer, at deres nye robot skal have, kan du måske begrænse din brug af Python til fejlfinding og test af dit program.

Det vil være en god idé at binde nogle få Python-moduler til at køre de ikke-kritiske dele af dit robotprogram eller programmere din grafiske brugergrænseflade (GUI) og applikationsprogrammeringsgrænseflade (API) i Python. Indtil videre er det det omtrent det hele.

Har Python en fremtid inden for robotteknologi ud over testning og overvågning af ikke-kritiske funktioner?

Området for kunstig intelligens (AI) er vidt åbent og udvikler sig hurtigt; dets muligheder er uendelige. Og nu til den bedste nyhed: Python er unikt egnet til AI. Lad fantasien løbe af sted med dig...

  • smarte huse fyldt med robotter, der alle kører på Python
  • robotter som ledsagere i sundhedssektoren - tænk, hvis vi havde dem på nutidens pandemiafdelinger!
  • virtuelle assistenter: robotter som chatbots, helt op til robotter, der kan arrangere rejser og hoteller
  • robotter som rumforskere, der kan indsamle data uden at sætte menneskeliv på spil
  • offentlig sikkerhed - har du set New York Citys robothund?
  • robotter i undervisningen: opskriftsbedømmere (robotlæsere) ville befri lærerne for den tidskrævende opgave at læse og bedømme hver enkelt elevopgave

Nogle af disse anvendelser findes allerede - du har sikkert haft adgang til websteder, hvor chatbots har guidet dig, ikke sandt? Andre lyder lidt langt ude. Husk dog, at det kun er 70 år siden, at Isaac Asimov udarbejdede sin I, Robot-serie, og mindre end 20 år siden, at disse historier blev filmatiseret.

Men hvor er vi nu? Selvkørende biler er i testfasen, og flere robotvirksomheder tilbyder robotter som ledsagere til salg. Innovationen sker hurtigere, end vi måske kan følge med ... og Python er velegnet til at styre alle disse brugergrænseflader. Er du klar til at melde dig til et programmeringskursus?

Opdag nu, hvor stor en rolle Python spiller inden for datalogi.

>

Platformen der forbinder undervisere og elever

Første undervisning gratis

Kunne du lide denne artikel? Skriv en anmeldelse!

5,00 (1 anmeldelse(r))
Loading...

Adil

Adil bor i København, hvor hun arbejder som freelanceoversætter og underviser i dansk. Udover dansk taler Adil også engelsk, russisk og tysk. Når Adil ikke arbejder elsker hun at rejse, løbe og dyrke yoga.