Entrar en robótica como ingeniero de software

Los ingenieros de software curiosos por la robótica evalúan vías de entrada prácticas, desde empezar con Arduinos, Raspberry Pis y drones de bajo coste hasta usar simuladores como CoppeliaSim e Isaac Sim antes de invertir en hardware. Los comentaristas recalcan que, además de programar en C++ o Python, el trabajo real en robótica exige conocimientos básicos de electrónica, teoría de control (p. ej., PID) y a menudo familiaridad con ROS, así como aceptar ciclos de iteración más lentos y menos “agile” impuestos por el hardware. Muchos señalan un intercambio entre el atractivo intelectual y el impacto tangible de la robótica y los salarios normalmente más altos y las vías de contratación más sencillas en puestos de web, adtech y fintech.

Vías de entrada y plataformas para empezar

  • Muchos sugieren empezar desde el software con hardware básico: aprender esquemáticos, hojas de datos, osciloscopios y analizadores lógicos.
  • Para proyectos en casa, Arduino suele recomendarse ampliamente sobre Raspberry Pi para principiantes: más simple, sin SO, ciclo rápido de subir–ejecutar; los clones baratos están bien.
  • Otros mencionan Raspberry Pi, Teensy, ESP32, Micro:BIT, además de motores paso a paso, servos y sensores; con unos ~$200 se puede montar un laboratorio inicial serio.
  • Se advierte que las tarjetas SD de Raspberry Pi se corrompen fácilmente ante cortes de energía durante la depuración; algunos sugieren simuladores (p. ej., Wokwi) y empezar primero con microcontroladores.

Complejidad embebida y depuración

  • Saber C/C++ y usar un osciloscopio se considera valioso, pero insuficiente.
  • Voces con experiencia subrayan que la verdadera dificultad es saber dónde medir, qué buscar y cómo hacer reproducibles los casos límite bajo restricciones ajustadas de laboratorio y presupuesto.
  • La depuración en el mundo real implica problemas de hardware emergentes (ruido, temporización, componentes fuera de especificación) que el tinkering aficionado no prepara del todo.

Matemáticas, control y teoría

  • Varios ingenieros de software se sienten poco preparados en trigonometría, geometría y cálculo al trabajar con robótica/CAD/impresión 3D.
  • Algunos dicen que trigonometría/geometría básicas bastan y que muchos problemas se resuelven en bibliotecas.
  • Otros sostienen que una buena base de trigonometría y álgebra lineal, además de teoría de control, es crucial, especialmente para posicionamiento, control de actitud y comprensión de matrices/cuaterniones; señalan que los PID simples a menudo sustituyen lógica personalizada demasiado complicada.

Proceso y “agile” en hardware

  • Varios comentarios afirman que agile, tal como se practica en software, choca con la realidad del hardware: las iteraciones de PCB tardan días o semanas, y cada vuelta es costosa.
  • Estrategias discutidas: sobredimensionar prototipos con sensores/actuadores extra, usar kits de desarrollo y placas modulares, y dejar huellas sin poblar para componentes futuros.
  • Algunos son abiertamente hostiles a importar el agile/scrum del mundo web, diciendo que ha perjudicado a equipos de hardware/robótica.

Carreras, salarios y trayectorias en robótica

  • Existe una fuerte percepción de que el hardware/robótica en general paga menos que adtech, fintech o web, lo que empuja a muchos desarrolladores a salir del sector.
  • La robótica se describe como un nicho, dominado por startups en etapas tempranas con salarios medios; los sueldos altos se concentran sobre todo en unas pocas empresas grandes.
  • Ruta de entrada sugerida para desarrolladores de software:
    • Aprender C++ y/o Python junto con fundamentos de embebidos (RTOS, ISRs, buses como CAN/I²C/SPI).
    • Aprender ROS, hacer tutoriales y simulaciones, y montar un robot básico teleoperado.
    • Contribuir a paquetes de ROS/código abierto y seguir bolsas de trabajo y conferencias de robótica.

ROS y herramientas

  • ROS 1 Noetic en Ubuntu se considera maduro y estable.
  • ROS 2 se ve como prometedor para sistemas distribuidos/multirrobot, pero se critica por la inestabilidad entre versiones, las peculiaridades del middleware y el bajo rendimiento de los nodos en Python; los ciclos rápidos de actualización Ubuntu+ROS resultan molestos.
  • Hay debate sobre si los productos finales usan ROS: algunos dicen que es principalmente académico; otros señalan que muchas pilas comerciales usan ROS o reimplementan mensajes, parámetros y registro similares.

Drones, simuladores y plataformas específicas

  • Para drones programables, se sugieren Crazyflie (hardware/firmware/software abiertos) y plataformas pequeñas como Ryze Tello, aunque se cuestiona la facilidad de desarrollo.
  • Se elogia Isaac Sim para simulación, especialmente con robots basados en Jetson; algunos recomiendan chasis más capaces (p. ej., WaveRover) en lugar de plataformas más antiguas como Jetbot.
  • Simuladores como CoppeliaSim se recomiendan para aprender robótica sin invertir en hardware.

Reflexiones más amplias sobre el impacto

  • Algunos rechazan la idea de que “las apps no pueden resolver problemas del mundo real”, argumentando que el software es crítico para la gestión a gran escala de recursos y personas.
  • Otros lamentan que el trabajo mejor pagado suele ser ad-tech o similar, visto como de bajo valor social pero muy lucrativo.
  • Hay un fuerte entusiasmo por la idea de que ahora es un momento especialmente bueno para la robótica: mejores baterías, motores, radios, cámaras y LIDAR barato hacen que los proyectos serios sean mucho más accesibles que en décadas pasadas.