Simulador interactivoAvanzado

Simulador de brazo robótico: cinemática y ROS

Explora límites articulares, cinemática directa, cinemática inversa y planificación de trayectorias en un simulador interactivo de brazo robótico.

Categoría
ROS
Tiempo
3–6 horas
Plataforma
Browser · ROS 2
Esquema técnico de Simulador de brazo robótico: cinemática y ROSREACHABLE WORKSPACE

01 / Empieza aquí

Introducción

Los brazos robóticos transforman consignas articulares en movimientos precisos del efector mediante geometría, retroalimentación y planificación. Este simulador expone marcos de referencia, espacio de trabajo alcanzable, límites de articulación y singularidades cinemáticas, facilitando que estudiantes y usuarios de ROS 2 comprendan por qué un movimiento solicitado tiene éxito o falla.

Live lab / Forward & inverse kinematics · pick-and-place

Robot arm simulator

Pose the joints, drag a target and watch inverse kinematics solve it live, or set a pick-and-place task and run it — with honest reach, singularity, and limit reporting on a full 360° workspace.

Browser native
A planar robot arm kinematics simulator. Use the controls below to move the joints, drag a target, or run a pick-and-place task, or read the full theory and algorithm after this lab.

The filled dot is the base at the centre; segments are links with round joints; the tool shows a small x/y frame. The shaded ring is the reachable workspace (between the two dashed circles). In inverse mode the cross-marker is the draggable target and the faint arm is the other elbow solution. In pick-and-place mode, drag the box (pick) and the dashed square (place), then press Run.

Run

Forward mode. Drag the joint sliders to pose the arm.

Joints
Geometry & target
Tool X
0 px
Tool Y
0 px
Tool angle
0°
Status
Reachable
Reach
0 / 240 px

Keyboard: focus the workspace, then use Space to run a pick-and-place, R to reset, B to switch elbow, and F for full screen.

Controles

El simulador ofrece deslizadores articulares, un objetivo de herramienta arrastrable, superposiciones de marcos y controles de dimensiones de los eslabones, con la base centrada para que se vea el espacio de trabajo alcanzable completo de 360°. El modo directo calcula la pose de la herramienta a partir de los ángulos articulares que usted fija. El modo inverso sigue un objetivo que usted arrastra, resolviendo los ángulos articulares en vivo e informando de objetivos inalcanzables o ambiguos en vez de ajustarse en silencio a un resultado. Un tercer modo pick-and-place le deja colocar un punto de recogida y un destino, y luego hace que el brazo recorra la tarea entera: se mueve al objeto, lo agarra, lo transporta y lo suelta en la zona de depósito, el trabajo canónico para el que está construido todo manipulador real.

Teoría

Cada articulación aporta una transformación entre marcos de coordenadas. Multiplicar esas transformaciones desde la base hasta la herramienta da la pose de la cinemática directa. La cinemática inversa va hacia atrás y puede no tener solución, tener una, o tener varias.

Espacio de trabajo alcanzable de un brazo plano de dos eslabones. Una corona circular sombreada entre una circunferencia discontinua interior y otra exterior muestra todos los puntos a los que puede llegar la herramienta. Un único objetivo dentro de la corona se alcanza con dos configuraciones del brazo: una solución codo arriba y una solución codo abajo trazadas desde la misma base.
Un objetivo dentro de la corona alcanzable suele tener dos soluciones —codo arriba y codo abajo— mientras que los puntos fuera del radio exterior o dentro del radio interior no tienen ninguna. Descargar SVG

Cerca de una singularidad, un movimiento pequeño de la herramienta puede exigir un movimiento articular muy grande. Un planificador debe además respetar límites de posición, velocidad, aceleración, par y colisión. Solo la alcanceabilidad geométrica no hace segura una trayectoria.

Algoritmo

  1. Defina longitudes de eslabones, ejes articulares, transformaciones de origen y límites articulares.
  2. Calcule la cinemática directa para el estado articular actual.
  3. Compare la pose actual de la herramienta con el objetivo solicitado.
  4. Use un solucionador analítico o numérico para reducir el error de pose dentro de los límites.
  5. Descarte candidatos que colisionen o sean singulares, y seleccione una solución continua.
  6. Parametrice temporalmente la trayectoria y envíe consignas sincronizadas a los controladores articulares.

Código fuente

Un brazo plano de dos eslabones tiene un modelo directo compacto:

from math import cos, sin

def forward_kinematics(theta_1, theta_2, link_1, link_2):
    elbow = (link_1 * cos(theta_1), link_1 * sin(theta_1))
    tool = (
        elbow[0] + link_2 * cos(theta_1 + theta_2),
        elbow[1] + link_2 * sin(theta_1 + theta_2),
    )
    return elbow, tool

Para brazos físicos, valide toda trayectoria planificada en un entorno acotado y con detección de colisiones antes de habilitar la alimentación de los actuadores.

Suposiciones y diferencias con el hardware

El brazo es plano, con dos o tres articulaciones revolutas, eslabones perfectamente rígidos, respuesta de velocidad instantánea y sin gravedad, dinámica ni colisión: puede pasar de codo arriba a codo abajo sin límite de par. Los servos reales tienen límites de posición y de velocidad, holgura de engranajes, par limitado por corriente y flecha dependiente de la carga, y un brazo de 6 ejes además tiene que gestionar la orientación, las singularidades y el trabajo cerca de los límites articulares. Este laboratorio es donde aprende por qué un objetivo dentro de la corona puede tener dos soluciones y por qué un objetivo en su borde es singular, antes de añadir la dinámica que hace esas posturas difíciles de mantener.

Diagrama de circuito

Separe la alimentación de alta corriente de los actuadores de la alimentación de cómputo, manteniendo las señales de referencia y de seguridad que requiera el hardware elegido.

Diagrama de bloques de la arquitectura de control del brazo robótico. Un planificador o una pila de ROS 2 envía objetivos articulares a un controlador, que comanda servos inteligentes por un bus. La realimentación de posición articular vuelve de los servos al controlador, y una parada de emergencia corta la alimentación de los servos con independencia de la ruta de software.
El controlador cierra un lazo con realimentación articular, mientras la parada de emergencia retira la alimentación de los actuadores por su propia ruta, con independencia del software. Descargar SVG

Experimentos guiados

Arrastrar un objetivo por todas partes es la forma más rápida de construir intuición sobre cosas que son tediosas de demostrar sobre el papel y caras de descubrir en el hardware.

1. Hallar la forma del espacio de trabajo

Arrastre el objetivo lentamente hacia fuera hasta que el solucionador informe de inalcanzable, y después recorra ese borde entero alrededor. Ahora arrástrelo hacia dentro, hacia la base.

Con longitudes de eslabón desiguales encontrará dos bordes: un círculo exterior en L1 + L2 y otro interior en |L1 − L2|. El espacio de trabajo es una corona, no un disco, y hay un hueco en el centro que el brazo no puede alcanzar físicamente.

Eslabones Alcance exterior Hueco interior Forma
100 + 90 190 10 Corona con un hueco pequeño
100 + 50 150 50 Corona con un hueco grande
100 + 100 200 0 Un disco pleno: los eslabones iguales pueden plegarse sobre sí mismos

Esa última fila es un dato de diseño realmente útil: las longitudes de eslabón iguales eliminan la zona muerta por completo. Si su brazo tiene que trabajar cerca de su propia base, esa es la razón para elegirlas.

2. Ver cómo se fusionan las dos soluciones

Commute entre las ramas de codo arriba y de codo abajo en un objetivo cerca del centro del espacio de trabajo: dos posturas del brazo claramente distintas que alcanzan el mismo punto.

Ahora arrastre ese objetivo hacia fuera, hacia el borde. Las dos posturas convergen, y en la extensión total se convierten en la misma postura. Eso es una singularidad, y es donde el brazo pierde la capacidad de mover la herramienta en una dirección por mucho que hagan las articulaciones.

3. Sentir lo que cuesta una singularidad

Arrastre el objetivo a lo largo de una recta que pase cerca de la extensión total, despacio y con constancia. Mire los ángulos articulares en vez del brazo.

La herramienta se mueve a ritmo constante; las articulaciones no. Cerca del borde, un movimiento pequeño de la herramienta exige un movimiento articular enorme, así que una trayectoria cartesiana suave se convierte en un movimiento articular violento. En hardware eso es un servo pegándose contra su límite.

Mantenga las trayectorias planificadas dentro del 95 % del alcance máximo y esto deja de ser un problema.

4. Cruce un borde de rama y observe el salto

Ponga el solucionador en elegir siempre codo arriba, y luego arrastre el objetivo a través de una región donde esa rama se topa con un límite articular y el solucionador cambia. El brazo da un volteco por un movimiento grande, rápido y completamente no previsto.

Por eso el valor por defecto correcto es movimiento mínimo: elegir la rama más cercana a la pose actual, en vez de una rama fija. Un cambio de rama silencioso a mitad de trayectoria en hardware real es alarmante y además puede ser destructivo.

Qué debería observar

Acción Resultado esperado Si ve otra cosa
Objetivo más allá de L1 + L2 Un «inalcanzable» limpio Un NaN o una pose ajustada a la fuerza significa que el solucionador comprueba la alcanzabilidad demasiado tarde
Objetivo dentro de |L1 − L2| También inalcanzable Correcto: esto es el hueco, no un fallo
Objetivo detrás de la base Se alcanza correctamente Si se refleja, es atan en vez de atan2
Commutar la rama de codo La misma posición de herramienta, articulaciones distintas Ambas son válidas; elegir es decisión suya
Arrastrar hacia el borde Las velocidades articulares se disparan Esto es la singularidad
Ida y vuelta por FK y luego IK Vuelven los ángulos originales Un desajuste significa que la convención de signo u offset es inconsistente

Llevarlo al hardware

La geometría se traslada exactamente. Nada más lo hace, y esa brecha es donde un primer brazo gasta su tiempo:

Este laboratorio Un brazo real con servos
Las articulaciones van exactamente donde se manda El cero de un servo está donde se montó su horquilla; algunos giran al revés
Sin gravedad El hombro se hunde en la extensión, justo donde la precisión es peor
Sin backlash Varios grados de juego, que se cargan en cada inversión
Movimiento instantáneo Un salto comandado va a plena velocidad, con un pico de corriente
Longitudes de eslabón perfectas Mida entre los ejes articulares, no entre los bordes de las soportes
Par infinito Un SG90 al 58 % de su par de bloqueo no mantendrá la posición con precisión

Dos números demuestran el punto. Cuatro grados de juego en el hombro sobre un alcance de 190 mm son más de 13 mm en la pinza, más que cualquier error que introduzca la matemática. Y una longitud de eslabón medida 10 mm larga en un eslabón de 95 mm es un error sistemático del 10 % que ningún ajuste eliminará.

La consecuencia práctica es que la precisión en hardware viene de la calibración y de una dirección de aproximación consistente, no de una mejor cinemática. Acepte siempre un objetivo desde la misma dirección y el backlash se convierte en un offset repetible que puede restar. El solucionador completo, con todos los casos de fallo tratados, está en cinemática inversa para un brazo de dos eslabones.

Lista de hardware

Componentes

  • Brazo robótico de tres o más grados de libertad
  • Controlador con sincronización multieje
  • Servos inteligentes con retroalimentación articular
  • Base rígida y punto central de herramienta (TCP) calibrado
  • Parada de emergencia y fuente con limitación de corriente

Explora el grafo

Dónde se usa este simulador

Los proyectos, rutas de aprendizaje y tutoriales que se basan en este laboratorio.

Sigue construyendo

Descargar recursos

Usa estas referencias de la página mientras trabajas en el proyecto. Los paquetes descargables del proyecto se añadirán solo cuando se publiquen su código fuente y su versión.

Preguntas comunes

Preguntas frecuentes

¿Cuál es la diferencia entre cinemática directa e inversa?

La cinemática directa calcula la posición y orientación del efector final a partir de los ángulos articulares conocidos. La cinemática inversa parte de una pose espacial deseada para el efector y calcula los ángulos articulares necesarios para alcanzarla.

¿Por qué un brazo plano de 2 eslabones tiene dos soluciones (codo arriba y codo abajo)?

Para la mayoría de los puntos alcanzables, la articulación del codo puede flexionarse hacia ambos lados manteniendo el extremo en la misma coordenada cartesiana. Ambas configuraciones proceden del signo ± en el cálculo trigonométrico del teorema del coseno para el segundo ángulo, coincidiendo únicamente en los límites de singularidad.

¿Cómo se elige entre las configuraciones de codo arriba y codo abajo?

Selecciona la rama cinemática que resulte más segura y eficiente: aquella que mantenga las articulaciones alejadas de sus topes mecánicos, minimice el recorrido desde la pose actual o evite colisiones con obstáculos circundantes.

¿Qué es una singularidad en un manipulador robótico?

Es una configuración espacial donde el brazo pierde uno o más grados de libertad instantáneos (por ejemplo, en extensión completa o plegado total). En las inmediaciones de una singularidad, un desplazamiento cartesiano infinitesimal exige velocidades articulares que tienden a infinito.

¿En qué condiciones carece de solución la cinemática inversa?

Un objetivo cartesiano en un brazo plano de dos eslabones es alcanzable únicamente si se ubica dentro de la corona circular delimitada entre la diferencia de longitudes (|L1 - L2|) y su suma (L1 + L2). Puntos fuera de ese anillo o que demanden ángulos fuera de los límites de carrera carecen de solución físicamente posible.

¿Por qué emplear cinemática analítica en lugar de un resolvedor numérico?

En brazos planos de dos o tres eslabones existe solución analítica cerrada, permitiendo determinar las variables articulares de forma determinista, exacta e instantánea. Los resolvedores numéricos iterativos son necesarios en brazos redundantes o espaciales complejos, pero consumen más ciclos y pueden converger a mínimos locales.

Lecturas adicionales

Referencias

Fuentes autorizadas para profundizar más allá del modelo educativo acotado de este simulador.