Denavit HartenBerg Robot Arm

 

Para crear un brazo robótico hay que definir unos parámetros que se inventó un  señor muy inteligente llamado Denavit-Hartenberg. Estos parámetros no son un simple invento sino que tienen su razón de ser y que explican muy bien en Wikipedia y son los más utilizados en robótica para diseñar eslabones en serie unidos por articulaciones.

images

Explicaremos detalladamente en qué consiste la definición de estos parámetros, cómo funcionan y desarrollan los movimientos que requerimos en el siguiente post “Referencias Denavit-Hartenberg“.

Para comenzar hay que entender que este convenio para definir parámetros es una simplificación de la descripción cinemática de un sistema en el que intervienen una serie de articulaciones.
Supongamos un brazo que puede girar el hombro y el codo hasta la muñeca. Pues para mover la muñeca hasta una posición indicada es evidente que hay que mover las articulaciones anteriores desde el hombro que ha de levantar el codo y finalmente nuestra mano para poder saludar al vecino. A esto se le llama cinemática directa ya que existe una jerarquía de movimientos en la que el padre dominante es el hombro, y el codo y la muñeca sus hijas. Y de la misma manera el codo es padre de la muñeca.

Si intentáramos mover el hombro con un simple giro de muñeca sería algo impresionante.

 

En fin, esta cinemática está gobernada por la denominada composición de movimientos que de forma simple permite conocer como se mueve un punto B (codo) de nuestro brazo, conociendo el movimiento de otro punto A (hombro) y la relación de giro o traslación que hay entre ellos. De esta manera, si sabemos como se mueve el punto B (codo) que pertenece a otro eslabón (en este caso el antebrazo), podremos saber, como se mueve el punto C que es nuestra muñeca.

Pues con este ejemplo se puede aplicar la misma transformación a otro diseño de brazo y de manera sucesiva se pueden conocer todas las variables cinemáticas para ir más allá en robótica.

La mecánica clásica establece una serie de ecuaciones en la que se considera una referencia fija; en nuestro caso el hombro si suponemos que estamos parados; y otra referencia móvil que son las articulaciones siguientes. Por ello, hay que diseñar una serie de referencias con sus ejes (x,y,z) en cada articulación y siguiendo las instrucciones que indica el convenio de Denavit-Hartenberg, definir 4 parámetros que las relacionan.

Antes de que os aburráis de leer la explicación tediosa de lo que ocurre conceptualmente podéis visualizar este video que hace una introducción gráfica de cómo se aplica la definición de referencias y los parámetros de Denavit-Hartenberg.


Las articulaciones pueden ser rotacionales o prismáticas, osea que giran o se trasladan en una dirección. Y cada una de estas articulaciones sea del tipo que sea provee al sistema de un grado de libertad adicional. Y es recomendable no superar los 6 grados de libertad si se es inexperto, de esto ya hablaremos más adelante…

Podríamos utilizar otra manera de describir nuestro brazo, pero tendríamos un conjunto de ecuaciones incomestibles que para manipular puede resultar harto complicado.

El secreto de este método reside en el uso de matrices de transformación que son una definición unificada de una matriz del giro (3×3) y un vector de traslación (3×1), mientras que las ecuaciones de la mecánica habitual manipula estas componentes por separado. De esta manera simplificamos el problema y cuyos resultado podemos ver a continuación.

Una de las mejores maneras de entender cómo funciona este mundo de matrices de transformación es ver este tutorial de Udacity, que es el tema 4 de un curso interesante sobre gráficos 3D y es muy recomendable. Para que veáis que tiene mucha más aplicación que la robótica.

 

Para verlo expondremos un ejemplo aplicado y al final lo podremos ver representado en una escena en donde podremos visualizar sus movimientos.

Los pasos a seguir son:

  1. Elección de referencias para cada articulación.
  2. Obtención de los parámetros de Denavit-Hartenberg.
  3. Crear una tabla e introducción de datos en el modo de visualización.
  4. Introducir giros para establecer la posición inicial.

El ejemplo es un robot Puma 560, (Programmable Universal Machine for Assembly, or Programmable Universal Manipulation Arm), desarrollado por General Motors y que es uno de los brazos robóticos más utilizados en el mundo académico. Hay que decir que ya es bastante viejo.

PUMA

Este manipulador tiene 5 grados de libertad, que son 5 articulaciones rotacionales indicadas en la figura. La primera es de rotación sobre la base para girar todo el brazo. Las dos siguientes se encuentran sobre los brazos como giro de flexión-extensión a modo de hombro y codo. Y las dos últimas se encuentran alojadas en el efector final (que es el lugar que corresponde a la muñeca).

  1. Elección de referencias para cada articulación.

Comenzamos estableciendo una base fija o eslabón 0 que será la base desde la que se mueve nuestro sistema. Lo normal es escoger el eje z_0 en la vertical y los otros dos (x_0, y_0) perpendiculares entre ellos.

El resto de ejes z se dispondrán en la dirección de giro de cada articulación, como aparece en la siguiente figura.

ejemplo-d-h-puma-560-paso-a-paso-4-638

El resultado se puede visualizar en el siguiente Link.

Leave a Reply

Your email address will not be published. Required fields are marked *

4 × 4 =

This site uses Akismet to reduce spam. Learn how your comment data is processed.