Logo TRIX
Mecatrónica, Robótica y Diseño de Producto

Ing. José Luis Huidobro E.

Publicado 2025

Introducción

Mecatrónica: una carrera adelantada a su tiempo. Esta disciplina cobra mayor sentido con la llegada de la IA y la robótica.

Anteriormente, el desarrollo de proyectos complejos que involucraban firmware, interfaces gráficas, teoría de control y diseño mecánico demandaba la colaboración de grandes equipos de especialistas. Era una tarea casi inabarcable para una sola persona o un grupo reducido.

Sin embargo, el panorama comenzó a cambiar a partir de 2015, con la democratización de los microcontroladores (MCU), que se volvieron más accesibles en costos y disponibilidad en mercados como el de México.

Gracias a esta evolución, equipos pequeños ahora tienen el poder de ejecutar grandes proyectos. Se han abierto las puertas al mercado de productos robóticos de consumo, y en TRIX ofrecemos el soporte experto y la integración técnica para transformar ideas innovadoras en soluciones reales.

Esta forma sistemática de pensar nos permite construir sistemas resilientes y robustos. Al mantener una independencia funcional entre los componentes, podemos actualizar o modificar un servicio sin interrumpir el funcionamiento de los demás.

Estos servicios se comunican de manera eficiente a través de protocolos estándar como HTTP, HTTPS o sockets.


Microservicios y Robótica

Programar robots desde sus cimientos requiere de herramientas potentes que, afortunadamente, hoy están al alcance de todos.

Aunque Internet es un océano de información, nada se compara con la guía de un experto para navegar con éxito por las complejidades del software y el hardware.


API Gateway Para orquestar esta comunicación de manera efectiva, es fundamental implementar un API Gateway. Cada endpoint se asocia a una ruta única, lo que permite centralizar y gestionar todas las APIs de forma organizada y segura. Además, con herramientas como Postman, es posible automatizar pruebas y validar que la comunicación entre servicios funcione a la perfección.
  • Datos distribuidos: La información se fragmenta o replica en distintos nodos, garantizando así una alta disponibilidad y redundancia.
  • Procesamiento distribuido: Las tareas de cálculo se dividen y ejecutan en paralelo a través de varios nodos, lo que mejora radicalmente la escalabilidad y la eficiencia del sistema.

Automatización del Despliegue

Para automatizar los despliegues, empleamos herramientas de orquestación, siendo Kubernetes el estándar de la industria. Kubernetes gestiona contenedores dentro de unidades lógicas llamadas Pods.
Un Pod puede alojar tanto una aplicación como su base de datos, o puede dividirse en múltiples Pods especializados para tareas específicas.
Esta arquitectura nos permite escalar, actualizar y balancear la carga de forma dinámica y eficiente.

Aplicación en Robótica

Al trasladar esta arquitectura a la robótica, las posibilidades son enormes:
Un microservicio de percepción puede dedicarse a procesar imágenes, utilizando tecnologías como OpenCV o Machine Learning.
Un microservicio de planeación se encarga de calcular las trayectorias óptimas para el movimiento.
Un microservicio de control se responsabiliza de enviar los comandos precisos al robot físico, ya sea mediante ESP-IDF o ROS 2.
Paralelamente, un microservicio de simulación (usando herramientas como Gazebo) puede validar los comportamientos en un entorno virtual antes de ejecutarlos en el hardware real.
Todo este ecosistema se integra a través de un API Gateway, que centraliza la comunicación y refuerza la seguridad del sistema completo.

Aprende a simular tus programas en Gazebo.

Gemelos Digitales: Crea un microservicio de simulación que se comunique directamente con el nodo de planeación para validar y optimizar cada movimiento. ¡Quiero incluirlo en mi oferta educativa!
¡Domina la robótica en la Ciudad de México!

Un robotista debe conquistar estas habilidades esenciales:

  • Diseño CAD (SolidWorks, Fusion 360, SketchUp, Blender).
  • Diseño mecánico avanzado para prototipos y producción.
  • Lógica booleana aplicada a circuitos y control.
  • Electrónica y diseño de circuitos (PCB con SMT y through-hole).
  • Programación: C++, C#, Python, JS con integración de software.
  • Arquitectura DevOps para escalabilidad y deployment.
  • Git/GitHub para control de versiones colaborativo.
  • Teoría de control para sistemas robóticos precisos.
  • Bases de datos SQL para manejo de datos en tiempo real.
  • ROS 2: Robot Operating System 2 con soporte e instalación experta.
  • Lógica difusa para IA y decisiones inteligentes en robótica.
  • Ingeniería de Sistemas y Sistemas SCADA.
¿Qué hay después de Arduino? ¿Cómo paso de un proyecto educativo a la industria?

La robótica como pretexto para usar herramientas poderosas y cotizadas.

  • Aprende GitHub para control de versiones colaborativo e integración total.
  • Aprende Docker para entornos reproducibles con instalación experta.
  • Aprende Linux para una base sólida en diseño de software y hardware.
  • Aprende a programar Webapps que sirvan a usuarios y robots. Django es un gran framework con alta demanda de trabajo.
Placa ESP32 para proyectos de robótica y diseño de PCB

ESP32: Ideal para integración inalámbrica con diseño PCB personalizado.

Logo de Docker para entornos reproducibles

Docker: Reproduce entornos para escalabilidad en robótica.

Logo de ROS 2 (Robot Operating System 2)

ROS 2: Robot Operating System 2.

Un proyecto para aprenderlo todo.

Necesitas un proyecto. Elige algo, ¡pero hazlo ya!

GitHub: Tu herramienta esencial

GitHub es tu “máquina del tiempo” del código: guarda versiones (commits), colabora y evita pérdidas.

  • Versionado: prueba sin miedo y vuelve atrás fácil.
  • Colaboración: trabajo en equipo ordenado con pull requests.
  • Respaldo: repos seguros y accesibles.

Comandos básicos

git init
git add .
git commit -m "Inicial"
git push origin main
git clone "URL_del_repositorio"
¿Qué guardaré en GitHub?

Para un proyecto ESP-IDF, incluye:

  • main/ (código fuente)
  • CMakeLists.txt (raíz y/o main/)
  • components/ (si aplica)
  • sdkconfig (configuración del proyecto)

Primer paso — Blink: enciende/apaga un LED para verificar carga y entorno (Arduino, ESP32, STM32, FPGA).

Herramientas sugeridas: Arduino IDE, PlatformIO, ESP-IDF, STM32CubeIDE (todos con ejemplos de Blink listos).

Fundamentos de Microcontroladores

Familias comunes: Renesas RX, NXP Kinetis, MSP430, STM32 (Blue Pill), PIC.

I/O es la base de la interacción con el proceso: entender entradas y salidas simplifica el diseño e integración.

Entradas y Salidas (I/O)

  • Entradas: capturan señales del proceso y las envían al controlador.
  • Salidas: reciben órdenes del controlador y ejecutan acciones físicas.

Sensores

  • Digitales (ON/OFF): fin de carrera, proximidad inductivo/capacitivo, fotoceldas.
  • Analógicos: miden valores continuos. Señales típicas: 0–10 V, 0–5 V, 4–20 mA.

Arquitectura por capas

Enfoque que separa funciones y reduce riesgo:

  • Capa determinista (tiempo real): control y seguridad en PLC/dispositivos.
  • Capa de integración: conecta sistemas y dispositivos heterogéneos.
  • Capa de supervisión: monitoreo, visualización y gestión centralizada.

Guía rápida de protocolos

Elegir bien el protocolo asegura comunicación eficiente y confiable.


UART

Serial punto a punto simple para enlaces directos.

  • 💻 Común en: Bluetooth/WiFi, GPS, GSM/GPRS, consola de depuración.
  • Uso típico: telemetría PC–MCU y módulos de baja velocidad.

I2C

Bus de 2 hilos (SDA/SCL) para múltiples periféricos en una placa.

  • 🌡️ Común en: sensores, EEPROM, OLED, RTC.
  • Uso típico: IMU y controladores PWM para servos.

CAN bus

Red robusta sin maestro; mensajes por prioridad (ambientes ruidosos).

  • 🚗 Común en: automotriz, maquinaria pesada, automatización.
  • 🦾 Uso en robótica: comunicación interna confiable entre actuadores y sensores (p. ej., ROS 2).

Modbus

Estándar maestro-esclavo veterano para supervisar y controlar equipos en entornos industriales.

  • 🏭 Usos comunes: automatización industrial, BMS, conexión de PLCs, variadores y medidores de energía.
  • 🤖 En robótica: integrar brazos industriales en líneas de producción, recibiendo órdenes de un PLC maestro.

Protocolos de Red (TCP/IP)

Cuando tus robots y dispositivos necesitan comunicarse a través de una red local (WiFi/Ethernet) o por Internet, entran en juego los protocolos de la suite TCP/IP.

UDP (User Datagram Protocol)

Protocolo rápido sin confirmación de entrega ni orden: prioriza velocidad sobre fiabilidad.

  • 🚀 Usos comunes: streaming en vivo, videojuegos online, VoIP, DNS.
  • 🤖 En robótica: video en tiempo real y datos de alta frecuencia (p. ej., LiDAR), donde es mejor perder un paquete viejo que retrasar uno nuevo.

TCP (Transmission Control Protocol)

Protocolo fiable y ordenado: establece conexión y garantiza entrega íntegra y en secuencia.

  • ✔️ Usos comunes: web (HTTP/S), correo (SMTP), FTP y apps que no pueden perder datos.
  • 🤖 En robótica: comandos críticos, transferencia de archivos/logs y acceso remoto por SSH.

WebSockets

Canal bidireccional y en tiempo real entre navegador y servidor/robot, sin peticiones repetidas.

  • 🌐 Usos típicos: chat en vivo, trading, editores colaborativos, notificaciones.
  • 🤖 En robótica: dashboards web para control y telemetría (joystick, velocidad, batería, alertas).
  • Capa determinista (tiempo real): control y seguridad en dispositivos/PLC.
  • Capa de integración: conecta dispositivos y sistemas heterogéneos.
  • Capa de supervisión: monitoreo, visualización y gestión centralizada.
Definición de Model-Based Systems Engineering (MBSE)

MBSE es un enfoque para diseñar y verificar sistemas complejos usando modelos digitales como fuente única de verdad durante todo el ciclo de vida.

  • Sustituye documentos aislados por modelos formales y ejecutables.
  • Cubre requisitos, arquitectura, comportamiento e interacciones.
  • Permite analizar, simular y gestionar trazabilidad de punta a punta.
Relación MBSE y SCADA

Conexión a lo largo del ciclo de vida:

  1. MBSE diseña y especifica el SCADA
    • Requisitos: captura formal (p. ej., alertas < 2 s sobre 100 PSI).
    • Arquitectura: sensores→PLCs, redes, pantallas HMI.
    • Comportamiento: simulación de fallas y respuestas.
    • V&V: trazabilidad y cumplimiento de requisitos.
  2. SCADA alimenta y mejora el modelo (Digital Twin)
    • Datos reales de operación ↔ modelo MBSE ideal.
    • Comparar rendimiento esperado vs. real y ajustar.
    • Predecir fallas y probar optimizaciones sin riesgo.
Definición de SCADA

Arquitectura de software para:

  • Supervisar procesos a distancia.
  • Adquirir datos en tiempo real (sensores/PLCs).
  • Presentar info a operadores vía HMI.
  • Controlar procesos y registrar eventos.

Python para Datos y Machine Learning

Python lidera en análisis de datos e IA por su sintaxis simple y amplio ecosistema.

  • Datos: Pandas, NumPy para limpiar y analizar.
  • Visión: OpenCV para procesamiento de imágenes.
  • ML: Scikit-learn, TensorFlow, PyTorch para modelos.
  • Gráficas: Matplotlib, Seaborn para visualizar.
¿Cómo empezar un proyecto robótico?

Instala Docker

Visita: https://www.docker.com/get-started/

Si estás en Windows:

Para comenzar con la instalación de Docker en Windows, es necesario descargar Docker Desktop. La opción más recomendable es utilizar WSL 2 (Subsistema de Windows para Linux) como backend, ya que ofrece un mejor rendimiento.

Pasos para la instalación:

  1. Descarga el instalador de Docker Desktop desde el sitio oficial de Docker.
  2. Ejecuta el archivo .exe que acabas de descargar.
  3. Sigue las instrucciones del asistente de instalación. Asegúrate de marcar la opción que indica "Use WSL 2 instead of Hyper-V (recommended)" para un rendimiento óptimo.
  4. Una vez finalizada la instalación, reinicia tu computadora.
  5. Al reiniciar, Docker Desktop se iniciará automáticamente. Acepta los términos y condiciones para completar la configuración.

Si estás en Ubuntu:

La instalación de Docker en Ubuntu se realiza principalmente a través de la línea de comandos.

Pasos para la instalación:

  1. Actualiza el índice de paquetes de tu sistema:
  2. sudo apt update
  3. Instala los paquetes necesarios para permitir que apt utilice un repositorio a través de HTTPS:
  4. sudo apt install apt-transport-https ca-certificates curl software-properties-common
  5. Añade la clave GPG oficial de Docker a tu sistema:
  6. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  7. Agrega el repositorio de Docker a las fuentes de APT:
  8. sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  9. Actualiza de nuevo el índice de paquetes con la inclusión del nuevo repositorio de Docker:
  10. sudo apt update
  11. Instala Docker Community Edition (CE):
  12. sudo apt install docker-ce
  13. Verifica que Docker se ha instalado correctamente ejecutando una imagen de prueba:
  14. sudo docker run hello-world

¿Qué es el comando sudo?

Configura tu entorno de trabajo:

Prepara un espacio digital para tu proyecto.

¿Qué es una máquina virtual?

Una máquina virtual (VM) es un entorno virtualizado que simula un sistema operativo dentro de tu computadora. Es ideal para probar configuraciones de software robótico, como ROS (Robot Operating System), sin riesgos para tu sistema principal.

¿Qué es Docker?

Docker es una herramienta que empaqueta aplicaciones y sus dependencias en contenedores ligeros. En robótica, facilita la portabilidad de entornos de desarrollo, como simuladores o frameworks, asegurando que funcionen igual en diferentes máquinas.

Ejercicio 1: Crea el Dockerfile y carga el proyecto Blink a tu ESP32

Luego crea un repositorio en tu cuenta de GitHub, configura las credenciales y realiza un git push.

FROM espressif/idf:release-v5.1 # Establece el directorio de trabajo WORKDIR /project # Copia el código del proyecto Blink (se asume que main.c está en la carpeta blink) COPY blink /project # Instala dependencias necesarias para el ESP32 RUN /opt/esp/idf/install.sh esp32 # Configura el entorno IDF al iniciar el contenedor ENV IDF_PATH=/opt/esp/idf CMD ["/bin/bash", "-c", ". /opt/esp/idf/export.sh && idf.py set-target esp32 && idf.py build && idf.py -p /dev/ttyUSB0 flash"]
  • Arduino te limita; migra a ESP-IDF para control de hardware total.
  • Docker reproduce entornos al 100%, incluidas dependencias.
  • Flask para interfaces web ligeras con integración de software.
  • ROS 2 orquesta nodos y flujos de datos en tiempo real.

¿Qué es Docker Compose?

Docker Compose — el orquestador amigable.

En un solo archivo declaras múltiples servicios y sus características.

docker compose build
docker compose up
docker compose down
docker compose stop

¿Qué es Node-RED?

Node-RED es una plataforma de programación visual por flujos para conectar hardware, APIs y servicios.

  • Visual: arrastra nodos y enlázalos para crear flujos.
  • Prototipado rápido: ideal para IoT sin mucho código.
  • Runtime: no solo visualiza; ejecuta lógica y orquesta integraciones.

Integración: SCADA + Node-RED + Python

Combina estas capas para sistemas industriales inteligentes:

  1. SCADA: capta datos fiables de planta.
  2. Node-RED: puente/automatización (OPC UA, Modbus, MQTT) y acciones rápidas.
  3. Python: análisis avanzado y ML (predicción de fallos) con devolución de resultados.

¿Escuela, taller o empresa en CDMX? Contáctanos para un plan a la medida.