Différents langages sont utilisés à différents niveaux :
- Hardware : (Pour les FPGA) verilog, VHDL
- Firmware (micro-contrôleurs) : C/C++, assembly, Java, (Arduino utilise un wrapper autour du C)
- Scripts pour les micro-processeurs : bash, Python, Bonescript
- Contrôles : Matlab/Octave/Simulink, C/C++ avec des bibliothèques d'optimisation supplémentaires
- Traitement d'images, traitement du signal (non basé sur le matériel) : C/C++, parfois Java, Python
- Pilotes : C/C++
- Certains autres paquets nécessaires formant l'ossature : C/C++, Python, Java (exemple ROS)
- Cognition de bas niveau (cela inclut la localisation, le rabotage, le mappage, etc.) : Python, C/C++ , Matlab
- Cognition de haut niveau : C++ (avec moteurs d'extension), Python
- Moteurs d'extension (également utilisés indépendamment parfois. Étaient plus utilisés indépendamment dans le passé, sont maintenant intégrés dans les applications C++/Python) : Lisp, Lua, Prolog
- Langues personnalisées : S'appuient sur l'architecture spécifiée ci-dessus pour présenter des commandes simples à utiliser à l'utilisateur. Développés à l'aide de flex, bison.
Certains nouveaux langages sont utilisés pour des tâches très spécifiques.
PS : Votre question est assez vague.
.