PTENES
MÓDULO 2.8

💻 Cómo programar robots: del Teach Pendant al código

Existe una escala de métodos para decirle a un robot qué hacer: desde el teach pendant (sin una línea de código) hasta Python, ROS 2 y el lenguaje natural. Este módulo muestra cada nivel, cuándo usarlo y la ruta de aprendizaje según el perfil para avanzar de lo simple a lo avanzado.

6
Temas
50
Minutos
Intermedio
Nivel
Práctica
Tipo
simple avanzado 🕹️ Teach pendant guiar / grabar una pose 🧱 Sin código bloques / flujo 🐍 Python SDK / visión / IA 🤖 ROS 2 en los / tópicos 🗣️ Lenguaje natural VLA / code-as-policies

Diagrama ilustrativo: cada nivel aumenta en potencia y complejidad — desde el teach pendant (sin código) hasta el lenguaje natural con VLA.

1

🕹️ Teach Pendant y Lead-Through

El método dominante hoy no usa ni una línea de código. En el teach pendant, navegas en una consola portátil para mover el brazo y grabar posiciones. En el lead-through (hand-guiding), simplemente sujetas el brazo con la mano y lo guías por la trayectoria, grabando cada pose. Es la base de los cobots (UR, FANUC CRX) y la puerta de entrada para quien nunca ha programado.

📍 Cómo «aprende» una rutina el robot

Programar con teach pendant y grabar una secuencia de waypoints (puntos de paso). Cada waypoint es una pose — posición más orientación del efector — relativa a un frame (base o tool).

  • •Jog manual: mover el brazo eje por eje (o en el espacio cartesiano) desde la consola.
  • •Grabar waypoint: guardar la pose actual como punto de la trayectoria.
  • •Velocidad y aceleración: ajustar qué tan rápido va el robot entre puntos.

📊 Por qué empieza aquí

  • Método dominante - la mayoría de las células de cobots en plantas de producción se programa así.
  • Sin código - el operador aprende en horas, no en meses; ideal para tareas repetitivas.
  • Cobots UR y FANUC CRX - lead-through nativo: presionas un botón y guías el brazo con la mano.

💡 Consejo práctico

Antes de grabar waypoints, define bien los frames base/tool. Un frame de herramienta incorrecto hace que el robot "piense" que la pinza está en otro lugar — y toda la trayectoria queda desplazada. Dominar los frames es el primer salto de calidad para quien programa con teach pendant.

Conceptos clave

Waypoints
Puntos de la trayectoria
Pose / fotogramas
Base y tool
Jog manual
Mover desde la consola
Guiado manual
Guiar con la mano
2

🧱 Sin Código y Bloques / Flujo

El segundo nivel añade lógica sin escribir texto. Interfaces visuales — bloques tipo Blockly, diagramas de flujo y el PolyScope de UR con drag-and-drop — te permiten crear condicionales, bucles y esperas arrastrando piezas. Esto democratiza el proceso: quien domina el teach pendant pasa a programar comportamientos, no solo trayectorias.

Programa visual (ilustrativo)
▸ Programa
  ┌ Loop (sempre)
  │   ◆ Se sensor_peca == verdadeiro
  │       → MoveJ  waypoint_pegar
  │       → Garra  fechar
  │       → MoveL  waypoint_soltar
  │       → Garra  abrir
  │   ◆ Senao
  │       → Esperar  0.5 s
  └ Fim Loop

✓ Cuándo usar NO-CODE

  • ✓Tarea repetitiva con pocas variaciones (pick-and-place)
  • ✓Equipo sin programadores; los operadores configuran la rutina
  • ✓Lógica simple: if por sensor, loop, wait, plantillas listas
  • ✓Prototipo rápido en la celda, sin ciclo de build

✗ Cuando el NO-CODE se bloquea

  • ✗Lógica compleja con muchas ramas y estados
  • ✗Integrar visión computacional o IA externa
  • ✗Reutilización entre robots de distintos fabricantes
  • ✗Versionar y probar código como software de verdad

Conceptos clave

Bloques if/loop
Lógica arrastrable
Nodos de acción
Mover, garra, wait
Condicional
If por sensor
Templates
Reutilización de rutinas
3

🐍 Python y la frontera del código

Python y es el lenguaje más usado en robótica e IA. Con él controlas cobots mediante SDK (p. ej.: ur_rtde), procesa visión computacional e integra modelos de IA. Pasar del no-code al código permite realizar tareas complejas que los bloques no alcanzan y, en la práctica, acceder a mejores salarios.

controle_cobot.py (ilustrativo)
# Mover um cobot UR e acionar a garra (ilustrativo)
from rtde_control import RTDEControlInterface as RTDEControl
robo = RTDEControl("192.168.0.10")
pose = [-0.14, -0.40, 0.20, 0, 3.14, 0]   # x, y, z + rotacao
robo.moveL(pose, speed=0.25, acceleration=0.5)
robo.setStandardDigitalOut(0, True)         # fecha a garra

📈 Qué desbloquea el código

  • Bucle de control - leer sensores y reaccionar en tiempo real, más allá de lo que permiten los bloques.
  • Visión computacional - localizar piezas con una cámara y calcular la pose de agarre en el momento.
  • Scripts reutilizables - versionar, probar y reutilizar código entre proyectos.

💡 Consejo práctico

No necesitas abandonar el teach pendant para aprender Python. Empieza grabando la trayectoria en la consola, exporta las poses y usa el SDK solo para lo que los bloques no permiten hacer (visión, decisión, integración). Este enfoque "híbrido" es el camino real para pasar de operador a técnico.

Conceptos clave

SDK
ur_rtde, fabricante
Bucle de control
Leer y reaccionar
Visión
Cámara + pose
Scripts
Reutilizables
4

🤖 ROS 2: el Middleware Estándar

A pesar del nombre, ROS 2 no es un sistema operativo de verdad: es un middleware: una capa que conecta las partes de un robot. Los programas se convierten en en los que se comunican por temas (publish/subscribe), mensajes e servicios. Los AMR, los humanoides y la investigación académica funcionan con ROS 2.

🧩 El ecosistema que viene con él

La fortaleza de ROS 2 no es solo la comunicación: es el conjunto de herramientas maduras que reutilizas en lugar de volver a escribir.

  • •Nav2: navegación autónoma para robots móviles (AMRs).
  • •MoveIt 2: planificación del movimiento y manipulación de brazos.
  • •Gazebo: simulación física para probar antes del hardware real.
en ROS 2 publicando un tópico (ilustrativo)
import rclpy
from geometry_msgs.msg import Twist

no = rclpy.create_node("motorista")
pub = no.create_publisher(Twist, "/cmd_vel", 10)
cmd = Twist()
cmd.linear.x = 0.2     # anda pra frente
pub.publish(cmd)         # publica no topico /cmd_vel

💡 Consejo práctico

No necesitas un robot físico para aprender ROS 2: Gazebo simula la física y los sensores. Muchos ingenieros de robótica empiezan publicando tópicos en un robot virtual antes de tocar hardware costoso: comete errores en la simulación, no en la celda de producción.

Conceptos clave

Nodos / temas
Publicación/suscripción
Mensajes
Servicios y datos
Nav2 / MoveIt 2
Navegación y brazos
Gazebo
Simulación física
5

🗣️ Programar con lenguaje natural

La nueva frontera: tú describe la tarea en portugués y el robot genera y ejecuta la rutina. Se conecta directamente con el módulo 2.7 (VLA). En el paradigma "code-as-policies", un LLM escribe el código de control y una persona lo revisa antes de ejecutarlo. La habilidad deja de ser «escribir código» y pasa a ser «especificar bien la tarea y revisar lo que generó la IA».

✨ Cómo funciona code-as-policies

Escribes un prompt de tarea ("separa las piezas rojas de la cinta transportadora"). El LLM genera el código que acciona el robot; tú lo revisas y apruebas. La IA acelera, pero la responsabilidad por la seguridad sigue siendo humana.

  • •Prompt de tarea: describir el objetivo, no los pasos.
  • •VLA: modelos de visión-lenguaje-acción que conectan la percepción con el movimiento.
  • •Revisión humana: aprobar el código antes de que toque el hardware.

🚫 Atención: seguridad del código autogenerado

El código generado por un LLM puede ser sintácticamente perfecto y aun así dirigir el brazo hacia una colisión. Nunca ejecutes código autogenerado directamente en producción: valídalo en simulación, limita la velocidad y la fuerza, y mantén al operador en el ciclo. La IA escribe rápido, pero no responde por un accidente: tú respondes.

Conceptos clave

Code-as-policies
El LLM escribe el control
Prompt de tarea
Objetivo en texto
VLA
Visión-lenguaje-acción
Revisión humana
Seguridad en el ciclo
6

🧭 Qué Camino Seguir

No existe «la forma correcta»: existe el el escalón adecuado para tu perfil. La ruta es progresiva: cada nivel abre un rango salarial y se vincula con las certificaciones del módulo 3.4. El secreto no es saltarse escalones, sino subir uno a la vez mientras construyes un portafolio de proyectos.

1

Operador: teach pendant → no-code

Del brazo guiado a la lógica en bloques

Empieza dominando lead-through y waypoints; luego avanza al no-code (PolyScope, bloques) para programar condicionales y loops. Aquí ya puedes entregar celdas completas sin escribir código.

2

Técnico: no-code → Python

El salto al código

Quien ya construye lógica con bloques aprende Python y SDK (ur_rtde) para integrar visión y toma de decisiones. Es el escalón donde más aumenta el salario, porque permite realizar tareas que el no-code no alcanza.

3

Ingeniero: Python → ROS 2 → VLA

Parte superior de la escalera

Con una base sólida en Python, avanza a ROS 2 (sistemas complejos, AMRs, humanoides) y a la frontera de VLA / lenguaje natural. Aprendizaje continuo: la frontera de hoy se convierte en el estándar de mañana.

✓ Cómo subir la escalera

  • ✓Dominar un nivel antes de avanzar al siguiente
  • ✓Construir un portafolio de proyectos reales en cada nivel
  • ✓Vincular el aprendizaje con certificaciones (módulo 3.4)
  • ✓Mantener el aprendizaje continuo: la frontera sigue avanzando

✗ Errores de quien se pierde

  • ✗Pasar a ROS 2 sin una base de Python
  • ✗Creer que el no-code «no cuenta» como habilidad — sí cuenta, y mucho
  • ✗Estudiar solo la teoría, sin entregar ningún proyecto
  • ✗Dejar de aprender al llegar a un nivel cómodo

💡 Consejo práctico

Identifica con honestidad tu nivel actual y apunta al nivel inmediatamente superior, no a la cima. Un operador que aprende no-code vale más que uno estancado; un técnico que aprende Python vale más que uno que trabaja con bloques. La escalera recompensa cada paso, no solo el final.

Conceptos clave

Ruta por perfil
De operador a ingeniero
De lo simple a lo complejo
Un paso a la vez
Portafolio
Proyectos reales
Aprendizaje continuo
La frontera se mueve

🏁 Resumen del módulo

✓
Teach pendant y guiado manual - el método dominante no requiere código: graba waypoints y poses guiando el brazo; es la base de los cobots UR y FANUC CRX.
✓
Sin código y con bloques - lógica visual (Blockly, PolyScope) con if/loop/wait; democratiza, pero se limita ante la complejidad y la integración.
✓
Python - SDK (ur_rtde), loop de control, visión e IA; el salto que desbloquea tareas complejas y mejores salarios.
✓
ROS 2 - middleware con nodos, tópicos y mensajes; Nav2, MoveIt 2 y Gazebo impulsan AMRs, humanoides e investigación.
✓
Lenguaje natural / VLA - code-as-policies: describe la tarea, la IA genera el código y el humano lo revisa. La seguridad sigue siendo responsabilidad humana.
✓
Ruta por perfil - operador, técnico, ingeniero: cada nivel tiene una remuneración y se conecta con las certificaciones del módulo 3.4.

Próxima ruta:

Ruta 3 - Estratégica: cómo liderar la transición robótica a nivel organizacional, del piloto a la escala.