• No se han encontrado resultados

ANEXO F MANUAL DE USUARIO

3. AMPLIACIÓN DE CAPACIDADES

3.2. C REAR UNA NUEVA PROBETA

Para añadir una nueva probeta al programa primero se deben cargar los datos de la misma. Es posible que tras agregar una nueva probeta tengamos que definir un nuevo tipo de superficie, el que se asigna a la probeta que estamos creando. Los pasos para agregar una nueva superficie se explican en el apartado 3.3.

En todo momento la variable nProbeta almacena el número de probeta con el que estamos trabajando. El valor de esta variable debe estar entre 1 y n, siendo n el número de elementos máximos que contienen las listas con la información de las probetas.

El primer valor que definiremos será el identificador de la probeta, se almacenará en la variable sProbeta. En el programa podemos ver que se han definido tres probetas diferentes, cada nombre está encerrado entre comillas y separados por comas. Los corchetes delimitan la lista.

PERS string sProbeta{3} := ["Probeta rectangular plana", "Probeta rectangular curva", "Turbina 1"];

Se debe destacar que en la definición de la variable se debe indicar el número de elementos que contiene la lista ({3}), por lo que si se agrega un nuevo valor, se debe modificar este valor en la definición. La modificación del número de elementos de la lista es algo que nos encontraremos en todas las listas que tengamos que modificar. Si no se realiza se producirá un error en la ejecución del programa.

Posteriormente definimos una lista con la ubicación de la probeta respecto de la herramienta que la sujeta (pObjPos). Se deberá indicar la ubicación del origen de coordenadas de la probeta [X,Y,Z] expresado en mm así como su orientación

[Q1,Q2,Q3,Q4].

En este punto debemos indicar que se ha supuesto que una probeta específica solo puede ser sujetada por un adaptador. Si disponemos de varios adaptadores que

sujetan la misma probeta y tenemos valores de posicionamiento diferentes para cada uno de estos adaptadores, se deberá crear una probeta por cada uno de los datos de posicionamiento que tengamos.

PERS pose pObjPos{3} := [[[0,0,0],[1,0,0,0]], [[0,0,0],[1,0,0,0]], [[0,0,0],[1,0,0,0]]];

En este caso la posición inicial de todas las probetas coincide tanto en posición como en orientación con el TCP del adaptador que las sujeta.

Figura F.3.31. Definición de una probeta con dos orígenes de coordenadas distintos

Estos valores son indicados respecto del TCP del adaptador que sujeta la probeta y dependen de donde se encuentre la posición del origen de coordenadas al dibujar la pieza y la ubicación de la misma respecto del TCP del adaptador.

Por ejemplo, para que la probeta de la izquierda de la Figura F.3.31 se ubicara en el TCP del adaptador mostrado en la Figura F.3.32, su origen se situaría en el [0,0,0] y su orientación sería [1,0,0,0] ya que coincidiría con el TCP (el TCP de unión con la probeta está ubicado en la parte inferior de la pieza, las de la parte superior serían el origen de coordenadas y es donde el adaptador se uniría al TCP de la muñeca del robot) .

Sin embargo, para que la probeta de la derecha de la Figura F.3.31 se situara en la misma posición, su origen estaría en el [15,0,0] (asumiendo que la probeta tiene 30 mm de altura), manteniendo igualmente su orientación respecto al TCP del adaptador.

La siguiente información a proporcionar son los datos de carga de la probeta. Esta información se almacena en la variable lProbeta. En esta variable se almacena el peso expresado en Kg, su centro de gravedad ([X,Y,Z]) expresados en mm, los ejes de inercia del adaptador ([Q1,Q2,Q3,Q4]) y los momentos de inercia respecto de los ejes iX, iY y iZ expresados en Kgm2.

PERS loaddata lProbeta{3} := [[0.068,[3,15,0],[1,0,0,0],0,0,0], [0.068,[3,15,0],[1,0,0,0],0,0,0], [0.2194,[14.90829,-0.0035,-0.00161], [0.2394,0.6653,-0.2393,0.6654],

0.000122,0.000122,0.000156]];

Posteriormente definiremos las dimensiones de las probetas en la variable

pDimensiones. Todas las dimensiones son expresadas en mm. Las dimensiones

corresponden a las dimensiones longitud, anchura y altura5. PERS pos pDimensiones{3} := [[6,48,30], [6,48,30],

[0,104.9,104.9]];

Llama la atención que en las dos primeras probetas definidas en el programa se indica una altura (6 mm), sin embargo, en la tercera probeta definida no existe ninguna altura (0 mm). Esta altura no es la altura real de la probeta, sino la altura a la que establecemos la referencia para la superficie. Esto se verá con mayor profundidad en el apartado 3.3, cuando definamos una nueva superficie.

La siguiente información es el tipo de superficie que tiene la probeta, para ello se utiliza la variable nTipoSup. Su valor en un número que definirá el tipo de superficie. Este valor estará entre 1 y el número máximo de superficies que tengamos definidas. PERS num nTiposSup{3} := [1,

2, 3];

La siguiente variable, bCentrarProbeta, nos indica si durante la ejecución debemos centrar el cursor en la probeta.

PERS bool bCentrarProbeta{3}:= [true, true, false];

Esta situación puede darse por ejemplo cuando definimos el origen de coordenadas de la probeta en un lateral del mismo, sin embargo, todas las ecuaciones de la

5 Se debe tener cuidado con estos términos, las información se refleja por la dimensión a lo

largo de los ejes X, Y y Z tomando como origen de coordenadas el utilizado en el dibujo de la probeta.

realización de los dibujos son programadas para ejecutarse desde el centro de la probeta.

Utilizando el ejemplo que teníamos anteriormente en la Figura F.3.31, en la probeta de la izquierda deberíamos indicar que se centre la probeta poniendo su valor en

true, sin embargo, en la probeta de la derecha no hace falta el centrado ya que la

probeta está centrada por lo que pondríamos el valor false en esta variable.

La siguiente variable, bDosPuntos, nos indica sí debemos utilizar un segundo punto cuando establezcamos el centro de la probeta, esto nos permite orientar la probeta. PERS bool bDosPuntos{3} := [false,

false, true];

Es importante que el segundo punto sea un punto físico de la probeta, el uso de puntos aproximados introduce errores en el movimiento del robot.

Por último, en la variable pLimiteCalibracion, almacenaremos el número de calibraciones que se soportan por pieza. La información se almacena como número de calibraciones totales, calibraciones verticales (eje Z) y calibraciones horizontales (eje Y).

PERS pos pLimiteCalibracion{3} := [[15,3,5], [15,3,5], [0,0,0]];

Si la probeta no soporta calibraciones se establecerá el valor a 0 en todos sus campos.