Para realizar el análisis geométrico del robot UR5 de 6 GDL, partimos de recopilar la información necesaria del fabricante para el desarrollo del modelo. Desde la página de Universal Robots se dispone de la guía de usuario (Universal Robots e-Series User Manual – UR5e)en donde se especifica la posición de HOME del robot para el respectivo análisis, además se obtiene el plano esquemático con las dimensiones de cada uno de los eslabones (en mm) y el modelo CAD para esta referencia.

Dimen

A partir de las dimensiones reales del manipulador, se realiza el análisis geométrico directo con el método DH modificado :

DH1

Con el cual se obtiene la tabla de parámetros:

T1

y la respectiva trama de la herramienta.

TCP
  • Resultado optenido al construir el modelo de alambres con las funciones de RVC (Toolbox Peter Corke):
CDRVC.png
  • Resultado optenido al construir el modelo de alambres con las funciones de RST (Toolbox Robotics Systems Toolbox):
CDRST.png
  • Comparación de los dos métodos:

Debido al trabajo realizado a lo largo de la asignatura, estamos bastante familiarizados con el uso de la RVC (Toolbox de Peter Corke). Para este método, basta con ingresar los parámetros obtenidos para la convención de Denavit-Hartenberg modificada para la creación de cada uno de los Link que conforman el robot, a diferencia del método de RST (Robotics Systems Toolbox de MATLAB®) en el cual se crean cada uno de los cuerpos rígidos que corresponden a los eslabones y las articulaciones con que interactúan, asociando cada par articulación/eslabón de forma independiente, y vinculando la transformación de cada sistema.

Aunque a primera vista RVC es más fácil a la hora de construir la geometría del robot, RST es mucho más flexible, dado que permite ingresar las transformaciones directamente por medio de la MTH, o construirla por partes con los vectores de traslación o las rotaciones alrededor de un vector, por tanto no se limita a la convención de Denavit Hartenberg estándar y modificada como sí es el caso de RVC. Para el caso particular de este ejemplo, no fue un trabajo adicional ingresar las transformaciones para RST a partir de los parámetros ya obtenidos, logrando que ambos modelos coincidan totalmente en las posiciones y orientaciones de los sistemas de coordenadas.

  • Con la hoja técnica del robot, el fabricante provee puntos de calibración. Con la ayuda de la cinemática directa verifique dichos puntos:

Para el caso del robot asignado, la guía de usuario no provee mayor información respecto a puntos de calibración dado que la misma se realiza por medio de un software diseñado exclusivamente para ese propósito, motivo por el cuál procedemos a realizar la validación del punto del TCP en la configuración de HOME con la cinemática directa por ambos métodos (RVC y RST), confirmando que coinciden exactamente como es lo esperado.

CDRVCC.png
CDRSTC.png

MODELO GEOMÉTRICO DIRECTO

  • Halle el modelo geométrico directo de su robot asignado usando MTH.

El modelo geométrico se encontró en la sección anterior por medio de la RVC (Toolbox de Peter Corke), obteniendo las matrices de transformación para cada marco de referencia asignado. Para encontrar la MTH del efector final respecto a la base o MTH_0T6 (equivalente a la TCP obtenida por RVC) se debe seguir la ecuación de lazo, multiplicando cada una de las matrices:

MGRVC.png
  • Haciendo uso del modelo cinemático directo obtenga los valores de posición y de orientación en coordenadas generalizadas del efector final de su robot asignado para los siguientes valores articulares:
cgef.png
  • Haga uso de las funciones de cinemática directa de ambos toolboxes y compruebe los resultados anteriores.

A continuación, empleamos ambos métodos (RVC y RST) para evaluar cada uno de los vectores de configuración q dados por medio de la cinemática directa y así poder comparar la posición en coordenadas cartesianas y la orientación en ángulos RPY.

RVC1.png
RVC2.png
RST1.png
RST2.png
  • Comparación de los metodos:

Los dos métodos para el cálculo numérico de la cinemática directa están determinados por el uso de una única función para cada caso: fkine() (en RVC, Toolbox de Peter Corke) y getTransform() (en RST, Robotics Systems Toolbox de MATLAB®). En ambas funciones se requieren como parámetros básicos un robot (tipo SerialLink en RVC y tipo rigidBodyTree en RST) y un vector q de configuraciones de articulación. Sin embargo, para obtener una posición en coordenadas cartesianas y una orientación en ángulos fijos, el método de RVC resulta ser más práctico, esto dado que la cantidad de funciones y métodos disponibles para esta Toolbox es más amplia que en RST, para la cuál se requieren algunas líneas de código adicionales para realizar las transformaciones de coordenadas necesarias.

En cuanto a los resultados aplicando la cinemática directa, todas las coordenadas de posición y orientación obtenidas por ambos métodos coinciden, esto se debe a que ambos mecanismos se construyeron basados en el diagrama del análisis geométrico y la ubicación de los sistemas coordenados por Denavit-Hartenberg modificado obtenido en un numeral anterior, por tanto las articulaciones rotacionales de ambos robots girarán en el mismo sentido y las coordenadas del efector final serán por tanto iguales.

Elija uno de los métodos anteriormente usados y desarrolle una GUI que permita mover cada articulación mediante controles tipo Slider, visualizar el robot y la posición del efector final.

Dado que a lo largo del semestre hemos trabajado con las funciones de RVC (Toolbox de Peter Corke), y el cuál ya dispone de una interfaz gráfica de usuario predeterminada (Robot.teach(q)) optamos por realizar la GUI utilizando la RST (Robotics Systems Toolbox de MATLAB®), para lo cual se utilizó el código del robot construido paso a paso en la sección anterior y se agregó además el aspecto visual asociando los archivos de malla (.stl) para cada uno de los respectivos body, obteniendo así gráficos más realistas del modelo del robot asignado.

Para este caso, se empleó la herramienta AppDesigner de MATLAB®, un entorno de desarrollo interactivo para el diseño y programación de una aplicación que integra el editor de MATLAB® y un conjunto de diversos componentes interactivos de la IU (Interfaz de Usuario) como buttons, sliders, drop-down lists, trees, entre muchos otros.

API1.png

En el informe incluya capturas de pantalla verificando las posiciones EF y las articulaciones.

API2.png
API3.png
API4.png
API5.png