Welche Programmiersprache für Robotik und autonomes fahren

Druck&Print

Banned
Registriert
Juli 2014
Beiträge
842
Guten Tag,



welche Programmiersprache sollte man lernen, wenn man Roboter, autonome Fahrzeuge oder Drohnen programmieren möchte? Es gibt so viele Sprachen und ich weiß nicht, welche Sprache am besten zu den oben genannten Beispielen passt. Es wäre nett wenn, ihr mir bei der Auswahl einer geeigneten Sprache helfen könnte.
 
C++

C wird immer weniger verwendet, ist aber auch noch wichtig - je nach spezieller Anwendung.

Mit C++ ist man optional genauso nahe an der Hardware.
Und im Bereich Robotik ist ROS angesagt und ROS bedeutet C++/Python.
 
Zuletzt bearbeitet:
Beim Lesen der Frage hatte ich genau den gleichen Gedanken wie mein Vorredner: "C"
Ich möchte dir aber auch noch eine kurze Begründung liefern, ohne dabei zu sehr ins Detail zu gehen. Mit C bist du noch recht nah an der Hardware und hast bspw Kontrolle über die Speicherverwaltung deines Programms (inkl. der Vor- und Nachteile). C ist daher im Bereich der µ-Controller immer noch die erste Wahl.

Das C++ in dieser Hinsicht den Rang abläuft, würde ich nicht bestätigen.
 
Ich wäre auch für C/C++ und Python.
 
Einfach mal die Anforderungen bei den gängigen Job-Portalen durchklicken:

https://de.indeed.com/Automated-Driving-Jobs

Überwiegend wird C++ / Python verlangt. Es gibt jedoch auch Exoten, wie bspw. die Autonomous Driving Firma von Audi sucht bspw. auch D (https://dlang.org) Entwickler: https://jobs.lever.co/aid-driving/c4b243bd-c106-47ae-9aec-e34d5bbe0ce1?lever-via=vcPRnEaCR3

Es ist sicher auch nicht verkehrt wenn man sich ein wenig mit TensorFlow, Keras oder Spark ML auskennt und vlt. auch mal ein paar Game-Engines wie Unity angeguckt hat.
 
Wobei man natürlich dabei auch die verschiedenen Ebenen betrachten muss, die so ein System hat. Da agiert Python in einem ganz anderen Gebiet als C oder auch C++. Letztere sind eher interessant, wenn es darum geht hardwarenah zu arbeiten. Bei der Auswertung vieler Daten, dem so gesehen intelligenten Teil des Systems, ist Python interessant.
 
BeBur schrieb:
Wie sieht es in dem Bereich mit Rust aus?

Wenn du alles neu entwickeln willst, dann ist Rust eine saubere Option ;)

ach - C binaries kannst du ja noch anbinden...

Poati schrieb:
Bei der Auswertung vieler Daten, dem so gesehen intelligenten Teil des Systems, ist Python interessant.
Sicher?
Rumprobieren kann man damit sicher, aber deployed wird das eher nicht?
Und die Tools die man in mit Python dann verwendet sind dann auch eher C++ libraries mit Python Wrapper ;)
 
Vielen Dank für eure Hilfe.
Also wäre es vom Vorteil 2 Sprachen zu lernen Entweder C oder C++ in Verbindung mit Python. Ist es hilfreich sich dafür ein Arduino Starterkit zukaufen?

Sollte man lieber mit C oder C++ anfangen. Wenn ich das richtig verstanden habe, unterscheiden sich die beiden Sprachen voneinander.
 
Zuletzt bearbeitet:
Bisher ist ja unklar was du jetzt ueberhaupt genau machen willst? Willst du jetzt die Sprachen lernen um dann einen Job in dem Bereich zu finden? Oder willst du als Hobby was mit Robotik machen?

Druck&Print schrieb:
Sollte man lieber mit C oder C++ anfangen. Wenn ich das richtig verstanden habe, unterscheiden sich die beiden Sprachen voneinander.
Hast du auch verstanden was der grosse Unterschied ist? Also, methodisch wuerde man eher C und dann C++ lernen, aber es ist die Frage ob du jetzt ueberhaupt C brauchst. Was uns wieder auf meine Ausgangsfrage zurueckbringt, wozu das ganze? Je mehr Infos, um so eher koennen evtl. Leute, die damit zu tun haben sagen, was in der Praxis in welchem Bereich eingesetzt wird.
 
Ich möchte verstehen wie die Elektrotechnik in Verbindung mit Informatik und Mechanik funktioniert. Also wie kommunizieren sie miteinander. Wie kann man Daten von einem Sensor erfassen der dann mithilfe einer Steuereinheit, z. B. einen Aktor ansteuert und bestimmte Tätigkeiten ausführt. Oder wie sage ich einem bewegten Objekt, das es vor einem Hindernis stehen bleiben soll. Das Problem ist, dass ich keine Erfahrung im programmieren habe und daher auch nicht beurteilen kann wie gravierend die Unterschiede zwischen C und C++ sind. Ich möchte nur mit der/die richtigen Sprachen für solche Probleme anfangen und keine Zeit in eine falsche Sprache investieren.
 
Die genannten Themen sind halt ein weites Feld und da finden in der Praxis verschiedenste Programmiersprachen Anwendung.
Wenn es aber sehr hardwarenah ("Daten eines Sensors erfassen"), ist C immer noch mit großem Abstand die dominierende Sprache. Meiner Ansicht nach, wird das auch noch eine Zeit lang so bleiben.
 
Matlab/Simulink. Das können die ganzen Maschinenbauer noch am ehesten bedienen :-)
 
Zurück
Oben