Chapter 3: Research Methodology
3.3. The research process
El modelado de un sistema robotizado y su entorno implica representar los distintos objetos que aparecen en dicho sistema con distintos modelos, los cuales tendrán una mayor o menor precisión. Esto introduce el concepto de modelo jerárquico o árbol de ensamblaje [Mye81], [Fav86], [Qui94]. Además, debido a la naturaleza propia de los sistemas robotizados, para describirlos resulta conveniente utilizar una estructura jerárquica. En esta estructura se definen diferentes niveles: células, sistemas, sub- sistemas, elementos, ...
Las células son el nivel superior de la estructura, incluyendo robots con ejes externos, líneas de ensamblado, conjuntos robot/máquina-herramienta, etcétera, correspondiendo los siguientes niveles a brazos-robot, vehículos autoguiados, máquinas-herramienta, cintas transportadoras para el nivel sistema y finalmente los elementos del brazo-robot, componentes de máquinas-herramientas y vehículos autoguiados, etcétera para el nivel elemento. A partir de este nivel, pese a que los elementos son sistemas rígidos, se pueden definir otros niveles: los elementos se descomponen en bloques, éstos se forman con primitivas y éstas se definen (o se pueden aproximar) mediante caras planas u otras formas geométricas de representación.
Las células y los sistemas deben tener un modelo cinemático, basado en matrices de transformación homogénea y en los parámetros de Denavit-Hartenberg [D&H55], que se utiliza para determinar la posición y orientación de sus elementos. Para ello, se describen puntos característicos de cada elemento respecto a unos sistemas de referencia locales a los elementos. Estos sistemas de referencia, basados en la representación de Denavit-Hartenberg, se sitúan sobre los ejes de articulación que unen dos elementos. Las matrices anteriores son las que relacionan la posición y orientación de cada sistema de coordenadas local con el sistema previo, en función de la variable de esa articulación [Cra88].
Un sistema podrá ser modelado, por ejemplo, mediante una simple esfera que lo envuelva totalmente, pero parece claro que en determinadas aplicaciones este modelo resulta muy inexacto, por lo que se debe aumentar la calidad del modelo, representando el sistema mediante una bi-esfera. Evidentemente, la precisión se ha incrementado, pero, si se requiere mayor fidelidad en el modelo, hay que aumentar más la complejidad del volumen envolvente, utilizando esferoides o bien poli-esferas con más vértices esféricos. Por contra, utilizar envolventes más complejas cada vez, produce que los tiempos de procesamiento de las aplicaciones se incremente considerablemente. Por lo tanto, los volúmenes que sean excesivamente complejos pueden llegar a ser, en general, contraproducentes.
Sin embargo, podemos aumentar la calidad de la aproximación, modelando independientemente cada uno de los elementos que componen el sistema en cuestión, y además, también de un modo jerárquico. Así cada elemento puede ser envuelto a través de un esfera, una bi-esfera, una tri-esfera, etc.
En este modelado jerárquico, se contemplan todas las posibilidades anteriormente expuestas, es decir, modelado en los niveles célula, sistema, elemento, bloque y primitiva. La estructura jerárquica permite modelar varios objetos independientemente en un cierto nivel, o como una única entidad en el nivel superior. Por ejemplo, los elementos de un brazo-robot se pueden modelar independientemente en el nivel elemento o globalmente en el nivel sistema. Aunque es difícil de conseguir, siempre que sea posible, el volumen del modelo en un cierto nivel debe cotener al volumen de la unión de modelos usados en el nivel inferior. Para los objetos del nivel elemento, los volúmenes dependerán de la forma y las dimensiones de los objetos; para niveles superiores, además habrá que tener en cuenta la configuración en cada instante, obtenida mediante el modelo cinemático.
La topología de la estructura jerárquica se puede almacenar en un árbol cuya raíz será el nivel más alto, normalmente la célula, mientras que las hojas serán todas las primitivas que la forman. Los nodos intermedios representarán diferentes niveles de descomposición (sistemas, elementos, bloques, ...). La descomposición de un nodo en sub-nodos no tiene por que ser única, pudiendo haber diferentes formas de descomonerlo en paralelo. La aplicación de detección de colisiones que utilice este árbol será la encargada de seleccionar qué subdivisión escoger dinámicamente, no sólo según la configuración actual del nodo como hace [HC+92], sino considerando además otros nodos del mismo árbol o de otros árboles que sean los obstáculos. Para obtener un mayor rendimiento, se consideran niveles intermedios entre los niveles sistema y elemento, para permitir la agrupación de diferentes elementos en un sub-sistema.
Respecto al modelo geométrico con que se modela cada nodo, tradicionalmente se han utilizado los modelos poliédricos [Pas89], [Cam89], [Hub93]. Una estructura jerárquica extendida [TM+92], con diferentes grados de precisión, se puede formar utilizando poli- esferas (que incluyen a los modelos poliédricos) y esferoides. Esta estructura se puede generar automáticamente a partir de los modelos exactos del sistema robotizado, disponibles en la base de datos de un sistema CAD, mediante las técnicas presentadas para el cálculo de volúmenes esféricos envolventes. Cada modelo en un nivel dado se obtiene calculando el volumen del tipo considerado que envuelva todas las partes de este nivel. Un ejemplo de los modelos para un elemento herramienta con tres pinzas se muestra en la Figura 3.12.
Figura 3.12. Diferentes Grados de Precisión de Modelos Envolventes de un Elemento. En la gráfica se muestra un herramienta con tres pinzas modelada en dos
niveles: para el nivel superior se considera toda la herramienta con los grados de precisión esfera, bi-esfera, tri-esfera y tetra-esfera; para el nivel inferior, se muestran una descomposición con una pieza de sujeción (modelada con una bi-esfera) y las tres pinzas (izquierda a derecha con esferas, bi-esferas y tri-esferas) y otra descomposición con dos elementos de sujeción (modelados con bi-esferas) y las tres pinzas (modeladas con tri-esferas).
Para los niveles elemento, bloque y primitiva, este proceso se puede realizar off-line, obteniendo el modelo envolvente de mínimo volumen. Para estos niveles, los volúmenes esféricos más adecuados son las poli-esferas, cuyos vértices esféricos se expresan en función del sistema de coordenadas local del elemento correspondiente. La representación cinemática comentada anteriormente se utiliza para recalcular la nueva posición de los vértices esféricos cuando el robot se mueva. El nivel elemento no debe ser literalmente una descomposición en los elementos del robot, ya que puede interesar agrupar elementos muy cercanos en un único elemento, como suele ocurrir con la muñeca y la mano, incluida la herramienta, o con la base y el cuerpo. Lo mismo ocurre con las primitivas, pudiéndose modelar un grupo de primitivas con un único modelo envolvente.
Para el modelado en los niveles célula, sistema y sub-sistema, hay que tener en cuenta el hecho de que un cambio en la configuración del sistema hace que el modelo deba actualizarse, a menos que el sistema se modele previamente incluyendo todas sus posibles configuraciones, cosa que resultaría excesivamente costoso. Es en los niveles sistema y sub-sistema donde las esferoides aportan mayores ventajas.
Si bien en cada nivel se pueden aplicar todos los grados de precisión, esto puede ser contraproducente de cara a su aplicación en la detección de colisiones. Por ejemplo, modelar un elemento alargado como el antebrazo de un robot mediante una esfera produce un modelo envolvente con una distribución del error muy irregular, ya que la
distancia de los puntos extremos del elemento a la esfera es muy pequeña mientras que un punto intermedio está muy lejano de su envolvente. Esto puede producir que el módulo de detección de colisiones, al comprobar inicialmente la distancia de la envolvente a un objeto se crea que el elemento está muy cercano cuando está muy lejano o vicerversa. Por tanto, es conveniente eliminar aquellos modelos que no se acoplen bien a la forma de los elementos, y generar la estructura jerárquica extendida con sólo aquellos cuya forma se asemeje al elemento en cuestión. La misma solución se debe aplicar en cualquier otro nivel.
La Figura 3.13 muestra la topología, representada con un grafo AND-OR en forma de árbol, de la estructura jerárquica dinámica extendida generada para un brazo-robot industrial. Los modelos utilizados según diferentes grados de precisión para cada nodo se muestran en la Tabla 3.1, siendo el modelo más costoso de calcular, para los puntos característicos seleccionados, la poli-esfera de seis esferas de control de todo el robot, con un coste próximo a los 18ms. La utilización de esta estructura jerárquica dinámica extendida va a presentar claras ventajas en la detección de colisiones. Para ello, el módulo de detección de colisiones (sección 4.4) es el encargado de recorrer el árbol de forma correcta.
Aunque pueda parecer que la estructura jerárquica planteada sólo sirve para brazos- robot articulados, esto no es cierto: modelar un AGV es modelar un sistema que puede tener sus propios elementos articulados (torreta con cámara de visión, portapalets, etc). El modelo cinemático es el del propio AGV más el de estos elementos articulados. La situación inicial y el modelo exacto del que se parte son los propios del AGV.
El modelo jerárquico del mundo, también resuelve el modelado de los obstáculos, con el mismo nivel jerárquico que el dado en el modelado de robots. Por ejemplo, una mesa se modela globalmente a nivel sistema y mediante sus patas y el tablero superior a nivel elemento. Además, no existe distinción alguna sobre si los obstáculos son estáticos (cinemática nula) o dinámicos (aplicación de un modelo cinemático concreto).
Figura 3.13. Definición del Modelado Jerárquico de un Sistema Robotizado Industrial. En la gráfica se muestra una parte del árbol de definición del modelo
jerárquico de un brazo-robot (IRB1500 de ABB). La descomposición realizada es en los niveles sistema (raíz del árbol), sub-sistema, sub-sub-sistema y elemento, pudiéndose descomponer además en bloques y primitivas (hojas del árbol). En un nodo del árbol pueden surgir diferentes descomposiciones en paralelo, indicadas con diferentes inicios de flechas. Para cada nodo existen más de un modelo envolvente, según el grado de precisión deseado, tal como se indica en la Tabla 3.1.
Tabla 3.1. Modelos Esféricos Utilizados para el Modelado de los Nodos del Árbol de la Figura 3.13. Nodo del Árbol Puntos Totales Puntos Caract.
Modelos Utilizados según Grado de Precisón
886 122 Esfera Poli-Esfera (6)
618 82 Esferoide Cuadrática
Esferoide Cúbica Esferoide Spline 496 76 Bi-Esfera Tri-Esfera
316 58 Esferoide Cuadrática
Esferoide Spline Tri-Esfera 241 56 Bi-Esfera Tetra-Esfera
377 56 Esferoide Cuadrática
Bi-Esfera Tri-Esfera 268 66 Esfera Penta-Esfera
105 34 Esfera Bi-Esfera Tri-Esfera 204 56 Penta-Esfera 302 36 Esfera Tetra-Esfera 75 24 Bi-Esfera Tri-Esfera 119 34 Esfera Bi-Esfera 122 34 Bi-Esfera Tetra-Esfera 64 24 Esfera Tri-Esfera 41 28 Esfera Bi-Esfera 163 51 Penta-Esfera