Se utilizan diferentes lenguajes a diferentes niveles:
- Hardware: (Para FPGA) verilog, VHDL
- Firmware (microcontroladores): C/C++, ensamblador, Java, (Arduino utiliza un wrapper alrededor de C)
- Scripts para microprocesadores: bash, Python, Bonescript
- Controladores: Matlab/Octave/Simulink, C/C++ con bibliotecas de optimización adicionales
- Procesamiento de imágenes, procesamiento de señales (no basado en hardware): C/C++, a veces Java, Python
- Conductores: C/C++
- Algunos otros paquetes necesarios que forman la columna vertebral: C/C++, Python, Java (ejemplo ROS)
- Conocimiento de bajo nivel (esto incluye localización, planificación, mapeo, etc.): Python, C/C++ , Matlab
- Conocimiento de alto nivel: C++ (con motores de extensión), Python
- Motores de extensión (también se usan independientemente a veces. Se usaban más independientemente en el pasado, ahora están integrados en aplicaciones C++/Python): Lisp, Lua, Prolog
- Lenguajes personalizados: Construidos sobre la arquitectura especificada anteriormente para presentar comandos simples de usar al usuario. Desarrollado con flex, bison.
Algunos lenguajes nuevos se utilizan para tareas muy específicas.
PS: Su pregunta es bastante vaga.