pulpRobot permite diseñar un robot (brazo articulado, brazo SCARA, robot móvil, hexápodo), animar sus movimientos imagen clave a imagen clave y comprobar lo que tendrán que dar sus motores. Calcula la cinemática directa e inversa, los pares y las colisiones, ofrece una simulación física y exporta el resultado en URDF o como programa Arduino o MicroPython.
Primeros pasos
- Abra pulpRobot. La primera vez que lo abre, aparece solo un ejemplo para que vea cómo es pulpRobot: el Brazo de toma y deja, un brazo de 6 ejes con pinza que toma una pieza de un puesto y la deja en el otro, con su trayectoria reproducida en bucle. Empezar desde cero o Eliminar el ejemplo lo quita con un clic, y Archivo › Volver a ver el ejemplo lo vuelve a abrir. No se guarda nada mientras no lo modifique, y no se controla ningún motor. El menú Nuevo ofrece un Brazo de 6 ejes, un Brazo de 3 servos, un Brazo SCARA, un Robot móvil, un Hexápodo y un Robot vacío.
- En modo Diseño, la pestaña Estructura muestra el árbol de segmentos y articulaciones. Seleccione un segmento para ajustar en Propiedades sus piezas, su material, su masa y su articulación (tipo, eje, recorrido, motor).
- Pase al modo Movimiento. En Control, mueva cada articulación con su cursor o desplace la herramienta con el manipulador 3D: la cinemática inversa calcula la pose.
- Añada Imágenes clave en la Línea de tiempo (K añade la pose actual) y reproduzca la animación con Espacio. Las alertas (colisión, par o velocidad por encima del motor, punto fuera de alcance) aparecen en la línea de tiempo.
- Abra Exportar para obtener un URDF, un programa Arduino o MicroPython, las consignas en CSV, un vídeo o una imagen de la vista.
Tareas habituales
¿Cómo añadir un segmento o una pieza?
En Estructura, seleccione el segmento portador y luego Añadir un segmento articulado. La pestaña Biblioteca añade al segmento seleccionado una forma (caja, cilindro, esfera, perfil de aluminio, brazo de servo) o un componente: servos, motores paso a paso, motores de corriente continua, ruedas, sensores, placas, baterías. Importar una pieza… admite una malla STL, OBJ o glTF; Desde la suite enumera las cajas de pulpCase y las placas de pulpCircuit guardadas en el dispositivo.
¿Cómo elegir el motor de una articulación?
Seleccione la articulación y elija un motor en la Biblioteca: pasa a ser su actuador, con su par y su velocidad. El campo Par necesario aquí y el anillo de color de la vista muestran la carga. Automático › Dimensionar los motores… propone para cada eje el motor más ligero que soporta la trayectoria con el margen elegido; puede aplicarlos todos o sustituir solo los subdimensionados.
¿Cómo crear una trayectoria?
Coloque el robot en una pose y añada una imagen clave; repita. Para cada imagen clave, ajuste en Propiedades el instante, el Movimiento (Articular, Línea recta o Arco de círculo), el Perfil de velocidad (curva en S, trapecio o constante) y la acción de la Pinza (tomar o soltar). La pestaña Gráficos traza posiciones, velocidades, aceleraciones y pares.
¿Cómo evitar obstáculos?
Añada objetos con Añadir un obstáculo (pestaña Estructura, apartado Escena). Automático › Evitar obstáculos vuelve a planificar los movimientos con colisión añadiendo puntos de paso. Si el extremo de un movimiento toca un obstáculo, no se puede corregir: mueva antes esa imagen clave.
¿Cómo generar una toma y deja?
Añada un Objeto para tomar (pestaña Estructura, apartado Escena) y selecciónelo. En sus Propiedades, la sección Toma y deja automáticas ofrece un destino (Dejar sobre): elíjalo y pulse Generar el movimiento. El robot necesita una herramienta. pulpRobot añade aproximación, bajada, toma, subida, traslado sin colisión, depósito y retirada, con duraciones que los motores pueden seguir.
¿Cómo enseñar el gesto al robot?
Automático › Mostrar el gesto (cámara)…: extienda el brazo ante la cámara y la herramienta sigue su mano. Una pausa registra un punto de paso. Si no hay cámara, sirven el Vídeo de ejemplo o un archivo de vídeo propio. Después, las duraciones se ajustan a los motores.
¿Cómo definir la herramienta y ver qué puede alcanzar el robot?
En las propiedades del robot, Definir una herramienta (llevada por un segmento, con su desfase y su orientación). El ajuste de Cinemática inversa elige Pose completa (6D) o Solo posición. Las opciones de vista muestran el Espacio de trabajo, la Trayectoria de la herramienta, los Centros de gravedad, los Pares (anillos), la transparencia y los ejes de los segmentos. La Destreza y el aviso de configuración singular señalan las poses en las que la herramienta pierde una dirección de movimiento. En un brazo en serie, se puede leer y modificar una tabla de parámetros DH.
¿Cómo corregir las alertas de par o de velocidad?
Las alertas de la línea de tiempo (colisión, par o velocidad por encima del motor, punto fuera de alcance) se detallan en la pestaña Gráficos (posiciones, velocidades, aceleraciones, pares; al menos dos fotogramas clave). Automático › Ajustar las duraciones a los motores alarga los movimientos donde un motor no puede seguir; si no, elija un motor más potente o use Dimensionar los motores….
¿Cómo probar en simulación física?
Modo Física y luego Iniciar la simulación: se aplican gravedad, contactos y rozamientos, y cada motor queda limitado a su par real. Reproduzca la línea de tiempo para ver si el robot la sigue; un motor saturado se señala. Un robot móvil se conduce con las flechas del teclado.
¿Cómo programar el robot real?
Exportar › Código Arduino… o Código MicroPython…: elija Imágenes clave (programa corto, interpolación en la placa) o Tabla 50 Hz (trayectoria exacta, más memoria). El código controla servos, motores paso a paso (pines STEP y DIR) y motores de corriente continua (PWM y sentido, en lazo abierto). Cópielo, descárguelo o pulse Abrir en pulpLab para cargarlo con pulpLab.
Formatos compatibles
| Formato | Apertura | Guardado | Observaciones |
|---|---|---|---|
| pulpRobot (.probot) | Sí | Sí | Formato nativo, sin pérdidas. |
| URDF (.urdf, .xml) | Sí | Sí | Exportación: inercia calculada, herramienta como segmento «tool0». |
| Paquete URDF (.zip) | Sí | Sí | URDF con sus mallas STL, OBJ o COLLADA (.dae); la exportación entrega STL. |
| STL, OBJ, glTF (.glb, .gltf) | Sí (pieza) | No | Se añaden al segmento seleccionado; unidad deducida (mm o m). |
| Pieza (.ppart), caja (.penclosure), placa (.pboard) | Sí (pieza) | No | Procedentes de la suite (pulpCase, pulpCircuit). |
| Boceto Arduino (.ino), script MicroPython (.py) | No | Sí | Programa de la trayectoria. |
| Consignas (CSV) | No | Sí | Trayectoria muestreada. |
| Vídeo (.webm), imagen (.png) | No | Sí | Animación y vista 3D. |
Límites conocidos:
- No se leen los archivos .xacro: conviértalos antes a URDF.
- Un URDF suelto no trae sus mallas: importe el archivo ZIP del paquete para tenerlas. Las mallas ilegibles se sustituyen por cajas.
- Para glTF, mejor un .glb (archivo único).
- En la simulación física, las piezas del robot no chocan entre sí (solo con el suelo y los objetos).
- El código generado no controla los actuadores industriales de la biblioteca: se indican como ignorados.
- La grabación de vídeo depende del navegador y no está disponible en todos.
Atajos de teclado
| Atajo | Acción |
|---|---|
| Ctrl+S | Guardar |
| Ctrl+Mayús+S | Guardar como |
| Ctrl+O | Abrir |
| Ctrl+Z | Deshacer |
| Ctrl+Y o Ctrl+Mayús+Z | Rehacer |
| Espacio | Reproducir o pausar la línea de tiempo (al menos dos imágenes clave) |
| K | Añadir una imagen clave con la pose actual |
| Inicio / Fin | Ir al principio / al final de la línea de tiempo |
| Supr | Eliminar la imagen clave seleccionada |
| Esc | Deseleccionar |
| Flechas | Modo Física, robot móvil: conducir |
| Ctrl + rueda en la línea de tiempo | Hacer zoom en la línea de tiempo |
| ↑ / ↓ en un campo numérico | Aumentar o disminuir (Mayús: paso × 10) |
En Mac, Cmd sustituye a Ctrl. Ctrl+J abre pulpAssist y Ctrl+Mayús+O, el panel de documentos abiertos.
La IA en pulpRobot
Mostrar el gesto usa un pequeño modelo de reconocimiento de la silueta (unos 6 MB), que se descarga la primera vez y luego se conserva en el dispositivo. Funciona en su dispositivo: las imágenes de la cámara no salen de él. Si no se reconoce a ninguna persona, se usan puntos de referencia simulados de demostración y la aplicación lo indica. Consulte modelos de IA.
Las demás funciones automáticas (cinemática inversa, evitación de obstáculos, toma y deja, dimensionado de motores) son cálculos clásicos, sin IA.
Si ha configurado pulpAssist, el asistente puede describir el robot abierto (estructura, motores, masas, línea de tiempo, alertas), calcular una pose para alcanzar un punto sin modificar nada, añadir un punto de paso o ajustar la pose. Cada cambio es un paso que se puede deshacer; los datos del robot se envían al servicio configurado para el asistente. Compruebe siempre el resultado en la vista y en la línea de tiempo.
Preguntas frecuentes y solución de problemas
Aparece «Motor subdimensionado».
El par necesario en la pose o en la trayectoria supera el del motor. Elija un motor más potente, añada una reducción, aligere los segmentos o use Dimensionar los motores….
«Fuera de alcance»: la herramienta no llega al punto.
El punto está fuera del espacio de trabajo o exige una orientación imposible. Muestre el Espacio de trabajo en las opciones de vista o ponga la cinemática inversa en Solo posición para un brazo de menos de 6 ejes.
Mi URDF se abre con cajas en lugar de piezas.
Faltaban las mallas o no se pudieron leer. Importe el archivo ZIP completo del paquete ROS, con su carpeta de mallas.
La cámara no se inicia en «Mostrar el gesto».
Autorice la cámara en el navegador, o use el vídeo de ejemplo o un archivo de vídeo. El modelo necesita conexión la primera vez que se usa.
¿Dónde están mis robots?
En este dispositivo, en el espacio reservado al navegador, con un borrador de seguridad; borrar los datos del navegador los elimina. Archivo › Guardar crea un .probot en el disco. Consulte documentos y copias de seguridad.
¿Funciona pulpRobot sin conexión?
Sí, una vez cargado. La simulación física y Mostrar el gesto necesitan una primera carga: úselos una vez con conexión.