Obtención de una trayectoria espiral para mecanizar con

Anuncio
Asociación Española de
Ingeniería Mecánica
XVIII CONGRESO NACIONAL
DE INGENIERÍA MECÁNICA
Obtención de una trayectoria espiral para mecanizar con
herramienta esférica superficies STL partiendo de su contorno
J.L. Huertas, J.J. Marín, L. Berges, M. Vidal
Departamento de Ingeniería de Diseño y Fabricación. Centro Politécnico Superior de Ingenieros. Universidad de Zaragoza
[email protected]
F. Valdivia
Centro Integrado de Formación Profesional “Corona de Aragón”
Resumen
Para mecanizar una superficie arbitraria se han ideado diversos modelos en los que la herramienta debe
retirarse de la pieza con los consiguientes problemas de alejamiento y acercamiento como son las marcas de
mecanizado no deseadas o el tener que programar trayectorias adicionales de tipo tangencial con la
consiguiente pérdida de tiempo. La realización de trayectorias de mecanizado espirales evita los problemas
anteriores, permitiendo un mecanizado continuo de la pieza y eliminado trayectorias de alejamiento y
acercamiento.
INTRODUCCIÓN
Diversos autores [1] han tratado el tema del mecanizado de superficies, algunos lo han aplicado al fresado de
diversas zonas del zapato [2] incluida la planta [3], también, recientemente, se viene publicando sobre los errores
obtenidos en el mecanizado de superficies mediante fresa de punta esférica [4]. También hay numerosa
bibliografía sobre superficies y su mecanizado, especialmente merece citar la parametrización de las mismas
mediante NURBS [5]. Pero en el caso que nos ocupa se van a mecanizar superficies en formato STL [6]
METODOLOGÍA
Partiendo de las superficies STL, que no encierren un volumen y que toda su cara exterior posea los vectores
directores con componente z positiva, figura 1, se realiza su lectura de un fichero en formato binario [6], Tras
esta lectura se utiliza un método de almacenamiento en memoria basado en vectores [7] en orden a optimizar el
tiempo de proceso y la cantidad de información en memoria.
Fig. 1. Ejemplo de superficie STL.
J.L. Huertas et al. / XVIII Congreso Nacional de Ingeniería Mecánica (2010)
2
Posteriormente, se han de realizar una serie de operaciones con el fin de optimizar la fase de mecanizado:
1. Obtención del contorno.
2. Obtención de la trayectoria de mecanizado. Transformación a espiral.
3. Aplicación de algoritmos para suavizar el perfil.
4. Proyección de los puntos de la trayectoria sobre la superficie.
5. Cálculo de la trayectoria x, y, z final.
OBTENCIÓN DEL CONTORNO DE LA SUPERFICIE
Este proceso es de suma importancia, pues en él está basado el desarrollo posterior, como es el cálculo de las
sendas de mecanizado y el corte final para extraer, si es preciso, la superficie de la preforma inicial.
En principio, aunque existen otras variantes, se parte del hecho de que un lado del borde solamente pertenece a
un triángulo, mientras que los lados interiores pertenecen a dos o más triángulos, figura 2. Para su obtención se
ha implementado un algoritmo que facilita la polilínea final.
Triángulo i
Lado i1, i2, i3
Triángulo
j i
Lado j1, j2, j3
lado ik  lado jl
no
si
Lado del contorno
Siguiente j
lado  2  no contorno
Almacena lado ik como borde
Siguiente i
Fig. 2. Condición de un lado para ser contorno.
Por último, se elige como inicio de la polilínea obtenida el punto más significativo de los extremos de los
segmentos que forman la polilínea, según un determinado criterio, como pueden ser:
-
El punto con la coordenada x más a la izquierda.
-
El punto más próximo a una dirección y sentido determinado (dado por un vector unitario
cos  , cos  , cos   .
-
Cualquier criterio que permita obtener un punto único.
En el caso que nos ocupa se a elegido el punto con la componente x ó abcisa de menor valor (el más a la
izquierda al observar una fresadora).
La última parte de esta fase es la ordenación, a partir del punto elegido como inicial, de todos los puntos según
un sentido de recorrido que interese.
OBTENCIÓN DE LA TRAYECTORIA ESPIRAL
El algoritmo para realizar las pasadas de contorneado para el fresado parte del perfil exterior o contorno de la
superficie, que se considera el primer perfil. El objetivo es calcular los siguientes perfiles para ir eliminando el
material de fuera hacia adentre (aunque, posteriormente es posible una reordenación para alterar el orden de
mecanizado).
Obtención de una trayectoria espiral para mecanizar con herramienta esférica superficies STL
3
Las pasadas de mecanizado, inicialmente, son perfiles “paralelos” que se obtienen como muestra la figura 3
desplazando cada punto hacia el interior del perfil una cantidad en la dirección del eje OX y otra en la dirección
del eje OY. Algo así como si se realizara una escala, pero variable en cada dirección. El dato de entrada es la
distancia p que hay entre puntos homólogos, pero medida en una cierta dirección que depende de la posición del
punto.
Perfil inicial 1
ymáxi
II
I
Perfiles sucesivos: 2, 3, …
xmáxi
c.g.
xmíni
IV
III
p
ymíni
Fig. 3. Obtención de perfiles previos al espiral.
La posición del punto se clasifica por cuadrantes originados por un sistema de coordenadas. Este sistema de
coordenadas puede ser elegido en función de diversos parámetros. Se ha tomado como origen el centro de
gravedad de la serie de puntos iniciales:
xcg 
 xi
ycg 
 yi
(1)
n
n
Este sistema de coordenadas clasifica el plano en cuadro cuadrantes (I, II, III y IV). Para clasificar cada punto
simplemente se realiza su diferencia respecto del c.g. A cada punto se le aplica un desplazamiento (en realidad se
multiplican sus coordenadas por una escala). Se tienen en cuenta las distancias de dicho punto a cada eje
coordenado. Por ejemplo:
- Si el punto está en el primer cuadrante, las escalas en la dirección OX y OY, en función de unos determinados
pasos, px y py, en cada dirección, que más adelante se comentan, son:


px

e x  1 

x máx  x c. g .  




py

e y  1 

y máx  y c.g . 


(2)
Con lo anterior es posible calcular las coordenadas del punto transformado en el sistema de coordenadas
universal elegido.
J.L. Huertas et al. / XVIII Congreso Nacional de Ingeniería Mecánica (2010)


4


x p  xi  x cg e x  x cg 

y p  y i  y cg e y  y cg 
(3)
En esta ocasión los pasos en x e y px y py toman el mismo valor, dado por la expresión que se obtiene de la figura
4 en función del radio de la herramienta esférica y de la cresta de rugosidad f si supuestamente el fresado fuera
en el plano horizontal:
r
r-f
f
p/2
p
Fig. 4. Obtención de perfiles previos al espiral.
2
 p
r 2  r  f 2     p  2 r 2  r  f 2
2
(4)
El proceso es repetido para cada nuevo perfil, pero tomando como valores máximos los correspondientes al
perfil anterior.
Por último observar que los puntos que cambien de cuadrante respecto del inicial de la capa del primer contorno
debido a la transformación anterior no podrán hacerlo, para lo que se utiliza un filtro, que no es más que verificar
si el punto cambia de cuadrante y cambiar o eliminar dicha coordenada.
Para transformar los anteriores puntos a una espiral el procedimiento consiste en ir operando con los puntos
homólogos de un perfil de los obtenidos anteriormente y el siguiente perfil, teniendo en cuenta que inicialmente
todos los perfiles tienen el mismo número de puntos:

xi  xi , perfil 1  xi , perfil  xi , perfil 1
 ni
(5)
El resultado obtenido se muestra en la figura 5. Como altura de cresta de rugosidad se ha tomado un valor basto
para obtener pocos perfiles y así poder ejemplificar el proceso. El contorno forma parte de la trayectoria para
calcular el primer o último corte, según se inicie de dentro hacia fuera o viceversa.
Contorno (rojo)
Trayectoria espiral (negro)
Fig. 5. Trayectoria espiral 2D.
ALGORITMOS PARA SUAVIZAR EL PERFIL
Estos algoritmos tienen una doble intención. Por un lado, caso de que el perfil sea demasiado abrupto se realiza
Obtención de una trayectoria espiral para mecanizar con herramienta esférica superficies STL
5
un suavizado del mismo, figura 6. El criterio puede ser muy variado, desde realizar la media de puntos próximos
a aplicar criterios como el del coseno [8].
Fig. 6. Suavizado de un perfil.
Una vez realizado el suavizado, según la precisión de la malla STL puede ser preciso añadir puntos intermedios.
Ello se realiza en función de un paso o precisión de interpolación en la dirección de la propia espiral desde un
punto al siguiente en el sentido de recorrido. Así, entre dos puntos iniciales se puede añadir uno o más puntos
intermedios, figura 7.
Puntos añadidos
Fig. 7. Puntos adicionales para mejorar la precisión.
A esta nueva trayectoria con más puntos también se le pueden aplicar de nuevo los algoritmos para su suavizado.
PROYECCIÓN DE LOS PUNTOS DE LA TRAYECTORIA SOBRE LA SUPERFICIE
Con la trayectoria espiral anteriormente obtenida se pasa a la trayectoria 3D proyectando los puntos anteriores
sobre la superficie STL, pero teniendo en consideración la dimensión de la herramienta.
La dimensión de la herramienta es sumamente importante. Con herramientas de gran diámetro se pueden realizar
menos pasadas, como indica la expresión (4), pero tiene por el contrario el inconveniente de que el menor radio
de curvatura que se puede obtener es el de dicha herramienta, pudiendo quedar huecos sin mecanizar, figura 8.
Fig. 8. Radio de la herramienta y curvatura de la superficie para una sección
En este juego entre la elección del radio de la herramienta y el radio de curvatura de la superficie, se deben
determinar la coordenada z del punto de contacto de la herramienta con la superficie de la pieza. Este punto no es
J.L. Huertas et al. / XVIII Congreso Nacional de Ingeniería Mecánica (2010)
6
necesariamente la proyección de las coordenadas (x, y) sobre la superficie pues, debido a la curvatura de la
misma la herramienta puede contactar en otra coordenada,
La proyección sobre la superficie STL se realiza una vez conocido el triángulo que contiene las coordenadas (x,
y). Para no verificar todos los triángulos, se realiza una clasificación por zonas, figura 9, de forma que el
algoritmo resultante resulta más rápido ya que, una vez que el punto (x, y) se asigna a una zona, solamente hay
que trabajar con los triángulos de la zona averiguar qué triángulo contiene la proyección del punto (x, y).
Lado celda=radio herramienta
Fig. 9. Clasificación por zonas mediante una rejilla
El número de cuadrículas es, según las direcciones x e y:
 máximox  mínimo x 
nx  redondeosuperior 

radiohta


 máximo y  mínimo y 
n y  redondeosuperior 

radiohta


(6)
Saber la zona en la que se encuentra el punto (x, y) a proyectar se aplica:
 x  mínimo x
zona x  parte entera
 radrio hta



 y  mínimo y
zona y  parte entera
 radrio hta




(6)
Una vez se tiene un triángulo lo primero es comprobar si el punto está contenido en él. Un triángulo está
compuesto por tres puntos (vértices) que agrupados de dos en dos se obtienen tres rectas (lados). Hay que mirar
lado a lado y ver que el punto que queremos comprobar y el tercer punto del triángulo está en el mismo lado de
la recta, es decir, tienen el mismo signo al sustituir su valor en la ecuación normal de la recta. En la siguiente
figura 10 se observa como tanto el punto P como Q cumplen esta condición para el primer lado, pero al
comprobar el siguiente lado P queda fuera del triángulo.
Fig. 9. Pertenencia de un punto a un triángulo
 ax p  by p  c 

Lado  signo


a2  b2 

(7)
Para obtener la proyección del punto sobre el triángulo en cuestión, puesto que se conoce el vector director del
plano, lo mejor es utilizar la ecuación normal:
x cos   y cos   z cos   q
(8)
Obtención de una trayectoria espiral para mecanizar con herramienta esférica superficies STL
7
El valor del parámetro q se obtiene sustituyendo un vértice, por ejemplo el primero (según la matriz utilizada):
q  x0 cos   y0 cos   z0 cos 
(9)
Ahora se puede obtener la coordenada z del punto de proyección:
zP 
x0 cos   y0 cos   z0 cos   xC cos   yC cos 
cos 
(10)
Puede observarse que cuando el plano es vertical, cos=0, no hay proyección.
CÁLCULO DE LA TRAYECTORIA x, y, z FINAL
El punto que se debe programar es la punta de la herramienta. La distancia del centro de la esfera de la punta de
la herramienta al plano al que pertenece un triángulo uno de cuyos vértices sea (x0, y0, z0) es:
d  xc cos   yc cos   zc cos   x0 cos   y0 cos   z0 cos  
(11)
S
r
T
r
P
Fig. 10. Coordenadas del centro S y de la punta P de la herramienta. Punto de tangencia T.
Si la situación fuera la de la figura 10, entonces la coordenada z del centro de la herramienta es fácil de obtener
sustituyendo el radio de la herramienta en (11), pues la esfera de la punta se deja tangente al triángulo, haciendo
que la distancia sea el radio de la herramienta:
zS 
r  xc cos   yc cos   xi 0 cos   yi 0 cos   zi 0 cos 
cos 
(12)
Con lo que las coordenadas de la punta de la herramienta son:
xP  xC
y P  yC
(13)
z P  zC  r
Sin embargo el caso de la figura 10, en el que el punto de tangencia queda dentro de un triángulo, no es el más
habitual, por lo que hay que emplear otros criterios [4] para obtener la coordenada z de la punta de la herramienta
En la figura 11 se representa una serie de casos que pueden presentarse. En lo que sigue solamente se va ha
desarrollar uno de ellos en los que la posición de la punta de la herramienta debe ser corregida desplazándola
verticalmente.
J.L. Huertas et al. / XVIII Congreso Nacional de Ingeniería Mecánica (2010)
8
Fig. 11. Diversas posibilidades de posición relativa de la esfera con los triángulos de sus zonas de influencia
Dirección vertical de desplazamiento para corregir la posición
Caso de estudio (muestra).- Si el punto que une el centro de la esfera con el plano (menor distancia,
perpendicular) queda dentro del triángulo: existe corte. Una vez supervisado el caso A, se debe analizar esta
nueva posibilidad. El caso extremo es cuando este punto quede dentro del triángulo y el plano sea tangente a la
esfera, siendo esta condición límite la corrección a conseguir.
E
S
Q
P
Fig. 11. Un caso de estudio para corregir el la posición del centro de la herramienta.
La herramienta se debe desplazar verticalmente la distancia SE. Ahora la condición es que la distancia del plano
del triángulo al centro de la herramienta pase a ser el radio de ésta y, además, el centro se mantenga sobre la
misma vertical. Como antes, ello obliga a que las coordenadas x e y del punto E sean las mismas que las del
punto S (xE=xS, yE=yS), luego solamente queda averiguar la coordenada zE.
Para esto último lo más aconsejable es aplicar la ecuación (11) al triángulo i en estudio con la condición de que
dicha distancia sea el radio de la herramienta:
r  xS cos   y S cos   z E cos   xi 0 cos   yi 0 cos   zi 0 cos  
zE 
r  xS cos   yS cos   xi 0 cos   yi 0 cos   zi 0 cos 
cos 
Obtención de una trayectoria espiral para mecanizar con herramienta esférica superficies STL
9
En la anterior ecuación, (xi0, yi0, zi0) es el primer vértice del triángulo, como se ve en la ecuación (11).
Debe observarse que esta ecuación carece de solución cuando cos=0, o sea, el triángulo en estudio está en un
plano vertical. Ello es lógico, y da píe a analizar más detenidamente la solución.
En este caso, además no existiría la proyección P. Es decir, cuando hubiera un plano vertical el problema debe
estudiarse de otra forma, lo cual no es el caso que nos ocupa; pues todos los planos que contienen los triángulos
no están en planos verticales para la superficie que se trata. No obstante, esto último podría dar lugar al caso A o
al C.
Siguiendo con el caso en estudio, en efecto, en realidad puede darse la situación de que zE tenga tal valor que el
punto Q salga del triángulo. Por lo tanto, si el desplazamiento calculado con la expresión anterior da lugar a que
el punto Q quede fuera del triángulo se debería calcular el desplazamiento máximo de E que hace que Q salga
del triángulo, si este desplazamiento máximo es mayor que el anteriormente calculado dicho cálculo está bien, en
caso contrario el desplazamiento será el máximo para que Q no salga del triángulo.
A medida que E asciende también lo hace Q siguiendo una línea PQ sobre el plano del triángulo (pero, podría ser
que E esté tan alto que Q ya esté fuera, con lo que el E’ que se va a calcular quedaría debajo de E). Esta línea,
como cualquiera otra que se trace desde un punto interior a un triángulo, corta a dos lados (podría darse el caso
extremo de que pase por un vértice).
El punto de corte se puede calcular resolviendo el sistema de esta recta que pasa por P y tiene por vector director
PQ con los tres lados del triángulo. El punto de corte debe estar entre medias de los dos vértices que limitan el
lado.
De los dos puntos de corte se elige el que tiene la z más alta. Este punto es el extremo que no puede superar Q
(simplemente es suficiente comprobar la z).
El punto Q es la proyección de E sobre el plano del triángulo, que se calcula en el apartado siguiente (esté Q
dentro o no del triángulo).
La ecuación de la recta que pasa por P y Q es:


y  y P  t yQ  y P 
z  z P  t z Q  z P 
x  x P  t xQ  x P
Para resolver el sistema con los lados del triángulo es interesante utilizar un cuarto punto que coincida con el
primero ( xi 3  xi 0 : yi 3  yi 0 : zi 3  zi 0 ), así se puede resolver todo con un bucle siendo la recta que une dos
vértices:


y  yij  t yij 1  yij 
z  zij  t zij 1  zij 
x  xij  t xij 1  xij
zmax=zP
For j=0 to 2
t  zij  z P zQ  z P  zij 1  zij ‘Parámetro t.





y  y P  t y Q  y P  ‘ Solución de intersección.
z  z P  t z Q  z P 
x  x P  t xQ  x P
‘ Verificación de que la solución está entre los vértices j y j+1
if xij  x x  xij 1 yij  y y  yij 1 zij  z z  zij 1  0 then






If z>zmax then zmax=z: xmax=x: ymax=y
end if
Next j

J.L. Huertas et al. / XVIII Congreso Nacional de Ingeniería Mecánica (2010)
10
En el caso de que zmax<zQ resulta que el punto Q calculado ya estaba fuera del triángulo y hay que limitar este
valor, pues no hace falta subir tanto. En tal caso, se realiza el cálculo que sigue para obtener un punto E’ por
debajo de E.
Para obtener el parámetro t se emplea la ecuación en z, pues es el único valor que no puede coincidir entre P y Q.
El punto máximo obtenido da lugar a una distancia de separación del punto E’ de la herramienta que se obtiene
resolviendo la intersección de un plano perpendicular al plano que contiene el triángulo en estudio y pasa por el
punto Q’(xmax, ymax, zmax) y a la vez es perpendicular a la recta PQ. Es decir, el plano tiene por vector director a
PQ o PQ’ y pasa por el punto Q’:
Los cosenos directores de este plano son:
cos  
PQ 
xq  x p
PQ
, cos  
yq  y p
PQ
. cos  
zq  z p
PQ
, con
xq  x p 2  y q  y p 2  z q  z p 2 , como pasa por el punto Q’, la ecuación es
x cos   y cos   z cos   x max cos   y max cos   z max cos    0 .
La coordenada del punto E’ por debajo del anterior punto E que es la intersección de la recta PS con el anterior
plano:
zE ' 
xmax cos   ymax cos   zmax cos    xC cos   yC cos 
cos 
Siendo éste el nuevo emplazamiento del centro de la herramienta.
RESULTADOS
Con los algoritmos presentados y los condicionantes de las posiciones relativas de los triángulos de la superficie
STL con la esfera de la herramienta es posible el mecanizado de dichas superficies, figura 12, siempre que
cumplan ciertas condiciones, con ventaja sobre los programas de CAM comerciales, obteniendo perfiles
regulares y con un grado de acabado muy próximo al deseado.
Fig. 11. Aspecto del mecanizado con el simulador WinUnisoft para dos alturas de cresta.
Como desarrollo próximo se completará una pieza patrón de forma que sea fácil de medir, como por ejemplo
radios de concavidades y convexidades, distancia entre centros de las mismas; a la vez que se realice con varios
CAM para ver diferentes resultados de acabado superficial y tolerancia dimensional.
Obtención de una trayectoria espiral para mecanizar con herramienta esférica superficies STL
11
REFERENCIAS
[1] Optimal selection of machining direction for three-axis milling of sculptured parts. Yann Quinsat . Laurent
Sabourin. Int J Adv Manuf Technol. 2007.
[2] B-spline tool offset of a free-form curve in the shoe last high-speed machining CNC system. Jun Hu . Hong
Shen . Shuishen Zeng . Yuhan Wang. Int J Adv Manuf Technol April 2005.
[3] R. T. Lee, W. S. Cheng. A Multizone Scaling Method for CAD in Shoe Sole Design. Int J Adv Manuf
Technol (2002) 19:313–317.
[4] Prasenjit Kayal. Offset error analysis of ball-end mill for cutter-path generation from point-based surfaces.
Int J Adv Manuf Technol (2008) 36:1133–1144.
[5] Zezhong C. Chen, Qiang Fu. A practical approach to generating steepest ascent tool-paths for three-axis
finish milling of compound NURBS surfaces. Computer-Aided Design 39 (2007) 964–974.
[6] M. Silbáis-Nagy. Gy. Mátyási. Análisis of STL files. Mathematical and Computer Modelling 38 (2003) 945960.
[7] D. Ma1, F. Lin and C. K. Chua. Rapid Prototyping Applications in Medicine. Part 2: STL File Generation
and Case Studies. Int J Adv Manuf Technol (2001) 18:118–127.
[8] Huertas Talón, J.L., López Gómez, Carmelo. Sencillo algoritmo para seleccionar los puntos significativos
tras un escaneo de un perfil o de una superficie. Metal Univers 2006.
Descargar