0% encontró este documento útil (0 votos)
20 vistas37 páginas

Interpolación en El Dominio Del CNC Interpolación de Curvas en El Plano

El documento aborda técnicas de interpolación en el contexto del control numérico computarizado (CNC), diferenciando entre métodos basados en hardware y software. Se describen diversas técnicas, incluyendo el uso de integradores digitales para generar trayectorias y algoritmos de computación para trazar curvas. Además, se discuten errores asociados a estas técnicas y se presentan dos algoritmos específicos para la interpolación de curvas.

Cargado por

fermin
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas37 páginas

Interpolación en El Dominio Del CNC Interpolación de Curvas en El Plano

El documento aborda técnicas de interpolación en el contexto del control numérico computarizado (CNC), diferenciando entre métodos basados en hardware y software. Se describen diversas técnicas, incluyendo el uso de integradores digitales para generar trayectorias y algoritmos de computación para trazar curvas. Además, se discuten errores asociados a estas técnicas y se presentan dos algoritmos específicos para la interpolación de curvas.

Cargado por

fermin
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Universidad tecnológica Nacional.

Facultad Regional Córdoba


Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___

• Interpolación en el dominio del CNC

• Interpolación de curvas en el plano


Métodos clásicos
Interpolación por splines

• Discusión de mecanismos de interpolación alternativos.

Dr. Luis Rafael Canali


Profesor.
Julio de 2000.

1
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___

1.- LOS INTERPOLADORES PARA C.N.

1.1.- Interpolación en el plano.

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.

De acuerdo al modo de implementación pueden distinguirse dos grandes grupos:

Basados en hardware
Implementados por software

Se pasará ahora a describir ambas técnicas por separado.

1.1.1.-Técnicas desarrolladas sobre hardware .

La característica general de los desarrollos sobre hardware es su alta velocidad teórica.


Ésta es debida a que la velocidad de ejecución está limitada por la tecnología usada para el
sistema desarrollado y las posibilidades actuales en la materia son sumamente atractivas.

El problema a resolver puede plantearse de la siguiente manera: Supóngase que se


desea generar una línea recta. Una tal línea responde a una ecuación de la forma:

x = at + b donde t es la variable independiente (tiempo, en el entorno


CNC).

La misma ecuación puede ser escrita como

x = ∫adt + b

= a ∫dt + b

Si se considera al intervalo [0-t] dividido en incrementos iguales ∆ti , el valor de x al final


de cada incremento es

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.

El valor de x se calcula por medio de un integrador digital que implemente el algoritmo


descrito. Un modelo para tal integrador se ve en la fig 2.1.

Los coeficientes a y b se guardan inicialmente en el registro y el contador


respectivamente. Se carga inicialmente el acumulador con cero y se fija ∆t en 2-N . Esto
establece un peso de 1/ 2n para a.

Acumulador Contador

[a]

t Sumador
t a b

Registro [b]

Fig 1.1. Integrador Digital [ a ]: esquema [ b ]: símbolo

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
_________________________________________________________________________________
___

El valor de N es 4. La tabla de la fig. 2.2 muestra los valores del registro,


del acumulador y del contador en los primeros pasos de iteración.

En cada paso de cálculo, el valor de x se obtiene sumando

a ∆t = .0110 [ 6/1610]

pulso # registro acumul. rebalse contador x final


preset .0110 .0000 0100 4
1 .0110 .0110 0100 4 6/16
2 .0110 .1100 0100 4 12/16
3 .0110 .0110 ---> 0101 5 2/16
4 .0110 .1000 0101 5 8/16
5 .0110 .1110 0101 5 14/16
6 .0110 .0100 ---> 0110 6 4/16
7 .0110 .1010 0110 6 10/16
8 .0110 .0000 ---> 0111 7

Fig 2.2. Primeras ocho iteraciones del cálculo de x = 6t + 4

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

y = vt + y0 siendo x0, y0 las coordenadas del punto para t = 0.

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

Fig 2.3. Interpolador lineal (DDA)

4
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___

De la estructura del DDA mostrado se desprende una característica que lo hace


sumamente interesante para el CN: Actuando sobre el reloj puede variarse de manera simple
la velocidad de salida de los pulsos a los actuadores, lo que permite controlar a voluntad la
velocidad de usinado.

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

donde a es el número almacenado en el registro del interpolador.

El control de velocidad puede efectuarse de acuerdo a un esquema como el de la fig. 2.4.

u py

p0 p
f v px

Fig. 2.4. DDA con control de velocidad

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:


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

Pueden obtenerse entonces las ecuaciones

dx
= y − yc

dy
= −( x − xc )

Éstas describen el movimiento del punto en el tiempo. Como ω es función lineal de t,


el hecho que ϖ sea la variable independiente no causa mayores inconvenientes.

En la fig. 2.6 se muestra el esquema de un DDA que realiza la integración de un sistema de


ecuaciones como el dado. Consta de dos integradores cuyos registros se cargan inicialmente
con los números [yo- yc] y [- (xo - xc)]. El rebalse del integrador y se conecta a la entrada r del
integrador x. El rebalse del integrador x se cambia de signo y se lo conecta a la entrada r del
integrador y.

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 )

Fig. 2.6 Interpolador circular basado en DDA.

Errores de la técnica.

Los DDA se basan en resolver ecuaciones de la forma

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:

x i+1 = x i + u(xi, yi, ti) ∆t


y i+1 = y i + v(xi, yi, ti) ∆t

a partir de las cuales pueden calcularse los puntos sucesivos.

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

xi+1 = xi + x’i ∆t + xi’’ /2! ∆t2 + .... + xin /n! ∆tn


yi+1 = yi + y’i ∆t + yi’’ /2! ∆t2 + .... + yin /n! ∆tn

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].

2.-Técnicas basadas en software.

El grupo de métodos que se presenta a continuación tiene como característica común el


uso de algoritmos de computación para trazar las curvas. Esto es posible dado que el precio y
la perfomance de los equipos de computación actuales hacen que sea posible y barato usar
una computadora estándar como controlador de una máquina de CN.

La base de los algoritmos a ser descritos es el reconocimiento de la geometría local de la


pieza mediante el uso de algún tipo de criterio que permita decidir hacia donde se debe
avanzar en función de la posición actual. Esto se esquematiza en la fig. 2.7.

Se presentarán dos algoritmos típicos

- Danielsson [ 2 ]
- Suenaga [ 3 ]

de acuerdo a los apellidos de sus autores.

Descripción de los algoritmos

Sea la ecuación de una curva en un espacio de dos dimensiones expresada por:

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

Fig. 2.7. Puntos posibles a partir de uno


cualquiera dado. Se incluyen los caminos en diagonal.

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.

Puede considerarse que una línea recta en el plano xy corresponde a la intersección de


este plano y uno definido por la función:

z = f(x,y) = ay - bx

cuya intersección con el plano xy genera la recta definida por la ecuación

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
_________________________________________________________________________________
___

Fig. 2.8. Proyección de la intersección del plano xy con z = ay - bx

Los desplazamientos f[Qi] se calculan como sigue:

f[x ± 1, y ± 1] = a(y ±1) - b(x ±1)

= 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.

La decisión a tomar, de acuerdo a Danielsson puede ponerse como sigue:

si | f [Q0] | > 0 se selecciona Q1


si no, se selecciona Q3

Suenaga, por su parte, toma como criterio

si | f [Q1] | < a/2 se selecciona Q1


si no, se selecciona Q2

Se observa que el criterio de Danielsson debe modificarse de acuerdo al cuadrante donde


se realiza la interpolación mientras que el otro debe variarse en cada octante.

Para el caso de un arco de circunferencia centrado al origen se tiene:

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 el espacio de tres dimensiones.

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

Fig. 2.9. Proyección de la intersección entre el plano xy y el z = x2 + y2 - r2

El cálculo de los desplazamientos gi se realiza del modo que sigue:

g [x ± 1, y ± 1] = g [x,y] ± 2x ± 2y + 2

permitiendo realizar el cómputo de manera sumamente sencilla si se recuerda que la


multiplicación por dos es muy simple de realizar en base dos, e implementada en casi todos
los microprocesadores actuales como una sola instrucción. Como en el caso de la línea recta
los valores de los desplazamientos sucesivos se obtienen con gran facilidad.

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:

si | g [Q0] | > 0 se selecciona Q1


si no, se selecciona Q3
según Danielsson y

si | g[Q1] | < r se selecciona Q1


si no, se selecciona Q2
de acuerdo a Suenaga.

Nuevamente se observa que el criterio de Danielsson esta definido para cuadrantes,


mientras que el de Suenaga lo está para octantes.

11
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___

Criterios de detención

Las decisiones que hacen interrumpir el proceso de construcción de la curva son


distintas de acuerdo a que algoritmo está siendo utilizado.

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?

x = -a ? x=a? (xf - x) ≤ d ? (x - xf) ≤ d


y = -b ? y = -b ? (y f - y) ≤ d ? (y f - y) ≤ d ?
x=0? y=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.

Ejemplos de construccion de curvas

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.

2.3.- Técnicas mixtas.

A partir del advenimiento de la estructura microprocesador-coprocesador aritmético


(conocida en la literatura inglesa como "number crunchers") es posible y práctico pensar
en combinaciones de hardware y software que hacen viable la construcción de
interpoladores sumamente veloces sin perder para nada las características de precisión de
los ya mencionados. A modo de ejemplo citaremos al interpolador por tramos

Interpolador por tramos.

El objetivo de un interpolador por tramos es construir una circunferencia por medio de


cuerdas de modo que la distancia real entre la cuerda y el arco no supere un cierto valor de
error preestablecido.

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

Fig. 13. Construccion de 1/4 de circunf. de radio = 6 de acuerdo a Danielsson y Suenaga.

Sea un arco de circunferencia centrado en el origen del sistema de coordenadas como


el de la fig. 2.14. Dicho arco está limitado por los puntos P1 y P2. El ángulo central del
sector circular descrito es β. Sin perder generalidad supongamos que el error admitido es
un incremento de resolución. Esto permite trabajar con errores unitarios, simplificando la
notación.

14
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___

Fig. 2.14. Arco de circunferencia a ser aproximado por cuerdas.

De acuerdo a la fig. 2.14 se tiene:

r - d = r cos β /2

que permite llegar a

1 - d/r = cos β /2

como se ha establecido un valor unitario para d se puede escribir:

β /2 = cos-1 (1 - 1/r)

quedando finalmente

β < 2 cos-1 (1 - 1/r)

Conocidos los límites de β se establecerán criterios que permitan la operación en un


entorno de incrementos discretos como es el de CN. Suponiendo que tanto el origen como el
fin de la interpolación son puntos que verifican la condición de ser múltiplos enteros de la
unidad de resolución se deducirán las reglas que permitan que todos los puntos intermedios
también tengan esa propiedad. Considérense las alternativas del punto P1 de la fig. 2.15,

Pc Pb
+ + Fig. 2.15 Alternativas enteras del punto P1.

+ P1(x,y)
d
P Pa
+ +

Los Pa...Pd cumplen la condición

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:

análisis de la condición angular


análisis del valor de la función.

A partir de la verificación de la condicion angular todos los puntos candidatos que no


la cumplan (es decir, que superen el valor de δ previsto) deben ser descartados. En el
ejemplo bajo estudio los puntos Pc y Pd son descartados por esa razón.

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

si f a > f b se elige Pb , y viceversa.

El ángulo comprendido por el sector puede calcularse como sigue:

α = cos-1 x2/r - cos-1 x1/r

Aprovechando la condición de ángulo que debe verificar β se puede obtener un número


entero de fracciones angulares haciendo:

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
_________________________________________________________________________________
___

2.- INTERPOLACIÓN EN EL ESPACIO.

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.

2.1.- Interpolador lineal. [5]

El interpolador lineal en el espacio es simplemente una extensión a tres dimensiones


del algoritmo de Suenaga descrito anteriormente. De acuerdo a la fig. 2.7, el algoritmo decide,
para una recta en el plano en el primer octante, si el próximo punto es p1 o p2 de acuerdo a la
regla descrita. En el caso del algoritmo de Suenaga, se ve inmediatamente que un eje (el mas
largo) avanza siempre. Esta propiedad es la que permite una muy simple extensión del
algoritmo: Ésta se basa en:

• Identificar el eje mas largo.


• Establecer una secuencia cualquiera dada para los otros ejes.
• Generar dos interpoladores lineales en sucuencia que comparten un eje, el que se
incrementa sólo una vez en cada iteración.

Este método ha sido ya empleado en la práctica en un interpolador funcionando en un


CNC de fresadora en tres dimensiones [5]. Se han logrado a posteriori cifras de velocidades
de mecanizado de más de 20 m/min usando procesadores de 32 bits de alta velocidad de
clock (P5 a 166 MHz), usando el Assembler 6.0 de Microsoft en modelo “small”.

2.2.- Interpolador Circular.

Implementar un algoritmo de interpolación de circunferencias en el espacio significa


resolver, de alguna manera, el problema planteado en la figura 2.16, que presenta el caso
general de un arco de circunferencia centrado en el origen de un sistema de tres ejes
coordenados. Tal arco responde a una ecuación de la forma:

x2 + y2 + z2 - r2 = 0 [2.1]

Sea ahora un plano con un sistema de coordenadas u y v, ortogonales, que contenga


el arco de circunferencia descrito en [2.1]. En este plano, el arco tendrá una expresión como:

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)

P3 pertenece también al plano definido por u y v y su expresión es:

P3 (x3, y3, z3)

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:

P1 (x1, y1, z1)


P3 (x3, y3, z3)

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

con lo que la ecuación de la recta será:

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

con lo que el sistema de cambio de coordenadas es:

x = a1/r + a2/r
y = b1/r + b2/r
z = c1/r + c2/r

siendo (u,v) el plano de interpolación

El sistema inverso es:

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

y los valores de a1, a2 , b1, b2, c1 y c2 se calculan de:

a1 = x1 ) Coordenadas del punto


b1 = y1 ) P (x1, y1, z1)
c1 = z1 )

a2 = x2 ) Coordenadas del punto


b2 = y2 ) P (x2, y2, z2)
c2 = z2 )

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

resolviendo de esta manera el aspecto geométrico del problema.

El algoritmo exigirá:

• identificar la matriz de cambio de coordenadas y el cálculo de los coeficientes ai /r, etc. a


partir de los valores de la cota inicial y final.

• traslación del plano para obtener los puntos inicial y final en (u, v)

• interpolación en el plano (u ,v) mediante el algoritmo descrito en [3] y [4]

• aplicar la transformación de coordenadas a cada punto obtenido en (u, v)

Evaluación del error.

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.

Control de los ejes accesorios.

20
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___

Para efectuar el mecanizado correcto de un arco de circunferencia en el espacio se


necesita controlar la posición de la herramienta para que el ángulo de corte, esto es, el
formado entre el eje de giro de la herramienta y un plano tangente a la pieza en el punto de
contacto entre ambas, se mantenga constante.

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.

El ángulo α es función de la trayectoria en z y puede ponerse como:

21
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___
α = sen-1 r/(z2 - z1)

A su vez, β es función de la trayectoria en (x,y) y se obtiene de:

β = tg-1 (y2 - y1)/(x2 - x1)

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.

Ley de variación del error de corte en función de la posición de la herramienta.

A partir de la figura 2.19 se desprende, luego de alguna manipulación trigonométrica


que:

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:

α = φ - cos-1[ l/(h - d)],

donde d, h, l, r y φ son valores conocidos.

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

Dado a que tanto x como y pueden variar simultáneamente, corresponde la expresión


en derivadas parciales:

δα/δx = - y/ (x2 + y2)

δα/δy = x / (x2 + y2), que pueden combinarse en:

dα = (δα/δx) dx + (δα/δy) dy,

que admite una expresión en incrementos de la forma:

∆α = [(x / (x2 + y2)] ∆y - [(y / (x2 + y2)] ∆x.

como x2 + y2 = r2, puede ponerse:

∆α = (x / r2) ∆y - (y / r2 ) ∆x

que permite valuar simplemente α punto a punto.

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.

Resumen: Se han presentado los algoritmos de interpolación en uso en máquinas de CNC. En


este momento existen nuevos controles que, usando técnicas mixtas, interpolan directamente
todas las cónicas y además permiten la interpolación directa de splines. Es de notar que el
punto clave en la tecnología actual está constituído por los algoritmos de aceleración y
frenado, junto con la solución de los problemas derivados de los errores de adaptación entre
el universo discreto de los CN y el contínuo de la mecánica.

3.- INTERPOLACIÓN DE CURVAS.

3.1.-Introducción. Planteamiento del problema

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.

Sea una función


N
g(t) = ∑ ci ψ i(t)
i=1

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).

La aproximación de g(t) a f(t) puede establecerse mediante:

1) Haciendo que || f-g || sea pequeña


2) Asegurando una única solución para el conjunto de coeficientes ci , siendo:

||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:

g(t i) = f(ti) i, i ∈(1,n).

es decir que debe verificarse que ambas funciones sean idénticas en algunos puntos.

Representación.

Puede ser conveniente en algunos casos (funciones dependientes del sistema de


coordenadas, etc.) expresar las funciones de aproximación en forma paramétrica, es
decir que una curva queda expresada por:

x = x(t) ; y = y(t) siendo t el parámetro.

El objeto práctico de la representación paramétrica es que puedan p. ej. separarse los


canales x e y de un plotter, TRC, ó CN. A partir de la representación paramétrica el
problema se transforma: de la representación de una forma u objeto pasa a ser la
interpolación de los componentes vectoriales de ese objeto.

3.2.- Métodos clásicos de interpolación. Lagrange y Hermite.

Ambos métodos forman parte de la clase de interpolaciones polinomiales. Los


polinomios de Lagrange pertenecen a la mas simple de todas las categorías. Ellos cumplen la
condición:

P(xi) = f(i)  i, i ∈(0,n) [2.2]

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.

Pn(x) = f(xi) Li.n(x)

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 )

A partir de la definición de Li,n+1(x) se tiene:

Li,n(xj) = δ i,j

25
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___

donde δ i,j es la delta de Kronecker:

( 1 si i = j
i, j ∈ (0,n) y δ i,j = {
( 0  otro i,j

Como ejemplo, el polinomio de Lagrange para n = 1 es:

x − x1 x − x0
P1 ( x ) = y 0 + y1
x 0 − x1 x1 − x0

= y0 + (y1 - y0) (x0 - x)/ (x0 - x1)

que es la ecuación de una recta que va desde x0 hasta x1.

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

El método de Hermite aproxima un polinomio a una función de modo que en un cierto


número de nudos la interpolación no solo es exacta sino que también se interpolan un
número finito de derivadas consecutivas de f.

Ejemplo: existe un solo polinomio de grado 3

P3(t) = a3t3 + a2t2 + a1t + a0

tal que satisface las condiciones:

P(a) = f(a) P'(a) = f'(a)


P(b) = f(b) P'(b) = f'(b)

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
_________________________________________________________________________________
___

Pi(ti-1) = f(ti-1) P’i (ti-1) = f '(ti-1)


Pi(ti) = f(ti) P’i (ti) = f '(ti)

formando la aproximación por medio de tramos de polinomios cúbicos tales que:

s(t) = Pi (t) i : t ∈ [ ti-1 , ti ]

donde [ ] denota un intervalo cerrado.

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:

f(ti) = Pi (ti) = Pi+1( ti) = s(ti)

y además

f ’(ti) = P’i (ti) = P’i+1( ti) = s’(ti)

de modo que s(t) es diferenciable por lo menos una vez en los nudos interiores.

Si se quiere mayor suavidad en la interpolación deben emplearse polinomios de grado


superior a tres.

La interpolación por polinomios de Hermite se realiza de modo sencillo:


n n
s(t) = Σf(ti)Ii0(t) + Σf '(ti)Ii1(t)
i=0 i=0

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

(t - t n-1)2 [2 (t n - t) + (t n - t n-1)] si t ∈ [t n-1, t n]


I n0(t)= (t n - t n-1)3
(0 para todo otro t

(t - t1)2 (t - t0) si t ∈ [t0, t1]


I 01(t)= (t1 - t0)3
(0 para todo otro t

(t - t n-1)2 (t - tn) si t ∈ [tn-1, t n]


In1(t)= (tn - t n-1)3
(0 para todo otro t

Estas funciones tienen las propiedades:

( 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

Sea un punto en el espacio descrito por sus coordenadas homogéneas:

P(t) = [wx(t) wy(t) wz(t) w(t)]

y sus funciones wx(t), wy(t), wz(t), w(t) expresadas en la forma paramétrica:

wx(t) = a3t3 + a2t2 + a1t + a0

28
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___

wy(t) = b3t3 + b2t2 + b1t + b0

wz(t) = c3t3 + c2t2 + c1t + c0

w(t) = d3t3 + d2t2 + d1t + d0

Las coordenadas ordinarias de P(t), es decir:

x = wx/x ; y = wy/y ; z = wz/z

se dan en forma de polinomios cúbicos racionales.

Puede escribirse entonces:

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]

La primera derivada en el punto P es:

P'(t) = [3t2 2t 1 0] x [ A ] [2.4]

y la segunda es:

P"(t) = [6t 2 0 0] x [ A ]

La ventaja de la representación paramétrica radica en que puede seleccionarse


cualquier espaciado arbitrario del parámetro en la curva.

El problema queda delimitado a determinar la matriz de coeficientes [ A ]‚ de modo que


P(t) satisfaga las condiciones:

P(t) |t=0 = P0 P'(t) | t=0 = P'0

P(t) |t=1 = P1 P'(t) | t=1 = P'1

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

entonces, [ A ] puede obtenerse como:

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

combinando [2.5] con [2.3] se obtiene:

P0
P1
P(t) = [23-3t2+1 -2t3+t2 t3-2t2+t t3-t2] x P'0 [2.6]
P'1

que es idéntico al polinomio de Hermite para el caso n = 1, t0 = 0, tn = 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

A pesar de constituir un nuevo método polinomial las funciones Spline merecen


considerarse por separado dado su amplio uso y posibilidades.

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

B( K2ds donde: B: rigidez


)l K: curvatura
s: longitud

sea mínima en todo el largo de la spline.

Esta integral puede ser escrita en coordenadas cartesianas como:


y"
∫ (1 + y' 2 )5/ 2 dx
l

que, en general, es de difícil solución.

Puede introducirse la restricción de considerar que la pendiente y’ sea pequeña, lo que


conduce a que el término denominador tienda a uno. En estas condiciones el problema queda
reducido a considerar

( y" dx
)l

Se demuestra fácilmente que la curva resultante (spline matemático) es una serie de


parábolas cúbicas unidas por tramos en los nudos. Las curvas son continuas en posición,
pendiente y curvatura en esos puntos.

En caso de que la pendiente y’ sea grande y no pueda realizarse la simplificación


mencionada, se apela a soluciones de tipo vectorial para la integral. Como la gran mayoría
de los casos de interés práctico permiten usar la integral en su forma simplificada,
restringiremos este estudio a ellos.

Splines Cúbicas

Dado un conjunto de números reales en un intervalo (a, b) tales que

a < xi < b  i, i = 1,...,N

se asigna un grupo de coordenadas y1,...,yN que correspondan a c/u de los xi definidos.

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.

La función spline se dice periódica, de período b - a, si se cumple:

S(P) (a+) = S(P) (b-) P = 0,1,2,...

es decir que la derivada p-ésima de la función es igual a ambos lados del intervalo.

Tradicionalmente se designa con el nombre de momento al valor

Mj = S"− (x j ) (j = 1,2,...,N)

Entonces a partir de la linealidad de la derivada segunda entre xj-1 y xj, se tiene:

S"− (x) = M j-1 (x j - x) / h j + M j (x - x j) / h j

siendo h j = x j - x j-1 en cada subintervalo x j-1 < x < x j.

Integrando dos veces y evaluando las constantes de integración se tiene:

( 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:

S'−(xj-) = (h j M j-1) / 6 + (h j M j) / 3 + (y j - yj-1) / h j

y además:

S'−(x j +) = (- h j+1 M j)/3 - (h j+1 M j+1)/6 + ( y j+1 - y j)/ h j+1

Por condición de continuidad ambas derivadas son iguales, por lo que:


(h j M j-1)/6 + (h j + h j+1 )/3 M j + (h j+1 M j+1) /6 = (y j+1 - y j)/h j+1 - (y j - yj-1)/h j [2.7]

Para las splines periódicas, la ecuación anterior da un conjunto de (N-1) ecuaciones


lineales simultáneas en M1,M2,...,MN.

En este caso se requiere que la ecuación sea válida para j = N. Entonces:

32
Universidad tecnológica Nacional. Facultad Regional Córdoba
Grupo de Investigaciones en Informática para la Ingeniería
_________________________________________________________________________________
___

yN = y0 ; MN = M0 ; yN+1 = y1 ; M N+1 = M1 ; h N+1 = h1

Para la spline aperiódica deben especificarse además las condiciones de contorno M0 y


MN para determinar las cantidades M0,...,MN.

Especificando las pendientes en los extremos a y b se obtiene:

sean S'−(a) = y' 0 y S'−(b) = y' N

a partir de la definición de la derivada primera puede escribirse:

2M0 + M1 = 6/ h1 [(y1 - y0)/ h1 - y' 0]

M N-1 + 2MN = 6/ hN [y' N - (y N - y N-1)/ hN]

que en el caso particular de que M 0 = 0 y MN = 0 equivale a colocar apoyos simples en los


extremos. Las condiciones para los puntos extremos pueden reescribirse de la forma:

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)

Los requerimientos de continuidad dados por [2.7] pasan a ser:

µj M j+1 + 2M j + λj M j+1 = 6[(yj+1 - yj )/hj+1 - (y j - y j-1)/h j)] / (h j + h j+1)

Las ecuaciones de la spline aperiódica pueden escribirse de la forma:

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

Para la spline periódica, las ecuaciones se escriben:

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

siendo la expresión de la segunda derivada:

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

Los límites a ambos lados de x j son:

S"∆(x j -) = 2mj-1/hj + 4mj/hj - 6 (yj - yj-1)/hj2


y

S"∆(xj +) = - 4mj/hj+1 - 2m j+1/hj+1 + 6 (y j+1 - y j)/hj+12

que, por condición de continuidad da:

m j-1/hj + 2 (1/ hj + 1/ hj+1)mj + mj+1/hj+1 = 3 (y j - yj-1)/ hj2 + 3(yj+1 - yj)/hj+12

que puede reescribirse como:

λj mj-1 + 2mj + µj mj+1 = 3λj (yj - yj-1)/ hj + 3µj (yj+1 - yj)/hj+1 [2.9]

estando λ y µ definidas como en [2.8].

El sistema de ecuaciones para splines aperiódicas es:

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

mientras que para splines periódicas puede ponerse:

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

donde se emplean las condiciones generales de los extremos:

2m0 + µ0m1 = c0
λNmN-1 + 2mN = cN

y las cantidades cj (j=1,...,N-1) representan en cada caso los miembros derechos de [3 ].

Propiedades de las funciones spline

- satisfacen la condición de mínima norma, es decir que la integral

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.

Este conjunto interesante de propiedades hace de que su uso se halla difundido, en


particular en la industria automotriz y aeronáutica.

Se ha construído un paquete de programas para interpolar mediante splines un


conjunto de puntos dato. Son parte de este paquete:

• Splines: Programa escrito en 1985. Interpola un conjunto de puntos usando splines.


Permite usar splines naturales o imponer derivadas en los extremos.

• Aproxim: Transforma la salida del programa Splines a un conjunto de rectas y arcos de


circunferencia dentro de una banda de error especificado como dato, permitiendo la
utilización de controles numéricos estándar para esta tarea.

• Postpro: Postprocesador desarrollado para el CNC "Numeritec CNC 01". Traduce la


salida del programa Aproxim al lenguaje definido por DIN 66025.

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

Se han planteado en este capítulo procedimientos en uso para la interpolación de curvas.


Estos son de aplicación corriente en el área del control numérico de máquinas herramienta.

Referencias:

[1] "Interpolation for CNC machines". Papaionau, S.


Proc. of CACM. Vol. 3, 1975

[2] "Incremental curve generation". Danielsson, P. E.


IEEE Trans. on Computers. Vol. C-19, 1970. pp 783-793.

[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.

[5] "Interpolación en el espacio". Canali, L. Candiani, C.

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

También podría gustarte