Interpolación en El Dominio Del CNC Interpolación de Curvas en El Plano
Interpolación en El Dominio Del CNC Interpolación de Curvas en El Plano
1
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
El propósito de esta parte del trabajo es describir las distintas técnicas para que una
herramienta describa una trayectoria prefijada entre dos puntos dados.
Basados en hardware
Implementados por software
x = ∫adt + b
= a ∫dt + b
xi = a ∆tj + b
= xi-1 + a ∆ti .
Así:
2
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
x0 = b
x1 = b + a∆t ,etcétera.
Acumulador Contador
[a]
t Sumador
t a b
Registro [b]
En cada pulso de reloj los contenidos del registro se suman con los del acumulador y el
resultado reemplaza al contenido previo del acumulador. Como éste es de longitud finita,
periódicamente ocurre un rebalse, el que actúa sobre el contador incrementándolo o
decrementándolo de acuerdo a que el número contenido en el acumulador sea positivo o
negativo.
De resultas de este esquema los contenidos del contador y el acumulador son la parte
entera y fraccionaria del valor de x respectivamente.
Ejemplo:
Sea la ecuación
x = 6x + 4
3
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
a ∆t = .0110 [ 6/1610]
Considérese ahora un punto que se desplaza sobre una línea con velocidad V, de
componentes u y v sobre los ejes de coordenadas. La posición del punto está dada en cada
momento por
x = ut + x0
Puesto que cada coordenada es una función lineal del tiempo se la puede calcular con un
integrador digital. Se deduce entonces que el movimiento de un punto a lo largo de la recta
puede generarse mediante un par de integradores junto con una base de tiempo común que les
provea de pulsos a ambos. Este conjunto se conoce con el nombre de Analizador Digital de
Diferencias y se lo suele encontrar bajo la sigla DDA, iniciales de su nombre en inglés. Un
par de integradores conectados como en la fig. 2.3 constituyen un interpolador lineal
u x0
t v y0
4
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
Esta particularidad del DDA hace muy atractivo pensar en controlar el flujo de los pulsos
(t) mediante otro integrador, cuyo contador y registro sean fácilmente accesibles y
modificables, lo que implicaría una cierta “programación” de la velocidad de corte. La relación
entre el tren de pulsos de entrada y salida es:
a
ps = pe
2N
u py
p0 p
f v px
Supongamos ahora que la curva a describir sea un arco de circunferencia. Una curva como
esa queda definida por su centro pc y los puntos de origen y fin po y pf [fig. 2.5]
y
pf
v y’
x'
y-y0 po
pc
5
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
Fig. 2.5 Arco de circunferencia.
Describiendo ese arco con velocidad angular constante, puede ponerse, llamando ω a la
posición angular medida con respecto a po:
dω
a=
dt
Llamando V al vector velocidad [fig. 2.5] y siendo (x,y) las coordenadas del punto actual,
se tiene
ds dω
V= =R
dt dt
x’ = V sen ω
dω dω
= R sen = ( y − yc )
dt dt
y’ = -(x - xc) dω
dt
dx
= y − yc
dω
dy
= −( x − xc )
dω
Para controlar la velocidad de corte se procede como en el caso lineal, obteniendo los
pulsos de reloj como la salida de otro integrador cuyo registro de M bits contiene la palabra f
de control de velocidad, de modo que para una velocidad de corte
6
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
V = {(x)2 + (y)2 } ½
fp 0 R
V=
2 M +N
el valor de f es:
V2 M+N
f =
p 0R
(y o - y c ) px
-1
p0
f p1
py
-(xo - xc )
Errores de la técnica.
x = u(x,y,t)
y = v(x,y,t)
punto a punto.
Para ello necesitan convertir las expresiones anteriores a ecuaciones en diferencias que
pueden resolverse de modo recursivo, como ser:
7
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
El error resultante de la aproximación puede ser calculado a partir de la expansión en serie
de Taylor
que muestra que el punto siguiente (xi+1, yi+1) depende no solo del punto actual (xi, yi) y las
primeras derivadas x’ i, y’i, sino también de las derivadas de orden superior.
En el caso de la línea recta, todas las derivadas superiores a la primera son idénticamente
nulas, por lo que en este caso la aproximación dada por la serie de Taylor truncada
xi+1 = xi + xi ∆t
yi+1 = yi + yi ∆t
da valores exactos.
Para cualquier otra curva, sin embargo, la anterior es solo una aproximación de primer
orden e introduce errores sistemáticos en el cálculo de las coordenadas de los puntos
sucesivos. Este fenómeno se conoce como degradación del algoritmo. Una interesante
discusión sobre interpolación con DDAs puede verse en [1].
- Danielsson [ 2 ]
- Suenaga [ 3 ]
8
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
f(x,y) = 0
y
p4 p3 p2
y+1
p5 p0 p1
y
y-1
p6 p7 p8
x-1 x x+1 x
y sean además [xo, yo] y [x f, yf] los puntos inicial y final de la curva en cuestión. El problema a
resolver consiste en trazar el recorrido entre el punto inicial y el final.
Considerando que los incrementos son siempre unitarios, en cada punto se debe decidir
cual ha de ser el siguiente de acuerdo a la fig. 2.7.
z = f(x,y) = ay - bx
l = f(x,y) = ay - bx = 0
La fig. 2.8 muestra una proyección de la intersección para apreciar los fundamentos de los
criterios de selección. En ella se nota el cambio de signo que usa Danielsson y la variación de
desplazamiento usada por Suenaga.
z = ay - bx
|f(Q3)|
Q1 l |f(Q2)| Q3
plano xy
|f(Q1)| Q2
9
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
= f[x,y] ± a ± b
lo que permite realizar todos los cálculos de manera muy simple sin necesidad de realizar
multiplicaciones. Como el primer punto se asume como perteneciente a la recta, su
desplazamiento es cero, y los cómputos sucesivos se reducen a sumas y restas.
g(x,y) = x2 + y2 - r2 = 0
que puede ser considerada como la intersección del plano xy con un paraboloide definido por:
z = g(x,y) = x2 + y2 - r2
En la fig. 2.9 se ve una proyección de la intersección, a objeto de ver con claridad los
fundamentos de los algoritmos.
10
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
z
z = x2
|g(Q1)|
Q3 Q2 Q1
x
|g(Q2)|
|g(Q3)|
- r2
g [x ± 1, y ± 1] = g [x,y] ± 2x ± 2y + 2
Puede apreciarse que en este caso como en el de la línea recta los desplazamientos
(distancia medida sobre z entre el plano xy y los definidos por la ecuación del plano y del
paraboloide respectivamente) son proporcionales a las distancias entre el punto de origen y
los posibles puntos destino por semejanza de triángulos.
Los criterios para decidir sobre el punto destino se pueden poner como:
11
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
Criterios de detención
La fig. 2.10 muestra los criterios para detener el algoritmo de Danielsson en el caso lineal
[a ] y circular [ b ], mientras que la 2.11 lo hace para el algoritmo de Suenaga.
(xf - x) ≤ d ? (x - xf) ≤ d ?
x = -a ? x = a? (y - y f) ≤ d ? (y - y f) ≤ d ?
y= b ? y = b? y=0? x=0?
[a] [b]
Fig. 2.10. Criterios de detención del algoritmo de Danielsson en modo lineal [ a ] y circular [ b ].
y = yf ? y = yf ? x = xf ? x = xf ?
x = -y ? x=0?
y = yf ? y = yf ?
y=0? y=x?
x = xf ? x = xf ?
x = xf ? x = xf ? y = yf ? y = yf ?
y=x? y=0?
x = xf ? x = xf ?
y = yf ? y = yf ? x=0? x = -y ?
[a] [ b]
Fig. 2.11. Criterios de detención del algoritmo de Suenaga en modo lineal [ a ] y circular [ b ].
Errores en el algoritmo.
12
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
A diferencia del análisis producido para el caso del DDA, no puede, a priori, verificarse
la calidad de las curvas generadas por el algoritmo de manera analítica.
Puede realizarse un análisis estadístico, sin embargo, para comprobar el máximo error
hallado. Los resultados de un estudio de estas características efectuado por Jordan et.
al. [4] permiten corroborar la calidad de la interpolación lograda. Puede demostrarse [4] sin
embargo, que el error máximo posible para algoritmos de esta clase corresponde a un
incremento, tanto para el caso lineal como para el circular.
En la tabla de la fig. 2.12 se muestra una línea recta desde el origen hasta (10,7) generada
por medio de los algoritmos de Danielsson y Suenaga, mientras que la 2.13 muestra el
proceso de generación de ¼ de circunferencia por los mismos algoritmos.
Danielsson Suenaga
# x y f x y f
1 0 0 0 0 0 0
2 1 0 -7 1 1 3
3 1 1 3 2 1 -4
4 2 1 -4 3 2 -1
5 2 2 6 4 3 2
6 3 2 1 5 4 5
7 3 3 9 6 4 -2
8 4 3 2 7 5 1
9 5 3 -5 8 6 4
10 5 4 5 9 6 -3
13
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
11 6 4 -2 10 7 0
12 6 5 8
13 7 5 1
14 8 5 -6
15 8 6 4
16 9 6 -3
17 9 7 7
18 10 7 0
Fig. 12. Recta desde (0,0) hasta (10,7) de acuerdo a Danielsson y Suenaga.
Danielsson Suenaga
# x y f x y f
1 6 0 0 6 0 0
2 5 0 -11 6 1 1
3 5 1 -10 6 2 4
4 5 2 -7 5 3 -2
5 5 3 -2 5 4 5
6 5 4 5 4 5 5
7 4 4 -4 3 5 -2
8 4 5 5 2 6 4
9 3 5 -2 1 6 1
10 3 6 9 0 6 0
11 2 6 4
12 1 6 1
13 0 6 0
14
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
r - d = r cos β /2
1 - d/r = cos β /2
β /2 = cos-1 (1 - 1/r)
quedando finalmente
Pc Pb
+ + Fig. 2.15 Alternativas enteras del punto P1.
+ P1(x,y)
d
P Pa
+ +
15
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
P (ent x, ent y)
El análisis a realizar para la elección del punto adecuado se divide en dos partes:
Para elegir cual de los restantes es el indicado para ser punto destino, se evalúa la
función descriptora del arco en cada uno de ellos. El que esté mas cerca de la curva real será
aquel en el cual la función tenga menor valor. En nuestro ejemplo para elegir entre Pa y Pb
se efectúa la valuación como sigue:
fa = xa 2+ ya2 - r2
f b = xb2+ yb2 - r2
k = ent [ α / β ]
y entonces
β = α /k+1.
con lo que los sectores circulares resultarán todos iguales. El procedimiento de interpolación
en estos casos pasa por una serie de cálculos que determinan puntos de una trayectoria que
son unidos por tramos de rectas. Esto combina las prestaciones de los interpoladores por
hardware con la de los coprocesadores, permitiendo velocidades de mecanizado
progresivamente crecientes.
16
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
Para generar una recta o arco de circunferencia que una dos puntos dados definidos
por sus cotas en tres ejes ortogonales existen diversas alternativas: Puede optarse por un
dispositivo como el DDA ya discutido o bien por software. Este procedimiento, si bien en
general resulta mas lento, presenta la ventaja de reconfigurarse fácilmente. En el contexto
marco de este trabajo (CNCs de bajo costo) esta última prestación es fundamental. Se
presenta entonces un procedimiento para extender al espacio los algoritmos descritos para el
plano y también un método para controlar los ejes accesorios resultantes.
x2 + y2 + z2 - r2 = 0 [2.1]
u2 + v2 - r2 = 0
17
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
Si se considera que ambos sistemas tienen origen y radio comunes, una circunferencia
en el plano (u,v) será un círculo máximo de la esfera en (x,y,z). Todo punto del sistema de
coordenadas (u,v) puede ser transformado mediante una aplicación en puntos en (x,y,z),
como se aprecia en la fig. 2.16. Por comodidad supondremos que uno de los ejes del sistema
(u,v) contiene al punto P1(x1,y1,z1). Su expresión, en el sistema de coordenadas (u,v) es,
entonces:
P1(r, 0)
Para formar fácilmente un sistema que permita realizar las transformaciones se debe encontrar
un punto P2 que satisfaga las condiciones
(0, r)
P2 (x2, y2, z2)
Fig. 2.16
Arco de circunferencia en el espacio.
Una manera simple de obtener tal punto es considerar un eje auxiliar W que sea normal al
plano definido por u y v como se muestra en la fig. 2.16. Hallado éste, puede demostrarse
18
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
fácilmente que la normal a W y u contiene a P2. Si las coordenadas de P1 y P3 son,
respectivamente:
Los números directores de la recta normal al plano definido por OP1 y OP3 y que pasa por el
origen del sistema de coordenadas son:
y1 z1 1
a=
y3 z3 r
z1 x1 1
b=
z3 x3 r
x1 y1 1
c=
x3 y3 r
ax + by + cz = 0
La normal a esta recta y el eje u que contiene a P está dado por los números directores:
b c 1
a=
y1 z 1 r
c a 1
b=
z1 x1 r
a b 1
c=
x1 y1 r
x = a1/r + a2/r
y = b1/r + b2/r
z = c1/r + c2/r
19
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
u = xa1/r + yb1/r + zc1/r
v = xa2/r + yb2/r + zc2/r
Se hace
a= b c b= c a c= a b
b3 c3 c3 a3 a3 b3
y entonces:
a2 = b c b2 = c a c2 = a b
b1 c1 c1 a1 a1 b1
El algoritmo exigirá:
• traslación del plano para obtener los puntos inicial y final en (u, v)
El error del algoritmo de interpolación en el plano fue estudiado por Jordan [4]. Los
análisis que se han efectuado han permitido evaluar el error para múltiples radios, dando los
resultados de la fig. 2.18. La comparación entre ambos valores es favorable al algoritmo que
se describe.
20
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
Fig. 2.17
Angulos a controlar por ejes auxiliares.
Sea la trayectoria de la fig. 2.17. Para mantener un ángulo de corte normal al radio (p.
ej.) la herramienta debe girar un ángulo α en el plano (u,v) mientras describe la trayectoria.
Este ángulo tiene componentes β y ϑ sobre el plano (x,y) y la composición de (x,y) con z
respectivamente. Esto equivale a un giro de β en un plano paralelo a (x,y) y un ángulo α
descripto con respecto a z.
21
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
α = sen-1 r/(z2 - z1)
De acuerdo a la norma DIN 66025, β está controlado por el eje c y ϑ por el eje a,
giros alrededor de ejes principales.
Fig. 2.19
Error de trayectoria de herramienta.
1
d=h−
π r
cos − tg −1
2 l
si llamamos φ = tg-1r/l
22
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
queda entonces:
Este es el valor máximo de error de alineación que debe tener una herramienta de las
dimensiones especificadas (l, h, r) para producir un error de corte d.
Para determinar efectivamente cuanto debe ser la variación del ángulo de control de a
y c, veremos el caso de uno de ellos, p. ej. α. De la figura 2.20 puede ponerse:
X
Fig. 2.20
Ángulo a ser controlado
α= tg-1y/x
∆α = (x / r2) ∆y - (y / r2 ) ∆x
23
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
El algortimo de control de los ejes auxiliares exige entonces: Dadas las dimensiones de
la herramienta y el valor del error admitido d se determina el valor del ángulo α que haga que
ese error máximo no se sobrepase. Este error angular no debe sobrepasarse, por lo que en
cada incremento se calculará el incremento angular de la manera descrita para corregir ese eje
si es necesario mientras se produce el mecanizado.
Por interpolación de curvas se entenderá en este trabajo el proceso de construir una línea
que satisfaga la condición de pasar por una serie de puntos (datos) y que además posea un
conjunto de propiedades en sus derivadas.
definida por la suma de un número finito de funciones ψ i(t) de modo tal que se satisfaga un
número de condiciones en g(t) Estas condiciones se imponen a g(t) de modo que constituya
una “buena” aproximación de f(t).
||f-g || = max |f-g| en el intervalo t tal que a < t < b (Norma de Chebyschev).
24
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
Una de las condiciones mas encontradas en la teoría de la interpolación es:
es decir que debe verificarse que ambas funciones sean idénticas en algunos puntos.
Representación.
esto es que dado un conjunto de números x(i) y sus correspondientes valores y(i) el
polinomio que satisface la condición [a] es de grado n. Los x(i) son llamados nudos‚ y las yi
condiciones‚ que debe satisfacer P(xi). Estos polinomios existen siempre y son únicos.
Sea f(x) una función definida en x0, x1,...., xn tal que f(xi) = yi i, i ∈(0, n), el
interpolador de Lagrange es un polinomio.
siendo
(x - x 0 )...(x - x i-1 )(x - x i+1 )...(x - x n )
Li ,n =
(x i - x 0 )...(x i - x i -1 )(x i - x i+1 )...( x i - x n )
Li,n(xj) = δ i,j
25
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
( 1 si i = j
i, j ∈ (0,n) y δ i,j = {
( 0 otro i,j
x − x1 x − x0
P1 ( x ) = y 0 + y1
x 0 − x1 x1 − x0
El método expuesto permite suponer a priori que mediante su uso pueden obtenerse
aproximaciones tan buenas como se desee al solo costo de intercalar un número
suficientemente grande de nudos. Se verá que esta suposición es inexacta: se hace notar que el
aumento de un nudo incrementa en uno el grado del polinomio obtenido y desde que el
aumento del grado del polinomio tiende a introducir oscilaciones en él, este método no es
recomendable para aplicaciones en CN.
De los infinitos polinomios que pueden aproximar la función descrita el único de grado i
que lo hace es el de Lagrange, lo que permite usar el método descrito siempre que el número
de puntos a interpolar no sea demasiado grande.
Aproximación de Hermite
Sea entonces una función f(t) con n +1 nudos que la dividen en n intervalos. Puede
entonces construirse un polinomio de Hermite que satisfaga la condición:
26
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
En cada uno de los intervalos [ ti-1 , ti ] s(t) es un polinomio y como tal diferenciable. En
todos los nudos interiores ti , i ∈ [1 : n-1] se tiene:
y además
de modo que s(t) es diferenciable por lo menos una vez en los nudos interiores.
siendo
( t i+1 − t ) 2 [2( t − t i ) + ( t i +1 − t i )
I i0 ( t ) =
( t i+1 − t i ) 3
si t ∈ [t i-1,t]
( t − t i −1 ) 2 [2( t1 − t ) + ( t 1 − t i−1 )
I i0 ( t ) =
( t i − t i−1 ) 3
si t ∈ [t i , t i+1], y
Ii0(t) = 0 para todo otro t
Además:
I i1(t) = 0 para todo otro t
( t − t i+ 1 ) 2 ( t − t i )
I i1 ( t ) = si t ∈ {t i −1 , t}
( t i − t i−1 ) 2
( t − t i+ 1 ) 2 ( t − t i )
I i1 ( t ) = si t ∈ {t i , t i+1}
( t i+ 1 − t i ) 2
27
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
(t i - t)2 [2 (t - t 0) + (t i - t 0)] si t ∈ [t 0 , t 1]
3
I00(t)= (t1 - t0)
(0 para todo otro t
( Ii0(t) = δ ij
( I' i0(t) = 0 para todo i, j ∈ ∈[0,n]
( I i1(t) = 0
( I' i1(t) = δ ij para todo i, j ∈ ∈[0,n]
Los inconvenientes se presentan cuando las derivadas en los nudos internos son
desconocidas. Para obviar esta dificultad se han desarrollado algunos mecanismos siendo
las curvas de Coons (caso particular de la aproximación de Hermite) uno de los mas
interesantes.
Aproximación de Coons
28
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
a3 b3 c3 d3
a2 b2 c2 d2
P(t) = [t3 t2 t 1] x a1 b1 c1 d1
a0 b0 c0 d0
= [t3 t2 t 1] x [ A ] [2.3]
y la segunda es:
P"(t) = [6t 2 0 0] x [ A ]
de esta forma se tiene para x que varía entre cero y uno a partir de [2.3] y [2.4]:
P0 0 0 0 1
P1 = 1 1 1 1 x [A]
29
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
P'0 0 0 1 0
P'1 3 2 1 0
P0
[ A ] = [ M ] x P1
P’0 [2.5]
P’1
siendo
0 0 0 1 -1 2 -2 1 1
1 1 1 1 -3 3 -2 -1
M= 0 0 0 1 = 0 0 1 0
3 2 1 0 1 0 0 0
P0
P1
P(t) = [23-3t2+1 -2t3+t2 t3-2t2+t t3-t2] x P'0 [2.6]
P'1
Las curvas de Coons presentan el inconveniente de ser de cálculo muy complejo dada
la inversión de matrices. Deben usarse además sólo los cuatro grados de libertad descritos
en (a - e) para satisfacer las condiciones de unión de los trozos adyacentes Pi y Pj.
El problema de pasar una curva suave por un grupo ordenado de puntos (P0, P1 ,..., Pn)
puede ser encarada desde el punto de vista de las funciones Spline.
3.-Funciones Spline
El término “spline” designa un dispositivo físico, una especie de regla de madera o plástico,
usada por los dibujantes desde hace bastante tiempo para unir con una curva una serie de
puntos Estos son materializados por elementos de fijación y la regla se pasa entre ellos. Por la
30
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
elasticidad del material que la constituye, la forma que adopta la regla es la que hace que el
esfuerzo en todo su largo sea el mínimo, esto es que la integral
( y" dx
)l
Splines Cúbicas
Se trata de encontrar una función S −(y,x) tal que sea continua junto con su primera y
segunda derivadas y que coincida con una cúbica en cada subintervalo xj, además de
satisfacer la condición que
31
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
S− (y,x) = yj j, j = 1,...,N.
Se dice que esa función es spline con respecto al conjunto N y que interpola los valores de y
en cada punto del conjunto de datos.
es decir que la derivada p-ésima de la función es igual a ambos lados del intervalo.
Mj = S"− (x j ) (j = 1,2,...,N)
( x i − x) ( x − x i −1 ) M h x −x M h x − x i −1
2 3 2 2
S( x ) = M i −1 + Mi + y i −1 − i −1 i i + yi − i i
6h i 6hi 6 hi 6 hi
y
( x i − x) 2 ( x − x i−1 ) 2 y i − y i−1 M i − M i −1h i
S' ( x ) = − M i−1 + Mi + −
2h 2hi hi 6
A partir de esta última expresión para hallar las derivadas a cada lado de xj, se tiene:
y además:
32
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
2M0 + λ 0 M1 = d 0
µ N M N-1 + 2M N = d N
siendo:
λj = h j+1 / h j + h j+1 ; µj = 1 - λj (j = 1,...,N)
2 λ0 0 ... 0 0 M0 d0
µ1 2 λ1 ... 0 0 M1 d1
0 µ2 2 ... 0 0 M2 d2
. . . ... . . . .
. . . ... . . . .
. . . ... . . . .
0 0 0 ... λN-2 0 MN-2 dN-2
0 0 0 ... 2 λN-1 MN-1 dN-1
0 0 0 ... µN 2 MN dN
2 λ1 0 ... 0 µ1 M1 d1
µ2 2 λ2 ... 0 0 M2 d2
0 µ3 2 ... 0 0 M3 d3
33
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
. . . ... . . . .
. . . ... . . . .
. . . ... . . . .
0 0 0 ... λN-2 0 MN-2 dN-2
0 0 0 ... 2 λN-1 MN-1 dN-1
λN 0 0 ... µN 2 MN dN
siendo:
M0 = MN ; λN = h1/(hN + h1) ; µN = 1- λN [2.8]
Puede ser conveniente reemplazar los momentos por las pendientes de la curva. Las
ecuaciones para el intervalo (xj-1, xj) son, adoptando la notación mj = S'− (x j), las siguientes:
S∆(x) = m j-1 [(x j - x)2 (x - x j-1)]/ hj2 - m j [(x - x j-1) 2 (x j - x)]/ hj2 +
+ y j-1 {(x j - x)2 [2(x - x j-1) + h j] }/ hj3 + y j {(x - xj-1) 2 [2(x j + h j)]}/ h j3
y además
S'∆(x) = m j-1[(x j - x)(2x j-1 + xj - 3x)]/ hj2 - mj [(x - x j-1)(2x j + x j-1 - 3x)]/ hj2 +
+ 6 [(yj - yj-1) (xj - x)(x - xj-1)]/ hj3
S"∆(x) = -2mj-1(2xj + xj-1 - 3x)/ hj2 - 2mj(2xj-1 + xj - 3x)/ hj2 + 6(yj - y j-1)(x j + x j-1-2x)/ hj3
λj mj-1 + 2mj + µj mj+1 = 3λj (yj - yj-1)/ hj + 3µj (yj+1 - yj)/hj+1 [2.9]
34
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
2 µ0 0 ... 0 0 m0 c0
λ1 2 µ1 ... 0 0 m1 c1
0 λ2 2 ... 0 0 m2 c2
. . . ... . . . .
. . . ... . . . .
. . . ... . . . .
0 0 0 ... µN-2 0 mN-2 cN-2
0 0 0 ... 2 µN-1 mN-1 cN-1
0 0 0 ... λN 2 mN cN
2 µ1 0 ... 0 0 m0 c0
λ2 2 µ2 ... 0 0 m1 c1
0 λ3 2 ... 0 0 m2 c2
. . . ... . . . .
. . . ... . . . .
. . . ... . . . .
0 0 0 ... µN-2 0 mN-2 cN-2
0 0 0 ... 2 µN-1 mN-1 cN-1
0 0 0 ... λN 2 mN cN
2m0 + µ0m1 = c0
λNmN-1 + 2mN = cN
E = ( [f"(x) - S"∆(x)]2 dx
)
es un mínimo.
- son la aproximación más suave posible de la función f(x), es decir la que presenta
menor curvatura.
35
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
- se prestan para ser calculadas mediante algoritmos de alta eficiencia.
Estos programas se han probado en condiciones de taller, usando un torno CNC, con
control numérico diseñado y producido por Controles Automáticos S.R.L., de la cual el autor
fue socio entre 1986 y 1989.
Resumen
Referencias:
[3] "A high speed algorithm for the generation of straight lines and circular arcs". Suenaga, Y.
et al.
IEEE Trans on Computers. Vol. C-28, 1979. pp 728-736.
[4] "An improved algorithm for the generation of nonparametric curves". Jordan, B. W. et al.
IEEE Trans. on Computers. Vol C-22, 1973. pp 1052-1060.
36
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
Anales del IX Simposio Nacional de Control Automático. AADECA. Bs. Aires, 1984.
37