Escolar Documentos
Profissional Documentos
Cultura Documentos
Fontes de Erro Numa CMM
Fontes de Erro Numa CMM
Trabalho de sntese com vista realizao das Provas de Aptido Pedaggica e Capacidade Cientfica
Agradecimentos
A elaborao deste trabalho s foi possvel graas colaborao, directa ou indirecta, de muitas pessoas. Correndo o risco de omitir algum nome, no poderia deixar de salientar os que de mais de perto me ajudaram: O Professor Doutor Artur Soares Alves, pela orientao, superviso, e ainda, pelo esforo e tempo despendido no sentido de me criar, dentro do possvel, as melhores condies de trabalho. A Professora Doutora Dina Santos Loff, pela disponibilidade, ajuda e encorajamento com que sempre me incentivou. O colega Engenheiro Jorge Santos pela sua disponibilidade constante e preciosa colaborao na implementao dos algoritmos numricos. O Professor Doutor Jos Augusto Ferreira, o Doutor Joo Manuel Patrcio, o Doutor Adrito Arajo, a Doutora Cristina Martins e a Doutora Zhang Yulin pela colaborao nas suas reas de especialidade. O Doutor Alessandro Balsamo e instituio CIRP pela bibliografia facultada. Quero ainda agradecer ao Departamento de Matemtica na pessoa do seu Presidente e ao Centro de Informtica da Universidade de Coimbra, pelo meios postos ao meu alcance. Para terminar, queria manifestar o meu apreo por todo o apoio prestado pelos meus colegas e amigos que ao longo de todo este tempo se esforaram para que tudo me corresse pelo melhor.
ndice
Introduo
2.5.2 Etapas da compensao de erros por software 2.5.3 Princpio da sobreposio dos erros e modelo de corpos rgidos da CMM 2.5.4 Observaes 2.6 Mtodos directos de medio de erros 2.6.1 Medio de erros com diferentes padres de referncia 2.6.1.1 Principais vantagens e desvantagens do uso de diferentes padres 2.6.2 Utilizao de um nico padro calibrado para medir todos os erros 2.7 Breve descrio do mtodo de autocalibrao 2.8 Formas de efectuar a compensao dos erros 2.9 Incerteza na compensao 2.10 Limites de validade da compensao de erros por software 2.11 Efeito da temperatura na compensao de erros cinemticos 2.12 Custos 2.13 Expert CMM e CMM virtual 2.14 Desenvolvimentos futuros 2.15 Estudo da autocalibrao 2.15.1 Noes gerais 2.15.2 Padres utilizados na autocalibrao 2.15.3 Desenvolvimento do mtodo de autocalibrao 2.15.3.1 Utilizao do software Mathematica 2.15.3.2 Utilizao de rotinas da NAG
47 47 48 48 49 52 53 54 55 56 58 59 60 60 61 61 62 63 64 67 74
Concluses finais
95
Apndice A - Algumas propriedades das rotaes no espao tridimensional Apndice B - Breves consideraes sobre o movimento geral de um slido Apndice C - Lei Uniforme e Teorema do Limite Central Apndice D - Descrio das rotinas da NAG E04FDF e E04GCF Apndice E - Critrio dos mnimos quadrados
Bibliografia
127
Introduo
Pode definir-se a Metrologia como a cincia da medio. Nela so englobados mltiplos aspectos, que so muitas vezes menos familiares para a maioria das pessoas. Por esta cincia so tratados, com especial ateno, os problemas relacionados com os instrumentos e com as tcnicas de medio e ainda com o tratamento dos resultados da medio. Devido existncia de uma grande diversidade de grandezas a medir, houve necessidade, em dada altura, de separar a Metrologia em diversos ramos distintos. Surgiu assim a Metrologia Geomtrica, que tem como principal objectivo a anlise das propriedades geomtricas dos objectos. Dentro deste campo inclui-se a Metrologia por coordenadas, onde o processo de avaliao das figuras geomtricas realizado de uma forma indirecta, tendo como base a medio de coordenadas cartesianas, em relao a um referencial ortogonal directo, de pontos localizados sobre a superfcie do objecto a estudar, seguida do tratamento desses dados, executado com o objectivo de obter toda a informao necessria determinao das caractersticas geomtricas pretendidas. O nmero e localizao dos pontos devem ser tais que permitam a aquisio completa da forma e dimenses do objecto em causa. Apesar de tudo, continuam a utilizar-se actualmente as tcnicas tradicionais da Metrologia Geomtrica, que so baseadas no uso de instrumento clssicos de medio directa: rgua, micrmetro, etc. Na Metrologia Geomtrica considera-se que um objecto pode ser descrito pela unio de um nmero finito de elementos geomtricos (superfcies ou curvas) definidos, cada um deles, num dado referencial, por um conjunto finito de parmetros. Sero os valores destes parmetros definidores, obtidos pelo processamento das coordenadas medidas, que vo permitir comparar os resultados obtidos para cada pea com os valores tericos ideais, o que ser a base da tcnica de controlo da qualidade na produo industrial, uma das aplicaes fundamentais da Metrologia por coordenadas da actualidade. Hoje em dia praticamente no existem peas, produzidas industrialmente, cujas caractersticas dimensionais no possam ser determinadas atravs de uma mquina de medio de coordenadas. A indstria automvel, a construo naval e aeronutica, a metalomecnica e a indstria de moldes e de plsticos so alguns dos sectores onde aquela tcnica usada em larga escala. Este carcter universal, juntamente com o elevado grau de automatizao alcanado, a razo mais importante para justificar a to rpida evoluo desta tcnica, que se verificou nos ltimos 25 anos.
Para a medio das coordenadas de pontos, a Metrologia Geomtrica utiliza vrias tcnicas e instrumentos, entre os quais destacamos as chamadas Mquinas de Medio de Coordenadas (Coordinate Measuring Machine - CMM), que constituem o objecto do nosso trabalho. Existem, no entanto, outros processos de aquisio, que so utilizados especialmente quando o objecto a medir de grandes dimenses. Entre estes mtodos, refiram-se os sistemas mveis de aquisio de coordenadas, como por exemplo, o sistema mvel 3D, o sistema fotogramtrico e o sistema de fios, que so sistemas portteis, montados em redor do objecto a medir. A principal caracterstica de uma mquina de medio de coordenadas consiste na sua capacidade em medir uma extensa variedade de formas geomtricas, de um modo rpido, flexvel e, em grande medida, 5
automtico. O funcionamento de uma mquina de forma eficiente implica a existncia de um dispositivo de medio (que a CMM propriamente dita), um computador, software e um operador qualificado.
No entanto, tal como sucede com qualquer outra tcnica de medio, o processo de aquisio de coordenadas por meio de uma mquina de medio, no est totalmente isento de erros. As irregularidades residuais da estrutura da CMM, resultantes da sua construo, adicionadas s pequenas modificaes dessa mesma estrutura, resultantes do seu uso, provocam a existncia dos erros sistemticos da mquina. Estes erros geomtricos ou cinemticos so devidos aos desvios de rectilinearidade dos movimentos das diversas peas mveis da mquina, no linearidade das escalas e no ortogonalidade dos movimentos relativos dessas peas. A no repetibilidade do posicionamento, devida, entre outras coisas, vibrao, palpador e erros reversveis, origina os erros aleatrios da CMM. A preciso dos resultados das medidas efectuadas por uma mquina de medio de coordenadas determinada por propriedades relativas estrutura mecnica da mquina, ao sistema de aquisio de coordenadas, ao sistema de palpao, ao sistema de motores que faz deslocar as partes mveis da mquina, ao controlo dos movimentos, ao software utilizado para avaliar os parmetros que definem as caractersticas geomtricas das peas, preciso numrica do computador onde est implementado esse software, estratgia de medio da pea, s propriedades da pea e seu modo de fixao.
O objectivo deste trabalho o estudo de processos de estimao dos erros de uma mquina estacionria de medio de coordenadas, sendo para tal construdo um modelo que descreva o seu comportamento, que servir de base elaborao de processos de estimao dos erros geomtricos. O primeiro captulo deste trabalho ter como propsito a descrio dos constituintes e modo de funcionamento de uma mquina de medio de coordenadas, dos erros a ela associados e, pela construo de um modelo que descreva o seu comportamento, do modo como esses erros afectam as coordenadas fornecidas pela CMM.
Para melhorar o grau de preciso dos resultados fornecidos por uma maquina de medio de coordenadas so possveis duas abordagens: Aumentar a preciso mecnica da CMM. Corrigir os erros existentes nas coordenadas fornecidas pela mquina, usando o software do computador a ela ligado.
Ao compararmos estas duas abordagens verificamos que at h pouco tempo foi despendido um maior esforo no design, fabrico e manuteno das mquinas com vista a adquirir maior preciso mecnica, do que na correco dos erros existentes por meio do software. A correco dos erros presentes nas coordenadas tem a vantagem adicional de evitar o custo inerente compra de novas mquinas. Esses resultados podem ser ainda utilizados para efectuar o diagnstico das fontes de erro da CMM. No captulo dois deste trabalho, baseados nos resultados obtidos no primeiro captulo, estudaremos processos de determinar e corrigir os erros geomtricos de uma mquina de medio de coordenadas. Ser dada especial relevncia a um mtodo indirecto de estimao de erros - o processo de autocalibrao1. Sero ainda apresentados resultados numricos referentes a algumas implementaes prticas realizadas.
Selfcalibration
1.1 Introduo
Uma mquina de medio de coordenadas (Coordinate Measuring Machine - CMM) um sistema mecnico e electrnico cujo objectivo ltimo a obteno de coordenadas cartesianas de pontos sobre superfcies slidas. No entanto, devido existncia de diversas fontes de erro associadas ao sistema, os resultados por ela fornecidos no so exactos. O objectivo principal deste captulo explicar, de uma forma breve, em que que consiste uma mquina de medio de coordenadas, qual a sua utilidade e modo de funcionamento e construir um modelo cinemtico para o seu comportamento mecnico, que nos permita corrigir as coordenadas lidas pela mquina, a partir da considerao dos chamados erros geomtricos. Existem diferentes tipos de mquinas de medio de coordenadas que se caracterizam habitualmente com base no que se designa por sequncia cinemtica da CMM, ligada aos movimentos das suas peas. Embora o estudo que aqui apresentamos seja vlido para outros tipos de CMM, faremos uma descrio um pouco mais detalhada dos principais constituintes e do modo de funcionamento de uma mquina de medio de coordenadas dita de prtico mvel e de mesa fixa, nomeadamente, no que respeita ao procedimento de calibrao do palpador, ao modo como a mquina adquire as suas coordenadas e considerao das suas fontes de erro e consequentes erros, sendo dada especial relevncia aos erros geomtricos (desvios de posicionamento, de translao, de rotao e de ortogonalidade, descritos por um total de 21 parmetros). Pela considerao do movimento geral de trs slidos, materializados pelas peas mveis da CMM, ser estabelecido um modelo matemtico que, descrevendo com fidelidade o seu comportamento, permite obter as coordenadas corrigidas a partir das coordenadas lidas pela mquina e dos diversos erros geomtricos ou paramtricos. Este modelo ser posteriormente utilizado no captulo 2.
Uma mquina de medio de coordenadas constituda essencialmente por quatro corpos rgidos - trs peas mveis e uma base fixa - que se encontram ligados uns aos outros numa sequncia que vai desde a pea a medir at ao palpador1 (figura 1-1).
eixo 2 corpo 3
pea a medir
figura 1-1 - Sequncia cinemtica de uma CMM
Os eixos da CMM so designados por OX, OY e OZ, e encontram-se na mquina por uma ordem que escolhida arbitrariamente pelo construtor. No entanto, existe uma ordem intrnseca prpria mquina, qual chamamos sequncia cinemtica da CMM. Para efeitos de modelao da mquina de medio de coordenadas, apenas relevante a ordem pela qual surgem os eixos (e no a ordem pela qual surgem os corpos). Por conveno, assume-se que os eixos so considerados pela ordem OX - OY - OZ e que OX, OY e OZ correspondem aos eixos dos movimentos dos corpos 2, 3 e 4, respectivamente (ver figura 1-1). A classificao dos variados tipos de CMM em relao sua estrutura baseada na posio da base fixa da mquina na sequncia cinemtica. Por conveno, considera-se na sequncia cinemtica que: o corpo 1 suporta a pea a medir, sendo OX definido pela direco da guia2 que liga o corpo 1 ao corpo adjacente (corpo 2); OZ definido pela direco da guia que liga o corpo que suporta a cabea de palpao e respectivo palpador ao outro corpo adjacente quele; OY definido pela direco da terceira guia. A introduo do conceito de sequncia cinemtica faz com que seja possvel considerar uma nica formulao matemtica para o problema de modelar o comportamento da CMM. Existem variados tipos de CMM entre as quais destacamos, devido a ocorrer com maior frequncia, a mquina de mesa fixa e prtico mvel. Para alm desta, e especialmente devido necessidade de outras estruturas mais bem adaptadas a certas tarefas especficas, encontramos outros tipos de mquinas, entre as quais podemos resumidamente referir as seguintes: mquina de prtico fixo e mesa mvel3; mquina de coluna e prtico fixo e mesa duplamente mvel (segundo as direces OX e OY ); mquinas de coluna mvel e mesa fixa; mquina de brao horizontal fixo e mesa mvel; mquina de brao horizontal fixo e mesa fixa (onde a coluna executa movimentos horizontais segundo duas direces e o carro move-se verticalmente); mquina de tipo cantiliver de mesa fixa; mquina de cantiliver mvel e mesa mvel; mquina do tipo gantry (so mquinas
1 2
Veremos mais frente o que se entende por palpador. O conceito de guia ser posteriormente referido. 3 Este tipo de mquina semelhante ao tipo mais comum de CMM (mquina de mesa fixa e prtico mvel). A principal diferena reside no facto de agora o prtico se encontrar fixo e ser a mesa que se desloca segundo o eixo OX. Com tal tipo de construo pretende minorar-se os erros que so consequncia da instabilidade associada ao movimento do prtico.
de grandes dimenses onde o prtico se pode resumir a uma viga, que se move sobre outras duas vigas horizontais); mquina de semi-prtico4, etc. Na figura 1-2 encontram-se representados alguns tipos de mquinas.
A necessidade de medir peas de grandes dimenses levou, em certos modelos, a substituir o prtico por uma coluna em
10
figura 1-3 - Mquina de medio de coordenadas de mesa fixa e prtico mvel (ZEISS) [19] Em ambos os lados da base de suporte, fixadas estrutura, encontram-se as guias do eixo OX (carris horizontais), atravs das quais o prtico da mquina se encontra ligado base e que o obrigam a ter movimentos de translao segundo aquela direco (embora as diversas fontes de erro perturbem esse movimento). A eliminao do atrito no movimento do prtico (e das outras partes mveis) obtm-se normalmente pelo uso de almofadas de ar comprimido, o que implica a existncia de um compressor independente que fornea ar comprimido mquina. As diversas posies que o prtico assume so referenciadas pela sua distncia a um ponto fixo e traduzem-se pela coordenada x. O movimento de translao do prtico de uma CMM est sujeito a desvios significativos, que so consequncia do seu grande volume, peso elevado e reduzida base de apoio. Assim, natural que seja necessrio um cuidado especial na concepo desta parte mvel. Sobre o prtico da CMM encontram-se as guias do eixo OY, que iro suportar e orientar o movimento do carro da mquina. Este, por sua vez, ir deslocar-se sobre o prtico, segundo aquela direco. A translao do carro, que por princpio se pretende que seja efectuada perpendicularmente translao do prtico, materializa o movimento de um plano coordenado vertical, paralelo a OXZ. Ligada ao carro encontra-se fixada a guia do eixo OZ, dentro da qual se desloca, na vertical, segundo o referido eixo, o brao da mquina. A guia do eixo OZ um tubo, cuja forma , na maior parte das vezes,
forma de L invertido.
11
quadrangular, hexagonal ou cilndrica, que dever ser simultaneamente perpendicular s linhas de movimento do prtico e do carro (o que na realidade no acontece exactamente). Na extremidade inferior do brao localiza-se o sistema de palpao ou de contacto, composto pela cabea, haste e esfera de palpao. Designamos por palpador o conjunto formado pela haste e pela esfera. As esferas de palpao so normalmente feitas de rubi, que uma substncia com grande homogeneidade e com elevada resistncia ao desgaste e como tal adequada para a elaborao de esferas de alta preciso. O desvio de forma esfrica de uma esfera de palpao geralmente inferior a 0.25 m. Ser no processo de calibrao (mais frente descrito) que o operador introduz o valor do raio da esfera de palpao. na cabea que se concentra a parte electrnica do sistema de palpao. A conexo entre o palpador e a cabea , na grande maioria das vezes, feita por um sistema de rosca ou baioneta, possibilitando assim a utilizao de diferentes palpadores. Podem ainda existir sistemas automticos que modificam a orientao das hastes. Na base da cabea, no seu centro, encontra-se o ponto de referncia (figura 1-4), em relao ao qual referenciada a posio do palpador.
figura 1-4 - Ponto de referncia na cabea de palpao e conjunto de palpadores (ZEISS) [19]
Este ponto, extremamente importante, especialmente quando utilizamos diferentes palpadores, no est necessariamente materializado na CMM. No caso em que a ligao entre a haste e a cabea feita por meio de um sistema de rosca, o ponto de referncia situa-se no centro da rosca. A determinao da posio do centro da 12
esfera de palpao em relao ao ponto de referncia feita atravs de um procedimento denominado por calibrao.
Veremos, mais frente, que esta operao s tem significado quando usamos mais do que um palpador. Geralmente uma esfera em ao ou porcelana, com um dimetro nominal de 50 mm e com um desvio de forma esfrica inferior a 0.2 m. 7 Quando se pretendem medir determinadas peas com estruturas mais complexas, para ser possvel atingir todos os pontos destas, muitas vezes necessrio recorrer a variados palpadores, orientados segundo diferentes direces.
6
13
14
xm = xd + x0 ym = yd + y0 zm = zd + z0
com x 0 , y 0 , z 0 as componentes do vector que liga o ponto de referncia ao centro da esfera do palpador. Os deslocamento das trs partes mveis da mquina, (prtico, carro e brao) podem ser efectuados directamente pelo operador (manualmente), ou atravs de motores que fazem com que essas peas se movimentem. Neste segundo caso, o comando pode ser efectuado pelo operador (por meio de um joystick), ou pode ser feito directamente por um computador ligado mquina. Em resumo, podemos afirmar que as componentes mais importantes de um sistema de medio de coordenadas so as seguintes: A estrutura mecnica com os trs eixos de movimento e com os sistemas de medio de deslocamentos; o sistema de palpao capaz de efectuar o contacto do palpador com as peas, segundo diversas direces espaciais; o sistema de comando dos movimentos das partes mveis (prtico, carro e brao); o computador e o software para o clculo e representao de resultados. 15
Como referimos, para levar a extremidade do palpador ao ponto a medir P efectuam-se deslocamentos das trs partes mveis da mquina (prtico, carro e brao), correspondendo todo este processo, para a esfera de palpao, composio de trs movimentos: o primeiro resulta do movimento do prtico; o segundo resulta do movimento do carro; o terceiro resulta do movimento do brao.
carro prtico
brao
O Y X
palpador
mesa
figura 1-8 - Constituintes principais de uma mquina de medio de coordenadas de mesa fixa e prtico mvel
O movimento do prtico (respectivamente do carro, do brao) seria de translao segundo a direco OX (respectivamente OY, OZ), se no existissem diversos erros que afectam o funcionamento da mquina de medio de coordenadas que levam a que, na prtica, aqueles movimentos sejam muito mais complexos. Iremos a seguir fazer uma breve descrio das fontes de erro que afectam os resultados fornecidos pela CMM.
16
escalas. importante referir que, para um mesmo instante, a temperatura varia de ponto para ponto da mquina e, por outro lado, para um mesmo ponto, a temperatura varia tambm ao longo do tempo, originando assim gradientes de temperatura espaciais e temporais. Devido a isso, d-se o encurvamento das rguas de cristal com inevitveis consequncias nos valores dos deslocamentos medidos. De forma a minorar a influncia desta fonte de erro, a temperatura ambiente e a temperatura da pea a medir devero permanecer dentro de determinados limites especificados, sendo isso conseguido, na grande maioria das vezes, pela utilizao de sistemas de condicionamento de ar. Outros factores exgenos tambm importantes so: a humidade ambiental (que provoca mudana de volume da mesa da mquina e que ainda capaz de, a longo prazo, provocar corroso das componentes da CMM), as vibraes a que a CMM possa estar sujeita, as variaes da corrente elctrica, a variao da presso de ar, etc. Mesmo o operador pode introduzir diversos erros na medio, devido a variadas causas, tais como: negligncia, escolha menos acertada de palpadores e de direco de contacto com a pea, escolha menos correcta de elementos para construo do referencial da pea, etc. A prpria pea pode ser ainda um factor de erro. Como exemplo disso, pode referir-se a dificuldade de definir elementos geomtricos de referncia, ou ainda as caractersticas fsicas da prpria pea, tais como a sua rugosidade ou a possibilidade de sofrer deformao (caso das peas plsticas). O factor endgeno mais importante , sem dvida, o desvio do referencial real da CMM em relao ao referencial ideal. Com efeito, devido a variados factores, quer endgenos, quer exgenos, o referencial da mquina sofre imperfeies. Essas imperfeies traduzem-se, entre outras coisas, em deficincias na forma e orientao das guias e em folgas nos eixos guia. Como consequncia disto, as partes mveis da mquina, quando se deslocam ao longo desses eixos, tm um movimento que no de translao rectilnea. Na realidade, em vez de se dar apenas a translao desejada segundo o eixo correspondente, ocorrem tambm pequenos desvios segundo direces transversais a essa direco. Alm disso, a parte mvel (prtico, carro ou brao) sofre ainda pequenas rotaes. Desta forma, a trajectria descrita pelo centro da esfera do palpador no uma justaposio de segmentos de recta. Por outro lado, as escalas de cada um dos trs eixos e o sistema de medio a elas associado sofrem tambm deficincias que iro produzir desvios segundo a direco do deslocamento da parte mvel, provocando erro na coordenada correspondente direco do deslocamento, alm de que na realidade esses eixos no so perfeitamente ortogonais dois a dois. Em resumo, para cada parte mvel da CMM (prtico, carro e brao), temos os seguintes erros: desvio segundo a direco do eixo do movimento, tambm designado por erro de posio ou de posicionamento; desvios segundo direces transversais direco do movimento principal, que so decompostos segundo as direces dos outros dois eixos de movimento, designados por erros de translao ou desvios de alinhamento; movimento geral de rotao que decomposto segundo trs rotaes elementares, em torno dos trs eixos coordenados, denominadas por erros de rotao; e, em adio aos erros inerentes a cada uma das trs partes mveis da mquina, h que considerar ainda que os eixos de deslocamento dessas trs peas no so ortogonais entre si: so os erros de afinidade, erros de esquadria, desvios de ortogonalidade ou erros de falta de ortogonalidade entre os eixos.
17
No seu conjunto, estes erros so conhecidos por erros cinemticos ou geomtricos. de referir a convenincia em utilizar referenciais ortogonais, uma vez que a definio das transformaes geomtricas e as expresses que descrevem as figuras geomtricas se simplificam significativamente quando se utilizam referenciais deste tipo.
1- Desvios de posicionamento
Devido no linearidade das escalas, as trs partes mveis da CMM apresentam, como j referimos, desvios de posio. Isto significa que a coordenada lida pela mquina, referente direco segundo a qual aquela pea mvel se movimenta, no corresponde coordenada exacta. Teremos assim trs erros de posio, um para cada parte mvel da mquina e correspondente eixo de movimento, designados genericamente por p, onde representa o eixo do movimento. Por exemplo, para o movimento do prtico, se xa for a abcissa indicada pela mquina, contada a partir de uma posio zero, e xr for a abcissa exacta para aquela posio do prtico, define-se o erro de posio xpx atravs de:
xpx = x r x a
Da mesma forma, para o carro, que se desloca segundo a direco OY, existe o erro de posicionamento ypy e para o brao, que se desloca segundo a direco OZ, o erro de posicionamento zpz, dados respectivamente por:
ypy = y r y a
zpz = zr za
onde, analogamente, y a e za designam a ordenada e a cota indicadas pela mquina e y r e z r , a ordenada e a cota exactas.
2- Desvios de alinhamento
Como j foi referido, no movimento de cada parte mvel da CMM do-se translaes segundo direces transversais direco principal do movimento. Estas so decompostas segundo as direces dos outros dois eixos que no correspondem direco principal. So estes os desvios designados por erros de translao, denotados genericamente por t, onde representa o eixo principal do movimento e o eixo segundo o qual se d o desvio de alinhamento. Desta forma, dado que temos trs peas mveis na CMM e que, para cada um dos correspondentes eixos dos movimentos, consideramos duas direces transversais, temos no total seis erros de translao, representados no quadro (1-1). 18
Direces dos desvios OX Direces do movimento OX (prtico) OY (carro) OZ (brao) ytx ztx zty OY xty OZ xtz ytz
3- Erros de Rotao
Os movimentos de rotao ou balanos indesejados do prtico, carro e brao da CMM podem ser descritos como composies de rotaes elementares em torno dos trs eixos coordenados (ver apndice B). Esses balanos, trs por cada parte mvel, sero os nove erros de rotao, representados genericamente por r, onde representa o eixo principal do movimento (X para o prtico, Y para o carro e Z para o brao) e representa o eixo em torno do qual se d a rotao elementar. Os nove balanos, representados no quadro 1-2, correspondem a ngulos de amplitude muito reduzida e tm o nome de rolamento, cabeceio e deriva.
cabeceio xr y yr x zrx
deriva xr z yr z zry
4- Desvios de ortogonalidade
As guias das partes mveis da CMM no so ortogonais, pelo que o referencial da mquina tambm no ortogonal. Os erros de afinidade ou de falta de ortogonalidade entre os eixos coordenados, designados por xwy, xwz e ywz e representados na figura 1-9, so definidos da seguinte forma: 90o + xwy = < OX, OY > 90o + xwz = < OX, OZ > 90o + ywz = < OY, OZ > onde, por exemplo, < OX, OY > representa a amplitude do ngulo, em graus, entre as guias dos eixos OX e OY.
19
Z Y
90+ywz
90+xwy
90+xwz
X
figura 1-9 - Desvios de ortogonalidade entre eixos coordenados
Em concluso, teremos assim, por pea mvel da CMM, seis erros, correspondentes a um desvio de posicionamento, dois desvios de alinhamento e trs desvios de rotao (ver figura 1-10 correspondente aos erros do carro), vindo, no conjunto, 21 parmetros de erro: trs erros de afinidade entre eixos e seis erros por parte mvel da mquina (figura 1-11).
figura 1-10 - Efeitos dos desvios correspondentes ao movimento do carro da CMM [23]
20
Z Y
zr z zpz ytz
ztx
yp y
z ry yr x
z rx
yrz
1.3.6 Primeiro modelo matemtico para a obteno das coordenadas em funo dos erros geomtricos
Tal como referimos antes, para levar o palpador a entrar em contacto com a pea onde se encontra o ponto P cujas coordenadas se pretendem medir, necessrio deslocar as trs partes mveis da mquina, que, sem perda de generalidade, uma vez que consideramos os movimentos independentes, podemos supor segundo a ordem prtico-carro-brao. As coordenadas de P fornecidas pela CMM so as coordenadas do centro da esfera do palpador, que um slido ligado aos trs slidos mveis da mquina (prtico, carro e brao). Se a CMM fosse perfeita os trs slidos descreveriam trs movimentos de translao segundo as direces dos trs eixos OX, OY e OZ do referencial da mquina, suposto ortogonal e as coordenadas dadas pela mquina, medidas atravs daquelas trs translaes rectilneas, seriam exactas. No entanto, devido existncia de movimentos esprios, quando o centro da esfera do palpador coincide com P, cada uma das trs partes mveis, prtico, carro e brao, efectuou na realidade um movimento mais complexo. Apesar destes movimentos terem uma componente predominantemente de translao segundo a direco do eixo respectivo, tero tambm componentes de translao segundo as direces dos outros dois eixos e de rotao em torno dos trs (embora todas elas de pequena amplitude). As coordenadas x m , ym e zm de P, fornecidas pela CMM (obtidas a partir da leitura nas escalas que se encontram solidrias com os eixos do seu
21
sistema de referncia OXYZ e portanto de forma aproximada), vm afectadas de erros que tm origem nas diversas fontes referidas anteriormente8. As coordenadas exactas do ponto P (que vamos designar por x, y e z) podem ser determinadas em funo dos erros geomtricos, pela considerao dos movimentos das trs partes mveis da mquina. O movimento de cada uma dessas partes descrito por seis parmetros que resultam da decomposio do movimento geral (ApB-14): numa translao (que se pode decompor ainda segundo as direces daqueles trs eixos); em trs rotaes em torno dos mesmos. Considerando, numa primeira aproximao, que o referencial associado mquina, OXYZ, ortogonal, o movimento de cada pea pode ento ser descrito por um vector de translao e por trs rotaes elementares determinadas pelas trs matrizes (ApB-7):
0 1 1) ( R = 0 cos 0 sin
0 sin cos
(2 )
cos 3) ( R = sin 0
onde , e representam,
no caso do movimento do prtico, = xrx , = xry e = xrz ; no caso do movimento do carro, = yrx , = yry e = yrz ; no caso do movimento do brao, = zrx , = zry e = zrz . Estas trs rotaes, aplicadas sequencialmente e pela ordem r r r , determinam a rotao da pea em torno de um ponto, descrita pela matriz:
cos cos cos sin + sin sin cos sin sin + cos sin cos M = cos sin cos cos + sin sin sin sin cos + cos sin sin sin cos cos cos sin
O movimento geral de cada uma das peas leva o centro C da esfera de palpao de uma posio inicial
Q0 ( X 0 , Y0 , Z 0 ) em relao posio do referencial solidrio com a pea no incio do movimento desta, para a
posio Q, cujas coordenadas ( X , Y , Z ) se obtm a partir da relao matricial:
Recordamos que, no que segue, e tal como referimos atrs, vamos apenas considerar os erros geomtricos.
22
X Y = Z
X A cos cos cos sin + sin sin cos sin sin + cos sin cos X 0 YA + cos sin cos cos + sin sin sin sin cos + cos sin sin Y0 (1-1) sin cos cos cos Z0 sin ZA
onde X A , YA , Z A correspondem s coordenadas da posio ocupada pelo ponto de referncia A (que um ponto solidrio com o movimento da pea em questo), depois de efectuado o movimento dessa mesma pea. O movimento da esfera resulta, ento, da composio de trs movimentos deste tipo e portanto as coordenadas x, y e z podem ser obtidas em funo de trs vezes seis parmetros, que determinam trs rotaes e trs translaes por pea mvel. Vamos seguidamente obter as expresses de x, y e z em funo destes dezoito parmetros, simulando sucessivamente os trs movimentos. Pretendemos assim determinar as coordenadas do centro C da esfera de palpao, no fim dos movimentos das trs partes mveis da CMM, que se supem efectuar-se na ordem prtico-carro-brao.
(O, e1 , e2 , e3 )
G G G
e que o ponto C, centro da esfera do palpador, ocupa a posio C0 de coordenadas ( x 0 , y 0 , z 0 ) , dadas pelo processo de calibrao do palpador, em relao
brao
ao mesmo referencial (figura 1-12). O vector AC um vector ligado aos trs slidos que so as trs partes mveis da CMM e a sua posio inicial A0 C0 , dada por
G G G A0 C0 = OC0 = x0 e1 + y0 e2 + z 0 e3
e3 O e1 e2
No final do primeiro movimento, do prtico, predominantemente de translao segundo OX, que devido existncia de movimentos esprios tem que ser considerado
(x0,y0,z0) esfera de palpao
como um movimento geral de um slido, a posio C1 do centro da esfera de palpao, de coordenadas x1 , y1 , z1 em relao a OXYZ, obtm-se a partir de
figura 1-12 - Posio do palpador em relao ao ponto de referncia do brao da CMM com
23
onde, usando a notao consagrada, xty e xtz representam os erros de translao do prtico segundo as direces OY e OZ, respectivamente, xpx o seu erro de posicionamento e xd o deslocamento do prtico ao longo da guia que materializa o eixo OX;
A1C1 = rp A0 C0 ,
onde r p representa a rotao do prtico em torno de A1 (ponto solidrio com o movimento do
( {
})
cos xry cos xrz cos xrx sin xrz + sin xrx sin xry cos xrz sin xrx sin xrz + cos xrx sin xry cos xrz = cos xry sin xrz cos xrx cos xrz + sin xrx sin xry sin xrz sin xrx cos xrz + cos xrx sin xry sin xrz sin xry sin xrx cos xry cos xrx cos xry
com xrx , xry e xrz , os erros de rotao do prtico da mquina de medio de coordenadas. Logo no referencial OXYZ, as coordenadas x1 , y1 , z1 de C1 so dadas atravs da igualdade matricial:
x1 y1 = z1
x0 y0 z0
(1-2)
G G segundo a direco de e2 = r p e2 ; no entanto, h que ter em conta os movimentos esprios de translao (erros G G de translao e de posicionamento), traduzidos por ytx na direco de e1 = rp (e1 ) , ypy na direco de G G G G e2 = r p e2 e ytz na direco de e3 = rp e3 , vindo
G G G A1 A2 = ytx e1 + y d + ypy e2 + ytz e3 G G G = ytx r p e1 + y d + ypy r p e2 + ytz r p e3
( )
( )
( )
( ( ) (
) ( )
( )
24
onde yd a amplitude do deslocamento do carro, lida pela CMM. Uma vez que rp uma transformao linear, vem
A2 C2 = rc A1C1 = rc r p A0 C0 = rc D r p A0 C0
G G G A matriz da transformao linear rc em relao base {e1 , e2 , e3 } , que corresponde rotao em torno
do ponto A2 solidrio com o movimento do carro,
G G G Rc = M rc , e1 , e2 , e3
( {
})
cos yry cos yrz cos yrx sin yrz + sin yrx sin yry cos yrz sin yrx sin yrz + cos yrx sin yry cos yrz , = cos yry sin yrz cos yrx cos yrz + sin yrx sin yry sin yrz sin yrx cos yrz + cos yrx sin yry sin yrz sin yry sin yrx cos yry cos yrx cos yry
G G G onde yrx, yry e yrz representam os erros de rotao do carro da CMM; e a matriz de rc na base {e1 , e2 , e3 } , que
representamos por Rc , dada por
Rc = P Rc P 1
G G G G G G onde P, a matriz de passagem da base e1 , e2 , e3 para a base e1 , e2 , e3 , coincide com R p .
Ento
Rc = R p Rc R p
( )
{
( )
R p = R p Rc
(1-3)
matricial:
a 2 x0 b2 = R p Rc y 0 c z 2 0
25
) da posio
(1-4)
OC3 = OA2 + A2 C3 ,
sendo
[(
] (
A2 C3 = A2 A3 + A3 C3
O vector
A2 A3
G G predominantemente segundo a direco de e3 = rc e3 ; no entanto, tendo em conta os movimentos esprios de G G G G translao, traduzidos por ztx na direco de e1 = rc e1 , zty na direco de e2 = rc e2 e zpz na direco de G G e3 = rc e3 , vem
G G G A2 A3 = ztx e1 + zty e2 + z d + zpz e3 G G G = ztx rc e1 + zty rc e2 + z d + zpz rc e3 G G G = rc ztx e1 + zty e2 + zd + zpz e3
( )
( )
( )
( )
( )
( ) ( ) ( ) ( ) ( ) )
A3C3 = rb A2 C2
(1-5),
onde rb representa a rotao do brao em torno de A3 (posio do ponto de referncia A do brao, que um
G G G ponto solidrio com o movimento daquela pea mvel). A matriz de rb na base e1 , e2 , e3 , designada por
Rb , dada por
G G G Rb = M rb , e1 , e2 , e3 = cos zry cos zrz cos zrx sin zrz + sin zrx sin zry cos zrz sin zrx sin zrz + cos zrx sin zry cos zrz , = cos zry sin zrz cos zrx cos zrz + sin zrx sin zry sin zrz sin zrx cos zrz + cos zrx sin zry sin zrz sin zry sin zrx cos zry cos zrx cos zry
( {
})
com zrx, zry e zrz os erros de rotao do brao da CMM; a matriz Rb da transformao rb na base
G G G {e } , dada por 1 , e2 , e3
G G G Rb = M rb , e1 , e2 , e3
( {
}) = Rc Rb (Rc )1
1
G G G e a matriz da transformao rb na base e1 , e2 , e3 , que vamos representar por Rb , ento dada por
G G G Rb = M rb , e1 , e2 , e3
( {
}) = R p Rb (R p )
= R p Rc Rb Rc
( )1 ](R p )
} so dadas
a 3 1 Rp b3 = R p Rc Rb Rc c 3
( )
]( )
1 p
a 2 b2 c 2
= R p Rc Rb Rc
( )
(R )
x0 R p Rc y0 z 0
x0 = R p Rc Rb y 0 z 0
27
correctas do centro C da esfera de palpao, depois de realizados os movimentos das trs partes mveis da CMM e que se considera coincidir com o ponto P a medir sobre a pea) sero:
x y = z
(1-6)
x m = xd + x0 ; ym = y d + y 0 ; zm = zd + z 0 ,
x y = z
(1-7)
x y = z
f 1 ( xpx , xty , xtz, xrx , xry , xrz, ytx , ypy , ytz, yrx , yry, yrz , ztx , zty , zpz, zrx, zry , zrz) f 2 ( xpx , xty , xtz , xrx , xry , xrz, ytx , ypy , ytz , yrx, yry , yrz, ztx, zty, zpz, zrx, zry , zrz ) f 3 ( xpx , xty , xtz , xrx , xry , xrz, ytx , ypy , ytz, yrx, yry, yrz, ztx , zty , zpz, zrx, zry , zrz )
28
A funo F = ( f 1 , f 2 , f 3 ) que permite calcular as coordenadas corrigidas ( x , y , z ) complicada e, por exemplo, para a determinao de erros, torna-se necessrio possuir um modelo mais simples, que descreva ainda com boa preciso o comportamento da mquina. Para tal usa-se um modelo linearizado, obtido pelo desenvolvimento da funo F em srie de Taylor, em torno do vector dos erros geomtricos
primeira derivada (uma vez que todos os erros apresentam em geral um valor prximo de zero, lcito no desenvolvimento em srie, desprezar os termos de ordem igual ou superior segunda)9. No nosso caso particular, a funo F uma funo de IR 18 (dezoito erros paramtricos) em IR 3 (coordenadas corrigidas x, y e z), dada atravs da expresso (1-6). A sua forma linearizada ser
x y z
f xpx (0) , xty (0) , xtz (0) ," , zry (0) , zrz (0) 1 f 1 xpx (0) , xty (0) , xtz (0) ," , zry (0) , zrz (0) (0) (0) (0) (0) (0) f 1 xpx , xty , xtz ," , zry , zrz
( ( (
) +J ) )
yx
considerando os erros geomtricos pela ordem: xpx, xty, xtz, xrx, xry, xrz, ytx, ypy, ytz, yrx, yry, yrz, ztx, zty, zpz, zrx,
0
zry
e
0
zrz,
0
que
0
o
0
desenvolvimento
em
srie
feito
em
torno
do
ponto
F: IR n IR m
y1(0) f 1 x1(0) , x 2 (0) ," , x n (0) (0) (0) (0) (0) y 2 f 2 x1 , x 2 ," , x n = = # # (0) ( ) (0) (0) 0 ym f m x1 , x 2 ," , x n
( (
J yx
y1 x 1 = # y m x1
y1 x2 # y m x2
29
J yx
e
0 1 0 0 = 0 1 0 zd z 0 0 0 1 y d + y 0
zd + z0 0 x0
yd y0 x0 0
1 0 0 0 0 1 0 zd z0 0 0 1 y0
zd + z0 0 x0
y0 x0 0
1 0 0 0 0 1 0 z0 0 0 1 y0
z0 0 x0
y0 x0 0
f xpx (0) , xty (0) , xtz (0) ," , zry (0) , zrz (0) 1 f 2 xpx (0) , xty (0) , xtz (0) ," , zry (0) , zrz (0) (0) (0) (0) (0) (0) f 3 xpx , xty , xtz ," , zry , zrz
vem, na forma linearizada
( ( (
) x = y ) z )
d d d
+ x0 + y0 , + z0
1 0 0 0 0 1 0 z d z0 y0 0 0 1
1 0 0 0 0 1 0 z0 0 0 1 y0
z0 0 x0
ou a expresso equivalente
x xd x0 xpx + ytx + ztx 0 xrz xry + yry xd 0 xrx yrx y d y = y d + y0 + xty + ypy + zty + 0 + 0 z zd z0 xtz + ytz + zpz 0 xrx zd 0 xrz yrz zrz xry + yry + zry x 0 xrx yrx zrx y0 0 + xrz + yrz + zrz 0 xry yry zry xrx + yrx + zrx z0
(1-8)
( x, y, z) , calculadas a partir das coordenadas lidas pela CMM, quer usando o modelo:
x y = z x d + xpx t + x y R p yd xtz ytx x0 ztx + ypy + R p Rc zty + R p Rc Rb y 0 , ytz z0 zd + zpz
x xd x0 xpx + ytx + ztx 0 xrz xry + yry xd 0 xrx yrx y d y = y d + y0 + xty + ypy + zty + 0 + 0 z zd z0 xtz + ytz + zpz 0 xrx zd 0 xrz yrz zrz xry + yry + zry x 0 xrx yrx zrx y0 0 + xrz + yrz + zrz 0 xry yry zry xrx + yrx + zrx z0
Na simulao numrica foram utilizados os seguintes valores10 para os erros: xpx = 0.016;
yy
(0)
+ J yx x
30
ypy = 0.010; zpz = - 0.030; xty = 0.010; xtz = - 0.005; ytx = - 0.018; ytz = 0.012; ztx = - 0.015; zty = 0.013; xrx = - 10.0; xry = 12.0; xrz = - 5.0; yrx = 8.0; yry = 7.0; yrz = - 15.0; zrx = - 12.0; zry = 17.0; zrz = 13.0. As coordenadas do palpador em relao ao ponto de referncia do brao tomam os valores11
( xm , ym , zm ) = ( xd + x 0 , yd + y 0 , zd + z0 )
foram considerados de forma a estarem situados sobre uma recta paralela ao eixo OX do referencial da mquina, sobre uma paralela bissectriz do primeiro quadrante de um plano paralelo ao plano OXY, e sobre a bissectriz do primeiro octante. Com o conjunto de erros indicados e aplicando as transformaes acima definidas, obtiveram-se os seguintes resultados (em mm):
Coordenadas indicadas pela CMM
xm
ym
10
Os valores dos erros de posicionamento e de translao encontram-se em mm e os dos erros de rotao encontram-se em segundos de arco. 11 em mm.
31
Pela anlise dos resultados presentes na tabela verifica-se que, apesar dos erros considerados tomarem valores elevados, no existe diferena at a quarta casa decimal (dcima de m ) entre os valores obtidos por meio do modelo dito completo, e pelas equaes mais simples, obtidas pela sua linearizao. De facto, como se verifica no quadro seguinte, as diferenas entre coordenadas homlogas so da ordem da milsima de m . Foram ainda realizadas outras simulaes semelhantes, considerando erros de valor mais elevado e outras posies para os pontos, sendo obtidas as mesmas concluses. Os resultados fornecidos pelo modelo linearizado aparecem assim com preciso semelhante aos obtidos pelo modelo completo, pelo que utilizaremos, em aplicaes posteriores, o modelo linearizado, sem perda de preciso significativa12.
x (em mm)
-6.68 x 10
-7
y (em mm)
2.19 x 10
-6
z (em mm)
1.96 x 10-6 1.96 x 10-6 1.96 x 10-6 1.96 x 10-6 1.96 x 10-6 1.96 x 10-6 1.96 x 10-6 1.92 x 10-6 1.54 x 10-6 -2.32 x 10-6
-6.07 x 10-6
-3.97 x 10-6
12
32
Assim, o eixo mdio do movimento do carro (respectivamente do brao e do prtico) ser a recta que melhor se ajusta, por exemplo segundo o critrio dos mnimos quadrados, trajectria do centro da esfera de palpao no movimento produzido pelo deslocamento do carro (respectivamente do brao e do prtico). Deste modo, ao movimento isolado de cada uma das trs partes mveis da CMM (prtico, carro e brao), est associado um eixo mdio.
Recordamos que, atravs do critrio dos mnimos quadrados, se procura a recta para a qual mnima a soma dos quadrados das distncias de cada um dos pontos da curva referida recta. utilizado o algoritmo a
figura 1-13 - Deslocamento ao longo de um eixo coordenado seguir descrito. Conhecidos n pontos da curva
( x1 , y1 , z1 ) ,..., ( xn , yn , zn ) ,
calcula-se o centro de massa ( xG , y G , zG ) definido por
(xG , yG , zG )
x y z
i =1 i
i =1
i =1
; n
x1 x G . . B= . x x G n
y1 y G . . . yn y G
z1 z G . . , . zn zG
A (3 3) = B T B ;
calculam-se depois os valores prprios da matriz A; determina-se para o maior valor prprio de A um dos vectores prprios unitrios a ele associado,
u0 = (l0 , m0 , n0 ) .
33
A recta ajustada (eixo mdio) passa por ( xG , y G , zG ) e tem (l0 , m0 , n0 ) como vector director. A sua equao , ento,
x xG y yG z zG = = l0 m0 n0
(1-9)
O primeiro modelo indicado bastante pobre para descrever a realidade do funcionamento da CMM. Podemos, no entanto, aproximar melhor este funcionamento, supondo que a CMM ao registar as suas coordenadas ainda tem em conta apenas trs movimentos de translao, mas no segundo OX, OY e OZ: segundo os trs eixos mdios que obtivemos em (1-9). De entre todos os movimentos de translao rectilnea, so efectivamente os efectuados na direco destes trs eixos os que melhor aproximam os movimentos que a CMM tem em conta e as coordenadas exactas do centro da esfera de palpao obtm-se pela aplicao a C de trs movimentos gerais, cada um deles efectuado predominantemente ao longo de um eixo mdio, e que levam aquele ponto de C0 (posio inicial do palpador) ao ponto C3 (posio final da centro da esfera). As coordenadas do centro da esfera de palpao podem ser ento determinadas em funo dos erros geomtricos, pela considerao dos movimentos das trs partes mveis da mquina: Quando se efectua o movimento do prtico, o centro da esfera no descreve uma recta (ou seja o movimento do prtico no um movimento de translao rectilneo). No entanto, numa primeira aproximao, pode ser considerado de translao rectilnea segundo a direco do eixo mdio do prtico. Raciocinando analogamente para os movimentos do carro e do brao, podemos definir o referencial G G G G G G O , e1 , e2 , e3 com Oe1 , Oe2 e Oe3 os eixos mdios referentes ao movimento, respectivamente, do
prtico, do carro e do brao, supostos, todos eles, de translao rectilnea. Este o referencial terico que melhor aproxima o movimento das partes mveis da CMM quando so considerados de translao rectilnea. Todavia, o movimento de cada pea no na realidade de translao rectilneo segundo cada uma daquelas direces. Mais uma vez, como se trata de slidos, cada um desses movimentos descrito por seis parmetros que resultam da decomposio de cada movimento geral (ApB-14): numa translao (que se pode decompor ainda segundo trs direces); em trs rotaes em torno de trs eixos. G G G O caso dos eixos Oe1 , Oe2 e Oe3 serem ortogonais, foi j considerado no modelo descrito anteriormente. No entanto, os trs eixos mdios, sendo obtidos j a partir de aproximaes, no so, de uma forma geral, ortogonais. Em relao ao primeiro modelo, a diferena est apenas na expresso das matrizes associadas componente de rotao do movimento de cada parte mvel, que eram no modelo descrito da seguinte forma
cos cos cos sin + sin sin cos sin sin + cos sin cos M = cos sin cos cos + sin sin sin sin cos + cos sin sin sin cos cos cos sin
34
Ento, para que o movimento de rotao de cada parte mvel possa ser descrito por uma matriz do tipo G G G de M, teremos que efectuar a ortogonalizao do referencial O , e1 , e2 , e3 constitudo por esses eixos mdios, j
que as coordenadas
( x m , y m , zm )
G* G * G* (O, e 1 , e2 , e3 )
( x, y , z)
no referencial
G G G (O, e 1 , e2 , e3 )
com as coordenadas
(x , y , z )
* * *
no referencial
y*
e2* e2
e1
e1*
x*
G G * x = x + y cos e1 , e2 G G * y = y sin e1 , e2
onde x e y representam as coordenadas de P no referencial inicial (figura 1-14).
G G base e1* , e2 *
G G } para a base {e 1 , e2 } :
G G e1 = e1*
G G G G G G G e2 = cos e1 , e2 e1* + sin e1 , e2 e2 *
35
G G G Construamos agora, por analogia, o referencial O, e1* , e2 * , e3* G G G (O, e 1 , e2 , e3 ) , anteriormente considerado, do seguinte modo:
) (
G G G G G G e1* , e2 * , e3* } . Os elementos dessa matriz so funes dos erros de afinidade xwy, xwz e {e 1 , e2 , e3 } para a base {
ywz. Temos: G G (i) e1* = e1
G G G G G (ii) e2 * = e1 + e2 = e1* + e2
G G e1* . e2 * = 0 G * G * e2 . e2 = 1
com e dois escalares que se calculam facilmente a partir das duas condies:
36
G G e1 = e1*
G G G G 1G e2 = e1* + e2 * = sin xwy e1* + cos xwy e2 *
G G G G G G G G G G G e3 . e2 * = e3 . e1 + e2 = e3 . e1 + e3 . e2 = ( sin xwz) + e3 . e2
e sabendo que
) (
) (
sin xwy sin xwz sin ywz 1 ( sin ywz) = cos xwy cos xwy
= =
sin 2 xwy sin 2 xwz + sin 2 ywz + 2 sin xwy sin xwz sin ywz cos 2 xwy sin 2 ywz cos 2 xwy 2 sin xwy sin xwz sin ywz cos 2 xwy
1 sin xwy sin xwz sin xwy sin xwz sin ywz H = 0 cos xwy cos xwy 2 2 sin y w z sin x w y sin x w z sin y w z 0 0 cos2 xwz tan 2 xwy sin 2 xwz 2 2 x y x y cos w cos w
Para que o novo referencial seja ainda directo, o determinante desta matriz tem que ser positivo. Como
37
sin xwz sin xwy sin xwz sin ywz cos xwy 2 sin ywz 2 sin xwy sin xwz sin ywz cos2 xwz tan 2 xwy sin 2 xwz cos 2 xwy cos 2 xwy
(O, e1 , e2 , e3 ) :
x* x * y = H y z* z
(1-10)
G G G
x y = H 1 z
x* * y z*
(1-11)
A existncia da inversa da matriz H garantida pelo facto de H ser uma matriz de mudana de base. O seu determinante, diferente de zero, dado por
= cos 2 xwy sin 2 xwz sin 2 ywz 2 sin xwy sin xwz sin ywz
Podemos calcular a inversa da matriz H usando, por exemplo, a seguinte relao:
H 1 =
vindo:
1 H11 = 1; 1 H12 = tan xwy ;
adj H det H
1 H13 =
sin xwz + sin xwy sin ywz cos xwy cos 2 xwy sin 2 xwz sin 2 ywz 2 sin xwy sin xwz sin ywz
1 H21 =0;
1 H 22 =
1 ; cos xwy
38
1 H23 =
sin xwy sin xwz + sin ywz cos xwy cos2 xwy sin 2 xwz sin 2 ywz 2 sin xwy sin xwz sin ywz
1 cos2 xwz tan 2 xwy sin 2 xwz sin 2 ywz cos 2 xwy 2 sin xwy sin xwz sin ywz cos2 xwy
x1 y1 = z 1
(1-12)
onde H representa a matriz de ortogonalizao. depois do movimento do carro as coordenadas ( x 2 , y 2 , z 2 ) do centro da esfera do palpador so dadas por
x2 xd y2 = z 2
(1-13)
x y = z
x0 y0 z 0
(1-14)
Deste modo, aps efectuar os trs movimentos das peas da CMM segundo as trs direces dos trs eixos mdios, obtemos as coordenadas do ponto C3 que coincide com o ponto P a medir sobre a pea. tambm usual exprimir ( x , y , z ) em funo dos valores das leituras efectuadas pela CMM, x m , y m e z m , vindo:
x y = z
ytx ztx x0 x m x 0 + xpx 1 1 1 xty zty + H R p Rc Rb H y 0 (1-15) + H R p H y m y 0 + ypy + H R p Rc H xtz ytz z0 zm z0 + zpz
39
x m x0 x d ym = y 0 + yd zd z0 zm
Todas estas coordenadas encontram-se referidas ao referencial no ortogonal OX mYm Z m . Se pretendermos as coordenadas no referencial ortogonal OX m *Ym * Z m * usamos novamente a matriz H e obtemos:
(1-16)
x m* x0 xd * ym = H y0 + H yd * z z0 zd m
x xd x0 xpx + ytx + ztx 0 xrz xry + yry xd 0 xrx yrx y d y = y d + y0 + xty + ypy + zty + 0 + z 0 z z d z0 xtz + ytz + zpz 0 xrx d 0 xrz yrz zrz xry + yry + zry x 0 xrx yrx zrx y0 0 + xrz + yrz + zrz 0 xry yry zry xrx + yrx + zrx z0
onde agora todas as coordenadas esto referidas ao referencial no ortogonal OX mYm Z m .
(1-17)
1.4 Comentrio
Antes de terminar este captulo, parece-nos pertinente fazer algumas consideraes acerca das duas abordagens que acabamos de descrever para o problema do estabelecimento de um modelo cinemtico da CMM.
Em primeiro lugar, convm referir que tudo que foi dito s tem validade quando so verificados certos pressupostos oportunamente referidos (por exemplo, as peas mveis da mquina serem consideradas como corpos rgidos, etc.). Alm disso, actualmente e segundo a literatura mais recente13, usa-se o primeiro modelo aqui descrito com uma interpretao fsica dos erros paramtricos diferente, que permite conciliar aquela abordagem com a correspondente ao segundo modelo. Assim so apenas consideradas dezoito parmetros de erro: os 3 erros de posicionamento (xpx, ypy, zpz); os 6 erros de translao (xty, xtz, ytx, ytz, ztx, zty) e os 9 erros de rotao (xrx,
13
Ver referncias [7], [8], [9], [10], [12], [13], [14], [15], [20], [21] e [22].
40
xry, xrz, yrx, yry, yrz, zrx, zry, zrz), sendo nesta abordagem considerado subjacente um referencial ortonormado. No entanto, os erros de esquadria, devido ao facto de terem um carcter global (e no local como os dezoito restantes) e por no serem independentes deles, no so referenciados explicitamente, mas so considerados includos nos valores dos diversos erros de translao das partes mveis (nas translaes esprias designadas por xty, xtz, ytx, ytz, ztx, zty). Em resumo, enquanto os dezoito erros correspondentes s rotaes, translaes e desvios de posicionamento so erros locais e independentes, os erros de falta de ortogonalidade tm um carcter global, podendo ser considerados a nvel local como parte constituinte dos seis erros de translao. Veremos mais frente que existem essencialmente duas filosofias distintas em relao questo da determinao dos erros paramtricos. Na primeira identificam-se isoladamente cada um dos erros, sendo possvel dessa forma, determinar os valores dos erros de afinidade entre eixos (ver eixos mdios). Na segunda (designada por autocalibrao) os erros so determinados conjuntamente, no aparecendo nesse caso os erros de ortogonalidade, mas apenas os seus efeitos englobados noutros erros paramtricos.
Os modelos linearizados obtidos em (1-8) e (1-17) podem, em casos particulares, ser escritos numa forma simplificada. De facto, sempre que se utiliza apenas um palpador, as coordenadas do centro da esfera de palpao em relao ao ponto de referncia do brao (que designmos por ( x0 , y0 , z0 ) ), so convencionalmente consideradas nulas14. Na prtica, isto equivalente a colocar a origem do referencial associado ao prtico no centro da esfera de palpao e portanto a mquina identifica os deslocamentos das peas mveis, designados por
xd , yd e zd , com as leituras que efectua para as coordenadas de qualquer ponto a medir e que correspondem s
coordenadas do centro da esfera do palpador (designadas por
(xm , ym , zm ) ), ou seja,
x m = xd , y m = y d e
zm = zd . Desta forma, sempre que se considera um nico palpador, o modelo apresenta a forma simplificada:
x y = z
com
(1-18)
xd xm yd = ym , zm zd
sendo a seguinte a sua forma linearizada:
x y = z
onde
x d xpx + ytx + ztx 0 xrz xry + yry xd t 0 xrx yrx y d y d + x y + ypy + zty + 0 0 zd 0 xrx xtz + ytz + zpz zd
(1-19)
xd xm yd = ym zm zd
14
Tal considerado pela generalidade dos autores. Ver, por exemplo, [20].
41
Observando atentamente a expresso acima, verificamos que nela no se encontram presentes os erros de rotao yrz, zrx, zry e zrz. Deste modo, e como veremos posteriormente no processo de autocalibrao, estes quatro erros no so determinveis caso se use apenas um palpador15. Se pretendermos determinar tambm estas quatro rotaes esprias devemos utilizar dois palpadores e nesse caso usaremos a expresso completa (1-8). Veremos adiante, e com mais pormenor, como tal feito. Ser a primeira abordagem (modelos linearizados (1-8) e (1-19), com a interpretao fsica dos erros paramtricos que foi introduzida no comentrio, e a considerao de um referencial ortogonal) que ser utilizada no captulo seguinte.
15
Ver [20].
42
2.1 Introduo
Pretende-se no captulo 2 explicar como se podem determinar os erros paramtricos de uma mquina de medio de coordenadas, com o intuito de realizar, pela utilizao desses resultados, a compensao das coordenadas por ela fornecidas. Esta ideia de compensao de erros sistemticos nas mquinas de medio de coordenadas tem uma histria j bastante longa, embora a aplicao generalizada deste conceito seja mais recente. A correco por meios mecnicos dos erros sistemticos existentes nos variados tipos de mquinas foi preponderante durante mais de 100 anos. O interesse em sistemas de compensao de erros baseados no uso de software floresceu na dcada de 70: pensa-se que a primeira implementao prtica tenha sido realizada por R. Hocken em 1977, sobre uma CMM modelo Moore N.5. Desde ento deu-se uma exploso das actividades baseadas nesse princpio, com a introduo de diversos conceitos chave e com a sua implementao numa enorme variedade de mquinas existentes no mercado. A razo principal para a adopo do conceito de medio de erros geomtricos e sua compensao por tcnicas de software resumida por D. C. Thompson que afirma: A existncia de modernas e poderosas ferramentas de clculo computacional torna a aplicao da compensao activa dos erros a partir de um modelo, via software, uma alternativa econmica ao aumento da preciso obtido por melhoramentos no design e construo das mquinas. Sendo assim, a preciso mecnica da CMM apenas necessita ser suficiente, de forma que se possa efectuar a compensao dos erros para se atingir o nvel de preciso requerido. Para tal ser apenas necessrio que as caractersticas dos erros (como a repetibilidade e variao no espao) sejam compatveis com o sistema de compensao dos erros.
Neste captulo, comearemos por uma breve abordagem ao que se faz actualmente em termos de compensao de erros das mquinas de medio, referindo-se os traos gerais de funcionamento dos processos de determinao e de compensao de erros, com especial relevncia para os mtodos de compensao por meio de software. Embora este trabalho se debruce essencialmente sobre o mtodo de determinao de erros pelo processo designado por autocalibrao, ser tambm feita uma curta referncia aos mtodos directos de medio de erros paramtricos. Os resultados obtidos por qualquer um dos mtodos podero ser utilizados para efectuar posterior compensao das coordenadas, sendo indicado o modo com podem ser armazenados e como a compensao realizada, fazendo-se referncia aos seus limites de validade e aos efeitos da temperatura. A qualidade dos resultados da compensao pode ser avaliada a partir da sua incerteza, conhecidas que sejam as incertezas respeitantes a cada um dos erros.
43
Finalmente ser descrito, com detalhe, o procedimento de autocalibrao, sendo referidos os princpios em que se baseia, os padres utilizados e o modo de realizar a sua implementao prtica, onde sero apresentados alguns resultados experimentais obtidos.
= A A*
O valor numrico do erro pode ser depois aplicado como correco, ou seja, permite obter o valor exacto a partir do valor lido pelo instrumento:
A = A* +
Qualquer resultado de uma medio tem associado um determinado grau de incerteza que quantificvel. Tal acontece tambm para os erros e correces referidos. A incerteza define-se como sendo a estimativa que caracteriza o intervalo de valores no qual se situa o valor exacto da grandeza medida, para um determinado valor indicado. Entende-se por calibrao o conjunto das operaes que estabelecem, em condies especificadas, a relao entre os valores indicados por um instrumento e/ou tcnica de medio e os valores convencionalmente exactos1 de um padro2 ou de um material de referncia, relativamente medio de uma determinada grandeza [3]. Alternativamente, podemos defini-la como o conjunto dos procedimentos experimentais que permitem a determinao de erros referentes s indicaes do instrumento de medida para uma determinada grandeza. A norma DIN 1319 define calibrao como a operao que determina os desvios entre o valor lido num instrumento e o valor convencionalmente exacto. Portanto, para calibrar um determinado instrumento, sempre necessrio dispor de um outro instrumento que seja mais exacto, isto , que fornea intervalos de enquadramento mais apertados. Conhecidos os desvios para alguns valores tabelados, possvel, a partir deles, determinar por interpolao, os desvios para valores intermdios e depois fcil calcular, por simples adio ou subtraco, os valores exactos. A calibrao no elimina completamente o erro sistemtico. Introduz-se por isso o conceito de remanescente do erro sistemtico, o qual ter que ser estimado e sobreposto ao erro aleatrio. No valor global da incerteza, temos a considerar ento a parte aleatria e uma parte que estima o erro sistemtico desconhecido, incluindo o remanescente do erro sistemtico aps a calibrao.
1 2
Obtidos por meio de uma medio de rigor claramente mais elevado que o referente medio em causa. Designa-se por padro o instrumento de medio ou o sistema de medio destinado a definir ou materializar, conservar ou reproduzir uma unidade ou um ou vrios valores conhecidos de uma grandeza para os transmitir por comparao a outros instrumentos de medio [3].
44
observador procede medio da mesma grandeza por um mtodo especificado e sob as mesmas condies laboratoriais, dentro de um curto intervalo de tempo. Outro conceito importante o conceito de reproducibilidade. Neste caso o mtodo de medio o mesmo, assim como o objecto a medir. Podem no entanto variar as condies da medio: instrumentos ou laboratrios diferentes, ocasies diferentes. Nalguns instrumentos de medio a aproximao posio de medida pode fazer-se por vrios sentidos diferentes. Em consequncia disso frequente encontrarem-se resultados diferentes. Esta propriedade designada por histerese.
A palavra calibrao geralmente utilizada quando nos referimos a um instrumento de medio, enquanto que a designao de medio de erros mais aplicada a sistemas que no efectuam medies, como, por exemplo, mquinas-ferramenta.
45
implementado pelo fabricante da mquina e por isso fcil integrar a compensao de erros por meio de software.
A existncia de um modelo matemtico simplificado pode reduzir drasticamente o nmero de medidas necessrias para descrever os erros da mquina em todo o seu volume de medio. Por exemplo, se se der uma mudana significativa dos erros em cada intervalo de amplitude 50 mm e se tivermos 1 m3 de volume til de medio da mquina ento, caso no se possua um modelo matemtico da CMM, sero necessrias cerca de 28000 medies das componentes espaciais dos erros presentes nas coordenadas4. Alm disso esses resultados s seriam vlidos sob as condies ambientais existentes no momento da sua obteno. Considerando apenas fontes de erro geomtricas (que originam os erros que designmos por geomtricos ou cinemticos), a existncia do modelo matemtico torna possvel a determinao dos erros que afectam as coordenadas em qualquer ponto do volume da mquina a partir do conhecimento dos valores dos erros cinemticos (geralmente conhecendo as funes que os descrevem). Este processo reversvel, isto , medindo os erros existentes nas coordenadas ao longo de certas linhas ou planos possvel a determinao das funes de erro. Possuindo um modelo matemtico possvel ainda determinar as componentes de erro das coordenadas em todo o volume til da mquina. Tudo isto ser a base para a existncia quer dos mtodos de medio directa de erros quer do mtodo designado por autocalibrao, que posteriormente ser descrito.
46
A compensao de erros por meio de software um processo que pode ser dividido em trs etapas fundamentais: A complexa estrutura da mquina descrita por um modelo cinemtico, que necessita de ser simples, mas que deve reproduzir adequadamente o verdadeiro comportamento e desempenho da mquina de medio de coordenadas. Os aspectos geomtricos desta descrio simplificada so expressos por meio de um modelo matemtico, o tambm chamado modelo geomtrico dos erros (que foi obtido no captulo 1). estabelecido um procedimento experimental para medir, directa ou indirectamente, os parmetros do modelo geomtrico dos erros. Quando necessrio, os resultados experimentais so processados de forma a calcular os parmetros que caracterizam o modelo geomtrico de erros, para finalmente obter as funes de erro5. O grau de eficincia dos resultados, isto , a qualidade com que eles reproduzem o comportamento da mquina, tambm avaliado. Tabelas de compensao de erros ou funes de compensao de erros so ento construdas e aplicadas aos resultados da mquina durante o seu uso, com o propsito de incrementar a sua preciso.
5 6
O procedimento realizado pelo computador por vezes denominado por processo de identificao. A correco trmica das mquinas, considerando o efeito da existncia de gradientes de temperatura, tem sido implementada comercialmente nas mquinas desde 1988, em conjunto com a compensao de erros geomtricos.
47
possveis deformaes elsticas das peas da mquina. Por outras palavras, mesmo que existam deformaes, os seus efeitos sero entendidos como fazendo parte dos diversos erros geomtricos descritos. O facto de podermos considerar um modelo matemtico comum que descreva o comportamento de variados tipos de mquina (e correspondentes estruturas diferentes), bastante importante, pois permite a elaborao de software comum, utilizvel em diversos tipos de CMM, reduzindo assim, consideravelmente, os custos de desenvolvimento dos programas.
2.5.4 Observaes
Qualquer mtodo de medio de erros e determinao de funes de erro deve verificar as seguintes condies: A mquina deve ser calibrada da mesma forma como ela usada. As medidas efectuadas devem revelar os erros da mquina em todo o volume til de medio e sob qualquer tipo de condies ambientais especificadas. Os instrumentos utilizados nas medies no devem ser muito dispendiosos. A sua utilizao deve consistir no conjunto de operaes simples, que possam ser executadas rapidamente, sem haver necessidade de o operador receber formao especfica para o fazer. Dado que os erros so medidos para realizar posterior compensao da mquina, a incerteza com a qual eles so conhecidos deve ser conforme com a preciso da CMM. Uma vez que a preciso da mquina deve ser garantida no seu ambiente de funcionamento e durante toda a sua vida til, a medio dos erros deve ser realizada imediatamente aps a instalao da mquina e repetida em intervalos de tempo regulares.
Alm disso, e em adio aos 18 erros paramtricos indicados, h ainda a considerar a medio de trs ngulos que exprimem os desvios de ortogonalidade dos deslocamentos das trs peas mveis da CMM. Nos mtodos directos os erros de afinidade (que designmos por xwy, xwz, ywz) so considerados explicitamente, enquanto que nos mtodos indirectos, como, por exemplo, de autocalibrao, eles esto implicitamente includos nos seis erros de translao. Nos quadros 2-1, 2-2, 2-3 e 2-4 esto indicados alguns dos dispositivos ou referncias utilizados para a medio directa dos diversos tipos de erro.
Erros de translao xty, xtz, ytx, ytz, ztx e zty Referncias de rectilinearidade Faces planas mecnicas ou pticas Reflector em asa Feixes laser Indicadores de deslocamento Interfermetro laser de espelho plano Fotodiodo
Quadro 2-1
Erros de posicionamento xpx, ypy e zpz Interfermetros laser Combinaes de blocos padro Blocos padro escalonados Matrizes de esferas (barras, placas ou paraleleppedos de esferas)
Quadro 2-2
Erros de rotao (deriva, cabeceio e rolamento) xrx, xry, xrz, yrx, yry, yrz, zrx, zry e zrz Autocolimadores Interfermetros laser angulares Nveis mecnicos Nveis electrnicos Dispositivos de medio de rectilinearidade separados por uma determinada distncia
Quadro 2-3
49
Erros de afinidade entre eixos xwy, xwz, ywz Esquadro mecnico com colimador Padres de perpendicularidade (pticos ou fsicos) Medies diagonais
Quadro 2-4
Nas figuras 2-1, 2-2, 2-3, 2-4 e 2-5 encontram-se alguns dos dispositivos utilizados na medio directa de erros paramtricos.
50
51
52
53
elevado de equaes, pode aplicar a tcnica do PTB utilizando apenas um vulgar computador. A aplicao deste mtodo efectuada de uma forma bastante rpida e o padro utilizado pode ser construdo com dimenses adaptadas ao tamanho do volume de medio da mquina. A principal desvantagem do mtodo do PTB que o procedimento experimental deve ser rigorosamente executado. As diversas posies ocupadas pela placa de esferas dentro do volume de medio da CMM devem estar separadas por apenas alguns centmetros. Alm disso, as diversas esferas presentes na placa tambm no devem estar separadas mais do que poucos centmetros. conveniente referir que a placa de esferas que se usa um objecto calibrado, que deve permanecer fisicamente estvel ao longo do tempo, sendo ainda necessrio possuir uma infra-estrutura adequada para a calibrar.
( p 3) ,
estaro
definidas 3np coordenadas e pn(n 1) / 2 ser o nmero total de equaes de erro nas distncias, isto , equaes do tipo (2-1). Considerando a distncia euclidiana entre quaisquer dois pontos A e B do artefacto, que uma quantidade invariante com a posio Pi
(i = 1, 2) ,
12
x xA B
)P 2 + (y B y A )P 2 + (z B z A )P 2
1 1 1
=* x B x A
)P 2 + (y B y A )P 2 + (z B z A )P 2
2 2 2
12
(2-1)
Conjugando o conjunto destas equaes com a equao (1-8), escrita na forma algbrica para cada coordenada, obtm-se um sistema de equaes, no lineares, que dever ser resolvido por um mtodo baseado geralmente no critrio dos mnimos quadrados8. As incgnitas deste sistema so, na maioria das vezes, os coeficientes dos polinmios que descrevem as funes de erro. Podem ser efectuadas duas abordagens a este problema: O artefacto est parcialmente calibrado: neste caso as distncias entre quaisquer dois pontos do artefacto so conhecidas e o segundo membro da equao (2-1) substitudo por esse valor. O artefacto no est calibrado: neste caso utilizada directamente a relao (2-1).
7 8
Physikalisch Technische Bundesantalt. Muitas vezes, antes de aplicar o mtodo dos mnimos quadrados, cada uma das equaes obtidas previamente linearizada.
54
O processo de autocalibrao um procedimento que minimiza o custo da calibrao do artefacto e reduz de forma drstica a necessidade de o artefacto apresentar estabilidade dimensional a longo prazo (consequentemente reduz o seu custo de produo). Um aspecto importante da autocalibrao que certas operaes podem ser feitas automaticamente pela mquina.
18n valores de erros paramtricos. Para um dado ponto a corrigir, efectuada interpolao linear
na tabela para determinar os valores dos erros paramtricos correspondentes a essa posio. Posteriormente as funes de erro so combinadas de forma a obter as desejadas correces nas coordenadas. Tabela de coeficientes: Quando as funes dos diversos erros paramtricos se apresentam na forma analtica (por exemplo, polinmios de Chebyshev, de Taylor ou de Legendre, B-splines, funes de Fourier, etc.), armazenam-se os coeficientes dos polinmios. Se n for a ordem desses polinmios, o nmero de valores a representar na tabela ser 18(n + 1) . O esforo computacional bastante superior aos dois casos anteriores e o clculo das funes de erro e das correces das coordenadas executado simultaneamente.
A segunda soluo indicada tem a vantagem de, quando os erros so medidos por mtodos directos, os pontos da tabela serem pontos medidos com elevada preciso. Alm disso, como no feito qualquer ajustamento (como no terceiro caso), no existem os erros inerentes qualidade do ajustamento. As segunda e
55
terceira solues podem ser utilizadas para diferentes configuraes de palpadores enquanto que a primeira apenas utilizvel para o palpador na posio com a qual foram medidos os erros.
e Y = Y1 Y2 "Ym
Y = CX + D
em que C uma matriz de tipo m n e D uma matriz de tipo m 1 . Designamos por xx e yy
x
as mdias, respectivamente, associadas a X e a Y.
As mdias e as matrizes de covarincia dos dois vectores aleatrios X e Y esto relacionadas atravs das equaes
y = C x + D
e yy = C xx C
T
(2-2)
No caso em estudo, se quisermos comparar as incertezas presentes nos dezoito erros paramtricos com as incertezas finais nas coordenadas, usamos a segunda equao de (2-2). Representamos por X o vector aleatrio correspondente aos dezoito erros paramtricos:
X = [xpx xty xtz ytx ypy ytz ztx zty zpz xrx xry xrz yrx yry yrz zrx zry zrz ]
e por Y o vector aleatrio correspondente s coordenadas finais corrigidas:
Y = [x y z ]
Tal como vimos no captulo 1 (na parte referente ao estudo dos movimentos das partes mveis da CMM), os elementos dos vectores aleatrios X e Y esto relacionados pela equao matricial (1-8)11:
10 11
Ver [6]. Tal como no resto deste trabalho, usamos aqui a relao linearizada.
56
x xd x0 xpx + ytx + ztx 0 xrz xry + yry xd 0 xrx yrx y d y = y d + y0 + xty + ypy + zty + 0 + 0 z z d z0 xtz + ytz + zpz 0 xrx zd 0 xrz yrz zrz xry + yry + zry x 0 xrx yrx zrx y0 0 + xrz + yrz + zrz 0 xry yry zry xrx + yrx + zrx z0
Podemos escrever esta relao na forma matricial Y = CX + D , onde as matrizes C e D so dadas, respectivamente, por
0 1 0 0 1 0 0 1 0 0 C = 0 1 0 0 1 0 0 1 0 zd z 0 0 0 1 0 0 1 0 0 1 y d + y 0 e
zd + z 0 0 x0
yd y0 x0 0
0 z d z0 y0
zd + z 0 0 x0
y0 x0 0
0 z0 y0
z0 0 x0
y0 x0 0
xd + x 0 D = yd + y 0 zd + z0
Neste caso teremos m = 3 e n = 18 . Uma vez que consideramos os erros paramtricos independentes, a matriz de covarincia a eles associada, xx, uma matriz diagonal de dimenso 18. Na diagonal principal esto as varincias de cada uma dos erros que compem o vector X:
xx
2 xpx 0 = # 0
xty
# 0
A matriz de covarincia das coordenadas corrigidas, yy, tambm uma matriz diagonal que, neste caso, contm na diagonal principal a varincia de cada uma das coordenadas corrigidas: yy
2 x = 0 0
0 0 2z
Quando, para se determinarem os erros paramtricos, se utilizam as tcnicas da autocalibrao, as incertezas nos resultados so estimadas atravs da matriz de varincia-covarincia, que pode apresentar dimenses da ordem de 100 100 .
57
Os mtodos descritos para identificar e medir os erros geomtricos das mquinas, que utilizam um modelo cinemtico baseado na considerao de um modelo rgido ou quase-rgido da CMM, pela sua natureza no permitem a separao dos efeitos provocados pelas deformaes elsticas das estruturas da mquina13. Estes efeitos so identificados como erros de translao. A possibilidade de utilizar software pouco dispendioso para compensar as deformaes elsticas, fez com que se tornasse mais fcil projectar e construir mquinas de medio mais leves e mais rpidas. Nos ltimos dez anos houve um acrscimo de um factor prximo de cinco na velocidade mxima de deslocamento das partes mveis da CMM. Podem ser aplicados diferentes mtodos para verificar se uma dada mquina cumpre os requisitos necessrios para a considerao de um modelo de estrutura quase rgida. De facto, actualmente possvel medir mudanas no desvio de forma plana da mesa da CMM, devidas s diferentes posies assumidas pelas partes
12 13
Ver [20]. Estas deformaes so devidas desigual distribuio das massas das diversas partes constituintes da mquina.
58
mveis da mquina. tambm possvel comparar amplitudes de ngulos entre direces de movimentos efectuados ao longo de diferentes linhas paralelas. Alm disso, tambm se podem comparar medidas de comprimento de um padro material alinhado com um eixo cinemtico, assumindo diferentes posies em relao um outro eixo e mantendo constantes as coordenados em relao aos dois eixos restantes. Se, em todas estas situaes descritas, as variaes verificadas14 forem muito reduzidas (e como tal explicadas luz do conceito de repetibilidade da CMM), ento a mquina verifica as condies que permitem a considerao de um modelo rgido ou quase-rgido para a sua estrutura.
14 15
Variaes no valor dos desvios de forma plana da mesa, nos ngulos entre direces e nos comprimentos dos padres. A pea a medir, o padro usado para avaliar os erros e a estrutura da mquina apresentam a mesma temperatura.
59
2.12 Custos
A compensao dos erros cinemticos por tcnicas de software proporciona uma reduo de custos que alguns fabricantes consideram que pode variar entre 5% e 50%. Um facto incontroverso a reduo de custos de produo das CMMs que se verificou nas ltimas duas dcadas, reduo essa especialmente devida aplicao das tcnicas de compensao por software. O quadro 2-5 descreve, de forma sucinta, a evoluo verificada nas CMMs entre 1980 e 1995 [21]:
1980 Erro mximo Velocidade de medio Velocidade de translao Materiais utilizados Temperatura admissvel Mtodos de compensao de erros
1995
(6 + 8D) m
0.2 m / min 5 m / min
(3 + 4 D) m
0.7 m / min 26 m / min
ao / granito
20 o C 2 o C
tambm alumnio
25o C 10 o C
por software
Custos de produo
100
60
Este programa resolve, num certo grau, o problema inverso resolvido pela CMM virtual.
17 18
J. A. BOSCH - Co-ordinate measuring machine and systems, Marcel Dekker Inc., Nova Iorque, 1995. Ou melhor, funes que descrevam com boa aproximao os diversos erros cinemticos da CMM.
61
descreve o comportamento cinemtico da mquina de medio de coordenadas. Em seguida, aps a escolha do padro a usar e aps a elaborao da estratgia de medio, so medidas as coordenadas de pontos sobre esse padro. Conjugando o modelo cinemtico com os dados adquiridos na medio, so determinados os coeficientes das funes que descrevem os diversos erros paramtricos. Para tal usa-se uma tcnica de ajustamento que, geralmente, baseada no critrio dos mnimos quadrados. Pela anlise dos parmetros das funes de erro possvel corrigir, por software, as coordenadas fornecidas pela mquina em qualquer processo de medio.
estrutura da mquina
modelo cinemtico
Caso seja pretendido, possvel detectar e diagnosticar fontes de erro inerentes prpria estrutura da CMM, fazendo a anlise das funes de erro, com o fim de poder efectuar, mais tarde, a correco mecnica da mquina.
62
Alm disso, a autocalibrao um mtodo que se pretende realizvel de forma automtica e independente da temperatura mdia do ambiente onde a mquina opera. Deseja-se ainda que a autocalibrao fornea correces vlidas, mesmo quando a mquina opere em condies diferentes das condies standard.
figura 2-7 - Placa de esferas Para estimar os coeficientes do modelo baseado nas 18 funes cinemticas de erro21, as coordenadas dos pontos desse padro so lidas pela mquina (e posteriormente registadas), e para tal ele colocado em diferentes posies, que se pretende que cubram de forma homognea o volume de medio da CMM. O software construdo com base no modelo cinemtico dos erros, pode ser mais tarde utilizado para corrigir em tempo real as coordenadas indicadas pela mquina na medio de pontos sobre qualquer pea.
Na processo de autocalibrao que vamos descrever utilizamos sempre padres calibrados. Tal considerao permite reduzir de forma significativa o esforo computacional. No entanto possvel efectuar a autocalibrao com o uso de padres no calibrados. Neste caso o nmero de equaes necessrias para realizar o ajustamento das funes de erro ser superior. 20 Podero tambm ser utilizados blocos-padro e blocos-padro escalonados. 21 Os erros considerados so os 3 erros de posicionamento (xpx, ypy, zpz), os 6 erros de translao (xty, xtz, ytx, ytz, ztx, zty) e os 9 erros de rotao (xrx, xry, xrz, yrx, yry, yrz, zrx, zry, zrz). Os efeitos dos erros de falta de ortogonalidade entre os eixos da mquina encontram-se includos nos diversos erros de translao, conforme referimos no captulo 1.
19
63
M = ( x m , ym , zm )
e as coordenadas exactas
P = x, y, z
do ponto medido, onde, como no captulo 1 onde se construiu o modelo cinemtico, xm , y m , z m representam as coordenadas lidas pela mquina e ( x , y , z ) as correspondentes coordenadas corrigidas. Assim
E (m) = P M
Este erro E (m) decomposto segundo duas componentes: uma que resultado dos erros sistemticos, designada por E ( M ) , que funo das leituras efectuadas pela CMM, e outra devida aos erros aleatrios (que se supem ter distribuio gaussiana). A contribuio desta segunda componente bastante reduzida quando comparada com a da primeira. O erro sistemtico E ( M ) inerente ao movimento do palpador da mquina e pode ser decomposto em erros de translao, de posicionamento e de rotao. Tal como vimos no captulo 1, podemos obter as coordenadas ( x , y , z ) de qualquer ponto P situado no volume til de medio da CMM, a partir dos valores de x d , yd e zd (valores das translaes dominantes das peas mveis, necessrias para alcanar a posio ocupada por P), das coordenadas ( x0 , y0 , z0 ) da posio do palpador em relao ao ponto de referncia do brao e dos dezoito erros paramtricos correspondentes s 64
rotaes, translaes e desvios de posicionamento das partes mveis da CMM. Tal como j referimos, usamos o modelo (1-6):
x y = z
e
x d + xpx t + x y R p yd xtz
onde as coordenadas esto referidas a um referencial ortogonal. Esta relao bastante complexa e de difcil manipulao matemtica. Como j referimos, torna-se por isso til possuir um modelo mais simples que descreva ainda com boa preciso o comportamento cinemtico da mquina. Para tal usada a linearizao da relao anterior (1-8):
x xd x0 xpx + ytx + ztx 0 xrz xry + yry xd 0 xrx yrx y d y = y d + y0 + xty + ypy + zty + 0 + 0 z zd z0 xtz + ytz + zpz 0 xrx zd 0 xrz yrz zrz xry + yry + zry x 0 xrx yrx zrx y0 0 + xrz + yrz + zrz 0 xry yry zry xrx + yrx + zrx z0
(2-3)
Como foi referido no final do captulo 1, na avaliao dos erros cinemticos vamos considerar os erros de ortogonalidade, xwy, xwz e ywz, como implicitamente includos nas seis translaes esprias: xty, xtz, ytx, ytz, ztx e zty. O processo de autocalibrao consiste na determinao conjunta dos dezoito erros cinemticos a partir da medio pela mquina das diversas posies ocupadas por pontos de um padro que, sem perda de generalidade22, um artefacto calibrado, no qual esto definidos diversos pontos, sendo conhecida com grande exactido a distncia entre eles. Este artefacto normalmente uma barra ou uma placa com diversas esferas, na qual se conhecem as distncias entre os centros das esferas (figura 2-9).
dAB
22
tambm possvel realizar o processo de autocalibrao sem possuir um padro calibrado, tendo, para efeito, que efectuar um nmero maior de medies.
65
Supondo que temos um padro com n esferas, possvel definir por meio dos seus centros
n(n 1) 2
segmentos de recta diferentes e correspondentes distncias. Se colocarmos esse artefacto em m posies distintas definem-se
mn (n 1) 2
distncias.
Sejam A e B os pontos correspondentes aos centros de duas esferas do artefacto, que se encontra colocado numa determinada posio dentro do volume de medio da CMM. Sejam ( x A , y A , z A ) e ( x B , y B , z B )
respectivamente. Caso se use um padro calibrado, a distncia entre os dois pontos fornecida pelo fabricante do padro, sendo conhecida com grande preciso (designa-se por distncia convencionalmente exacta). Seja d AB a distncia convencionalmente exacta entre os pontos A e B, dada por23:
d AB =
( x B x A )2 + ( y B y A )2 + (z B z A )2
(2-4)
As coordenadas ( x A , y A , z A ) e ( x B , y B , z B ) que surgem na relao anterior podem ser determinadas em funo dos erros paramtricos a partir de (2-3), usando as coordenadas indicadas pela CMM para A e B24, que representamos, respectivamente, por (xm ( A), y m ( A), zm ( A)) e (x m ( B), y m ( B), z m ( B)) e que satisfazem a relao:
xm x 0 xd + ym = y0 yd zd z0 zm
onde ( x0 , y0 , z0 ) so as coordenadas da posio do palpador em relao ao ponto de referncia do brao e
( xd , yd , zd )
so as amplitudes dos deslocamentos das trs partes mveis da mquina, segundo as trs direces
respectivas, necessrios para alcanar a posio ocupada pelo ponto a medir. Podemos escrever para o ponto A:
23
(x B x A )2 + (y B y A )2 + (z B z A )2
(que nunca
conhecida) no igual ao valor da distncia d AB fornecida pelo fabricante do padro. No entanto a diferena entre a distncia exacta e o valor indicado pelo fabricante to reduzida que podemos tomar d AB como o valor exacto para a
24
distncia entre os pontos A e B . Da a designao de distncia convencionalmente exacta. A CMM no mede directamente as coordenadas dos centros das esferas. Estas so obtidas a partir da medio de vrios pontos uniformemente distribudos sobre a sua superfcie, num mnimo de quatro. A partir desses pontos o software da mquina calcula as coordenadas do centro da esfera e o respectivo raio. Caso sejam medidos mais do que quatro pontos (o que recomendvel), os valores das coordenadas do centro e do raio da esfera so ajustados por meio do critrio dos mnimos quadrados (pela minimizao da funo que d a soma dos quadrados das distncias dos pontos medidos sobre a esfera esfera ajustada). Assim, considerando tambm o facto de as esferas terem um raio reduzido e de os erros variarem localmente de forma pouco significativa, podemos considerar que os valores ajustados para as coordenadas do centro da esfera sero aproximadamente iguais aos valores que se obteriam se a mquina pudesse medir directamente as coordenadas do seu centro. Queremos com isto dizer que os erros seriam da mesma ordem de grandeza.
66
xd ( A) x m ( A) x0 y d ( A) = y m ( A) y 0 z ( A) z ( A) z d m 0
x d ( B ) x m ( B ) x 0 y d ( B) = ym ( B) y 0 zd ( B ) zm ( B ) z0
Sero os valores dos deslocamentos assim calculados que iro entrar nas equaes do nosso modelo linearizado. Desenvolvendo a equao matricial (2-3) obtemos:
x = x d + x0 + xpx + ytx + ztx xrz yd + xry + yry z d + xrz yrz zrz y 0 + xry + yry + zry z0 y = y d + y 0 + xty + ypy + zty + xrx yrx zd + xrz + yrz + zrz x 0 + xrx yrx zrx z0 z = zd + z 0 + xtz + ytz + zpz + xrx y d + xry yry zry x0 + xrx + yrx + zrx y 0
(2-5)
Como oportunamente descrito, uma das condies necessrias para a aplicao do processo de autocalibrao que os diversos erros paramtricos sejam independentes entre si e que cada um deles seja dependente apenas da posio da parte mvel que o origina. Por exemplo, para o erro xrz (rotao do prtico da CMM em torno do eixos das cotas), o seu valor depende apenas da posio do prtico (que se move segundo OX), isto , depende unicamente da amplitude do deslocamento x d , sendo independente das posies ocupadas pelo carro e pelo brao, ou seja, independente das coordenadas correspondentes aos respectivos deslocamentos:
yd e zd . Desta forma, o erro xrz poder ser descrito como uma funo de x d e, de uma forma mais correcta,
onde no modelo temos xrz devemos escrever xrz( xd ) . Se fizermos de forma anloga para os outros erros paramtricos, as equaes (2-5) tomam a forma:
x = x d + x 0 + xpx( x d ) + ytx( y d ) + ztx( z d ) xrz( x d ) y d + xry( x d ) + yry( y d ) z d + + xrz( x d ) yrz( y d ) zrz(z d ) y 0 + xry( x d ) + yry( y d ) + zry(z d ) z 0 y = y d + y 0 + xty( x d ) + ypy( y d ) + zty( z d ) + xrx( x d ) yrx( y d ) z d +
(2-6)
(x B x A )2 + (y B y A )2 + (z B z A )2 d AB 2 = 0
(2-7)
67
As coordenadas exactas ( x A , y A , z A ) e ( x B , y B , z B ) so desconhecidas. No entanto, por meio de (2-6), podemos escrev-las como funo das amplitudes dos deslocamentos das peas mveis, necessrios para alcanar as posies dos pontos A e B: (x d ( A), y d ( A), z d ( A)) e
posio do palpador em relao ao ponto de referncia do brao: ( x0 , y0 , z0 ) e dos valores dos dezoito erros paramtricos correspondentes s posies de A e B. Vir assim para A:
yA
[ ( ) ( )] + [ xrz(x ( A)) yrz(y ( A)) zrz(z ( A))] y + [xry(x ( A)) + yry( y ( A)) + zry(z ( A))] z = y ( A) + y + xty(x ( A)) + ypy( y ( A)) + zty(z ( A)) + [ xrx(x ( A)) yrx( y ( A))] z ( A) + + [xrz(x ( A)) + yrz(y ( A)) + zrz(z ( A))] x + [ xrx(x ( A)) yrx( y ( A)) zrx(z ( A))] z
d 0 d d d
d 0 d d d d d d d d d 0 d d d 0
(2-8)
( ) ( ) ( ) + [ xry(xd ( A)) yry(yd ( A)) zry(zd ( A))] x0 + [xrx(xd ( A)) + yrx(yd ( A)) + zrx(zd ( A))] y0
( ) ( ) ( ) ( )
e analogamente para B:
yB
[ ( ) ( )] + [ xrz(x (B)) yrz( y (B )) zrz(z (B))] y + [xry(x (B)) + yry( y (B )) + zry(z (B ))] z = y (B) + y + xty(x (B )) + ypy( y (B )) + zty(z (B)) + [ xrx(x (B )) yrx( y (B ))] z (B ) + + [xrz(x (B )) + yrz( y (B )) + zrz(z (B ))] x + [ xrx(x (B)) yrx(y (B)) zrx(z (B ))] z
d 0 d d d 0
d 0 d d d d d d d d d 0 d d d 0
(2-9)
[x (B) x ( A) + xpx(x (B)) xpx(x ( A)) + ytx(y (B)) ytx(y ( A)) + ztx(z (B)) ztx(z ( A)) +
( ) ( ) + [xry(xd (B )) + yry(yd (B))] zd (B ) [xry(xd ( A)) + yry(yd ( A))] zd ( A) + + [xrz(xd ( A)) + yrz(yd ( A)) + zrz(zd ( A)) xrz(xd (B )) yrz(yd (B)) zrz(zd (B ))] y0 + 2 + [ xry(xd ( A)) yry( yd ( A)) zry(zd ( A)) + xry(xd (B )) + yry( yd (B )) + zry(zd (B ))] z0 ] +
+ xrz xd ( A) yd ( A) xrz xd (B ) yd (B ) +
d d d d d d d d
68
( ) ( ) ( ) ( ) ( ) ( ) [ + [ xrx(x (B )) yrx(y (B))] z (B ) + [xrx(x ( A)) + yrx( y ( A))] z ( A) + + [ xrz(x ( A)) yrz( y ( A)) zrz(z ( A)) + xrz(x (B )) + yrz(y (B )) + zrz(z (B ))] x + + [xrx(x ( A)) + yrx( y ( A)) + zrx(z ( A)) xrx(x (B)) yrx( y (B )) zrx(z (B ))]z ] + + [z (B ) z ( A) + xtz(x (B)) xtz(x ( A)) + ytz(y (B)) ytz( y ( A)) + zpz(z (B )) zpz(z ( A))
d d d d d d d d d d d d 0 2 d d d d d d 0
( ) ( ) + [xry(xd ( A)) + yry( yd ( A)) + zry(zd ( A)) xry(xd (B )) yry(yd (B )) zry(zd (B ))] x0 + 2 + [ xrx(xd ( A)) yrx(yd ( A)) zrx(zd ( A)) + xrx(xd (B)) + yrx( yd (B )) + zrx(zd (B ))] y0 ]
xr x x d ( A ) y d ( A ) + xr x x d ( B ) y d ( B ) +
d AB 2 = 0
Os diversos erros paramtricos que surgem na expresso (2-10) so, como se disse, apenas funo da amplitude do deslocamento da parte mvel que os origina. No entanto essa funo nunca conhecida, nem poder ser descrita por uma expresso simples. Devido forma como os erros variam no volume da mquina, podemos aproximar essas funes erro por funes mais simples, podendo ser utilizados vrios tipos de funes como, por exemplo, funes de Fourier, polinmios de Taylor, de Chebyshev ou de Legendre, B-Splines, etc. Numa primeira aproximao vamos considerar que as funes que descrevem os erros so polinmios de segundo grau. A escolha dos polinmios deste tipo devida ao facto de eles darem uma razovel aproximao para o comportamento da funo que descreve a variao do erro paramtrico e devida facilidade com que eles so algbrica e numericamente manipulveis. A considerao de um grau mais elevado para os polinmios, ou a considerao de outros tipos de funes, poder trazer vantagens a nvel da preciso do ajustamento da funo de erro. No entanto, isso causar um aumento da complexidade do modelo e consequente aumento da dificuldade do clculo numrico. Convm neste ponto referir que a considerao de um grau muito elevado para o polinmio poder no ser benfica, uma vez que isso far com que aumente o nmero de oscilaes da funo que aproxima o erro. No caso dos polinmios, so habitualmente utilizados entre 4 e 7 termos. Numa fase posterior sero considerados outros tipos de funes como aquelas acima referidas. No entanto, salvo as devidas alteraes, o estudo do ajustamento, baseado no princpio dos mnimos quadrados, a desenvolver, ser nesses casos semelhante ao que vamos descrever usando polinmios de segundo grau. Consideremos para os erros dependentes do movimento do prtico:
xpx( xd ) = a2 ( xd ) + a1 xd + a0
2
xty( xd ) = b2 ( xd ) + b1 xd + b0
2
xtz( xd ) = c2 ( xd ) + c1 xd + c0
2
(2-11)
xrx xd = d 2 xd
( )
( )2 + d1xd + d0
2
xry( xd ) = e2 ( xd ) + e1 xd + e0
xrz xd = f 2 xd
( )
( )2 + f1xd + f 0
69
ytx( yd ) = g2 ( yd ) + g1 yd + g0
2
ypy( yd ) = h2 ( yd ) + h1 yd + h0
2
ytz( yd ) = i2 ( yd ) + i1 yd + i0
2
(2-12)
yrx yd = j2 yd
( )
( )2 + j1 yd + j0
2 2
yry( yd ) = k2 ( yd ) + k1 yd + k 0 yrz( yd ) = l2 ( yd ) + l1 yd + l0
e para o brao:
ztx(zd ) = m2 ( zd ) + m1zd + m0
2
zpz( zd ) = o2 ( zd ) + o1zd + o0
2
(2-13)
zry(zd ) = q2 ( zd ) + q1zd + q0
2
Em seguida, substitumos na expresso (2-10) os dezoito erros paramtricos pelos polinmios que os aproximam, usando (2-11), (2-12) e (2-13). Obtemos desta forma, para um dado par de pontos A e B, uma equao onde se encontram presentes os deslocamentos lidos pela mquina:
(xd ( B), y d ( B), zd ( B)) , as coordenadas ( x0 , y0 , z0 ) da posio do palpador em relao ao ponto de referncia do
brao, a distncia convencionalmente exacta entre os pontos A e B, d AB , e os diversos coeficientes dos polinmios. Para um dado par de pontos as nicas incgnitas sero os 54 coeficientes dos polinmios: a0 , a1 ,
a 2 , b0 , b1 , b2 , c0 , , p2 , q0 , q1 , q2 , r0 , r1 e r2 .
Seja f a funo definida pela equao (2-10), com os erros substitudos pelos polinmios que os descrevem:
f : IR 54 IR
70
f (a0 , a1 , a2 , b0 , b1 , b2 ," , q0 , q1 , q2 , r0 , r1 , r2 ) = 0
(2-14)
Numa primeira fase, foram realizados diversos programas baseados no software de clculo Mathematica25, sendo utilizados diferentes tipos de funes para descrever os erros paramtricos: polinmios de segundo grau na forma cannica, polinmios de Fourier, polinmios de Legendre, polinmios de Chebyshev e polinmios mnicos de Chebyshev. Genericamente, vamos ento considerar que pretendemos determinar n coeficientes (que no caso atrs exposto para os polinmios de segundo grau so 54). Uma vez que temos n incgnitas a determinar, precisamos de ter no mnimo n equaes que relacionem esses coeficientes (equaes do tipo (2-14), por exemplo). Para tal, utilizando o padro calibrado colocado em diferentes posies dentro do volume til de medio da mquina, vamos medir pelo menos n pares de pontos distintos, referentes a outras tantas distncias, e construir as equaes respectivas. Sendo c o nmero de equaes construdas (com c n ), teremos f 1 , f 2 , , f c funes distintas (que no caso dos polinmios apresentam-se na forma (2-14)). Para simplificao da notao designaremos os coeficientes a determinar (que no caso descrito eram a0 ,
f i L1 , L2 ," , Ln = 0
i = 1," , c
Tal como descrito no apndice E, vamos, partindo de uma aproximao inicial para os coeficientes dos polinmios, L 0 = L1(0) , L2 (0) ," , Ln (0) , determinar o conjunto de parmetros L1 , L2 ," , Ln que melhor satisfazem, no sentido dos mnimos quadrados, o modelo funcional f i ( L1 , L2 ," , Ln ) = 0 , para i = 1," , c . Designando o conjunto das funes
( )
( L1 , L2 ,", Ln )
obtendo-se assim o modelo funcional linearizado Av = f , onde A representa a matriz Jacobiana calculada na
F ( ) 0 aproximao inicial L( ) : , f representa o vector dos termos independentes: F L 0 , e v o vector dos L L(0 )
resduos. O programa de ajustamento realizado baseia-se num algoritmo que, de uma forma geral, consiste nos seguintes passos: (i) construo da funo F atrs definida; (ii) construo da matriz Jacobiana de F, designada por A, de dimenses (c, n) ; (iii) construo do vector dos termos independentes f, com dimenso (c,1) ; (iv) introduo do vector das aproximaes iniciais L 0 = L1(0) , L2 (0) ," , Ln (0) ;
( )
( )
25
Mathematica para Macintosh, verso 2.2, instalado na plataforma Power Macintosh, modelo 6100/66.
71
(v) clculo da matriz A e do vector f com os valores da aproximao inicial L 0 ; (vi) determinao do vector dos resduos v, de dimenso (n,1) , atravs de v = A T AA T ApE-7)26; (vii) clculo dos parmetros ajustados por meio de L = L 0 + v , (conforme ApE-8); (viii) atribuio do vector dos parmetros ajustados L aproximao inicial L 0 e repetio dos passos (v) , (vi) , (vii) , at que o vector dos resduos seja prximo do vector nulo (o nmero de iteraes a realizar depende da aproximao inicial e da convergncia do mtodo). Vamos neste ponto fazer algumas consideraes acerca do passo (vi) do algoritmo atrs exposto. O clculo do vector dos resduos v por meio de v = A T AA T
( ) ( )
( )
f (conforme
simtrica AAT , de dimenses (c, c) . Uma vez que aconselhvel que a redundncia assuma um valor elevado27, a matriz a inverter ser uma matriz de grandes dimenses, no sendo aconselhvel o seu clculo numrico. De qualquer modo, numa primeira experincia, foi tentada a inverso de AAT por meio de uma sub-rotina j implementada no software, mas, devido s caractersticas da matriz AAT , os resultados obtidos apresentavam uma muito m preciso, uma vez que a matriz era aproximadamente singular. Tal veio a verificar-se para qualquer que fosse o tipo de funo usada para descrever os erros paramtricos. Alm disso, para matrizes de dimenso elevada, o software no tinha capacidade para realizar a inverso. O problema da inverso da matriz AAT pode ser contornado atravs da considerao de um vector auxiliar k de dimenses (c,1) , definido por k = AA T
)1 f
o vector dos resduos atravs de v = AT k . Assim, neste caso, podemos decompor a determinao do vector v nos seguintes passos: (i) resoluo do sistema de c equaes lineares a c incgnitas AA T k = f ; (ii) determinao do vector v atravs de v = AT k . O clculo de k pela resoluo daquele sistema (por meio de uma sub-rotina pr-definida, existente no software utilizado) bastante mais simples, exigindo menor esforo computacional. Tal procedimento tambm foi posto em prtica e mais uma vez os resultados obtidos apresentavam uma preciso muito reduzida (conforme mensagem dada pelo software). Pensamos que tal no foi devido s caractersticas das funes que foram utilizadas para descrever os erros (polinmios de segundo grau), mas sim devido s prprias caractersticas da matriz AAT , uma vez que usando outro tipo de funes ocorreram problemas semelhantes. De facto, qualquer que fosse o tipo de funo utilizada para descrever os erros geomtricos, a matriz AAT era sempre uma matriz
Esta expresso permite calcular o vector dos resduos sempre que se considera que os parmetros a determinar no esto correlacionados e que possuem todos o mesmo peso, ou seja, que a matriz dos pesos W corresponde matriz identidade. 27 Segundo a maioria dos autores, a redundncia deve ser cerca de nove dcimos do nmero de observaes efectuadas (nmero de distncias medidas). Assim, por exemplo, se se pretenderem determinar 100 parmetros, devem ser medidos cerca de 1000 pares de pontos e correspondentes 1000 distncias.
26
72
mal condicionada28. Com vista a resolver o sistema AA T k = f , foram ento postos em prtica alguns mtodos, existentes no software disponvel, para a resoluo de sistemas de equaes lineares, capazes de proporcionar melhores resultados para sistemas com matrizes mal condicionadas (ver [16]): Decomposio do tipo LU da matriz AAT (A matriz AAT escrita de maneira nica na forma
AA T = LU , sendo L uma matriz triangular inferior cujos elementos da diagonal principal so iguais
a 1 e U uma matriz triangular superior). Mtodo das equaes normais (que dado um sistema de n equaes lineares em n incgnitas, Bx = b , resolve o sistema equivalente B T Bx = B T b ). Decomposio QR da matriz do sistema AA T k = f ( AA T = Q T R ). Mtodo das equaes semi-normais (decomposio QR da matriz do sistema, seguida na sua substituio no sistema das equaes normais, o que conduz decomposio de Cholesky). Decomposio de Schur da matriz do sistema ( AA T = QTQ T ). Clculo da pseudo-inversa29 da matriz AAT . Mtodo iterativo de Jacobi, que baseado na partio AA T = D E , onde D a diagonal da matriz
AAT , e que resumidamente pode ser descrito na forma
r (i ) = f AAT k (i ) (i +1) i i = k ( ) + D 1r ( ) k
Qualquer que fosse a funo utilizada para descrever os erros, nos diversos mtodos postos em prtica o determinante da matriz AAT era sempre muito prximo de zero (geralmente da ordem de 1 10 25 ), ou seja, a matriz era quase singular, e por conseguinte bastante mal condicionada. Esse mau condicionamento consequncia do mau condicionamento da matriz Jacobiana A (provavelmente tal devido ao facto de linearizarmos o modelo funcional). Alm disso, a fraca qualidade dos resultados, obtidos por qualquer um dos mtodos, poder porventura tambm ser explicada pelo facto de termos linearizado o modelo funcional. Em alguns dos mtodos, sempre que existia essa opo na sub-rotina do software, foram utilizadas matrizes de permutao, que permitiam efectuar uma reordenao das linhas da matriz do sistema, com o propsito de realizar decomposies com um grau superior de preciso. Com essa opo foram obtidas algumas melhorias nos resultados, no sendo estes, no entanto, de alguma forma satisfatrios. Convm ainda referir que em todos os mtodos foram executadas diversas iteraes, sem ser obtida melhoria significativa dos resultados. Realizando vrias iteraes, na grande maioria das vezes o processo divergia, ou convergindo as vrias solues obtidas era pouco precisas.
28
Numa matriz mal condicionada as linhas ou colunas so aproximadamente linearmente dependentes e, por conseguinte, o seu determinante, se existir, sempre muito prximo de zero. Dada uma matriz B, define-se a sua pseudo-inversa B B (que existe sempre, qualquer que seja a matriz B), atravs de
29
B B = BT B
( )
BT
73
Uma vez que os resultados obtidos pela utilizao do software Mathematica no foram de forma alguma satisfatrios, devido ao facto da matriz do sistema AA T k = f ser sempre uma matriz muito mal condicionada e nenhum dos mtodos implementados ser capaz de ultrapassar essa dificuldade, no sero apresentados resultados dessas implementaes prticas. Foi ento utilizada outra ferramenta de clculo: a biblioteca de rotinas de ajustamento da NAG. As rotinas a existentes resolvem o problema dos mnimos quadrados sem efectuar a linearizao da funo a minimizar, facto que traz inegveis vantagens em termos de preciso. Alm disso a sua preciso numrica bastante superior preciso proporcionada pelo software utilizado antes. Seguidamente ser feita a descrio da sua implementao.
Minimizar x
F ( x)
T
onde x IR n , ou seja, x = ( x1 , x2 ," , xn ) . Um caso particular de minimizao de funes ocorre quando a funo a minimizar pode ser expressa como a soma dos quadrados de vrias funes (que, no caso geral, vamos considerar que so no lineares30). Nessas circunstncias, a minimizao denominada por problema dos mnimos quadrados e a sua formulao matemtica agora a seguinte:
Minimizar x
fTf =
f
i =1
2 i
(x) ,
x IR n
onde na posio i do vector f, de m componentes, se encontra a funo f i ( x ) . Recordamos que gradiente da funo F ( x ) , que pretendemos minimizar, o vector g( x ) cujos elementos so as primeiras derivadas parciais de F ( x ) , isto ,
g (x ) =
F (x ) F (x ) F ( x ) , ," , x x xn 1 2
A sua importncia deve-se ao facto de ele dever ser nulo no mnimo livre de uma funo cujas primeiras derivadas so contnuas. A matriz das segundas derivadas parciais de F ( x ) , denotada por G( x ) , denominada por matriz Hessiana: o elemento situado na posio (i , j ) corresponde a
2 F ( x) . xi x j
Contrariamente minimizao efectuada com o auxlio do software Mathematica atrs descrita, onde inicialmente era feita a linearizao do modelo funcional, a minimizao efectuada com o auxlio das rotinas da NAG vai usar as funes tal e qual elas so definidas, sem efectuar a sua linearizao prvia.
30
74
Se a funo F ( x ) tem segundas derivadas contnuas, ento num mnimo livre de F a matriz G( x ) tem de ser semi-positiva definida31. Em problemas de mnimos quadrados no lineares ainda habitual utilizar a matriz das primeiras derivadas parciais do vector das funes f ( x ) , ou matriz Jacobiana de f ( x ) , cujo elemento genrico situado na posio (i , j ) corresponde a
f i ( x ) . x j
Considerando que todas as funes no lineares tm segundas derivadas contnuas numa vizinhana da soluo, ento as condies seguintes so condies suficientes para que um ponto x * seja um mnimo local livre da funo F ( x ) :
onde
( ) (ii) G(x ) uma matriz positiva definida g(x ) representa a norma euclidiana de g(x ) .
(i)
g x* = 0 e
*
32
{ } que,
no limite, converge para a soluo x * . Para decidir quando termina o clculo de aproximaes sucessivas para a soluo da minimizao, realizado em todas as iteraes um teste de convergncia, de forma a verificar quando que a estimativa da soluo obtida nessa iterao uma aproximao adequada ao mnimo que se pretende calcular. A sequncia construda satisfaz:
x(
k + 1)
k k k = x ( ) + ( ) p( )
k k k +1 k onde o vector p( ) representa a direco de procura e ( ) tal que F x ( ) < F x ( ) , sendo determinado
) ( )
por meio de uma tcnica de optimizao de funes de uma varivel existente nas rotinas utilizadas. De uma forma muita resumida, as rotinas utilizadas na minimizao so baseadas nos mtodos a seguir descritos, sendo a diferena entre eles devida essencialmente ao nvel de informao existente acerca das derivadas da funo a minimizar F ( x ) , necessrias definio da direco de procura da soluo:
k Mtodo de Newton - Este mtodo usa a matriz Hessiana G x ( ) , ou uma aproximao por k diferenas finitas de G x ( ) , para definir a direco de procura.
( )
( )
k k Mtodo Quasi-Newton - Este mtodo aproxima a matriz Hessiana G x ( ) por uma matriz B ( ) ,
( )
que modificada em cada iterao a partir da informao obtida acerca da curvatura da funo F, ao longo da ltima direco de procura. Os algoritmos baseados neste mtodo, embora sejam
Uma matriz quadrada A, de ordem n, semi-positiva definida se A simtrica ( A T = A ) e se x T Ax 0 , qualquer que seja o vector x de dimenso n.
31 32
Uma matriz quadrada A, de ordem n, positiva definida se A simtrica e se x T Ax > 0 , para todo o vector x de dimenso n.
75
menos robustos que os baseados no mtodo anterior, so mais eficientes, uma vez que a matriz
k G x ( ) no calculada nem aproximada por diferenas finitas.
( )
Quando a funo a minimizar tem a forma particular de uma soma de quadrados de funes no lineares (problema dos mnimos quadrados), os algoritmos, que embora tambm sejam baseados nos dois mtodos referidos atrs, vo explorar a estrutura particular que a matriz Hessiana vai tomar, de modo a incrementar a eficincia computacional. Uma vez que a funo a minimizar do tipo:
F ( x) =
a matriz Hessiana da forma
f
i =1
2 i
( x) ,
G(x ) = 2 J (x )T J (x ) +
, f (x)G (x)
i =1 i i
onde J ( x ) a matriz Jacobiana do vector de funes f ( x ) e Gi ( x ) a matriz Hessiana da funo f i ( x ) . Na vizinhana da soluo, o valor de f ( x ) muitas vezes bastante reduzido quando comparado com o valor tomado por J (x ) J (x ) , sendo nesses casos 2 J ( x ) J ( x ) uma aproximao bastante adequada para a
T
T
matriz G( x ) , trazendo isso como vantagem evitar o clculo ou a aproximao das segundas derivadas de
{fi (x)} .
Os critrios de convergncia variam de rotina para rotina, uma vez que nalguns casos existe mais informao disponvel a ser avaliada (como por exemplo a matriz Hessiana ser positiva definida). De qualquer modo os princpios dos diversos critrios so os mesmos e em termos no matemticos podem ser assim expostos:
k (i) a sequncia x ( ) converge? k
(iii) so satisfeitas as condies necessrias e suficientes para que o valor encontrado seja uma soluo?
A deciso de dizer quando que uma sequncia convergente necessariamente especulativa. O critrio utilizado nas diversas rotinas considerar que existe convergncia se a variao relativa que ocorre entre duas iteraes sucessivas menor que uma certa quantidade pr-definida. O critrio (iii) sem dvida o que oferece maior confiana, mas muitas vezes no existe possibilidade de verificar todas essas condies, uma vez que no existe informao disponvel. A qualidade da soluo final verificada atravs do indicador IFAIL dado pelo programa. Dentre as variadas rotinas existentes na biblioteca de rotinas da NAG, foram escolhidas as designadas por E04FDF e E04GCF, para efectuar a minimizao pretendida. Qualquer uma das duas tem como objectivo a determinao de um mnimo no condicionado para a soma dos quadrados de M funes no lineares em N variveis ( M N ), residindo a principal diferena no facto de no ser necessrio possuir quaisquer derivadas 76
para a primeira enquanto que para a segunda, que baseada no mtodo Quasi-Newton, necessrio dispor das expresses da primeira derivada das funes. A sua descrio mais detalhada encontra-se presente no Apndice D. Quer no caso da rotina E04FDF, quer no caso da rotina E04GCF, a funo a minimizar construda com base nas coordenadas e correspondente distncia entre dois pontos A e B de um padro calibrado, que ser colocado em diversas posies dentro do volume til da CMM. Como vimos atrs, se colocarmos um padro, no qual esto referenciados n pontos distintos, em m posies diferentes, teremos
pelas posies dos pontos A e B. Seja ento c o nmero de segmentos determinados por todas essas posies de A e B, cujas coordenadas verdadeiras representaremos por x Ai , y Ai , z Ai correspondente distncia, que representaremos por d ABi , dada por
) e (x
)
2
Bi
d ABi =
(x
Bi
x Ai
) + (y
2
Bi
y Ai
) + (z
2
Bi
z Ai
, com i = 1," , c
Como j vimos, esta distncia, que designmos por distncia convencionalmente exacta, conhecida, sendo fornecida pelo fabricante do padro. Em cada uma das c posies, a mquina ir ler as coordenadas dos pontos que determinam o correspondente segmento, designadas por xmi ( A), ymi ( A), zmi ( A) e xmi (B), ymi (B), zmi (B) , que satisfazem as relaes
) (
xm ( A) x0 xd ( A) i i ymi ( A) = y0 + yd i ( A) z ( A) z z ( A) mi 0 di
onde xd i ( A), yd i ( A), zd i ( A) e xd i (B), yd i (B ), zd i (B) representam as amplitudes dos deslocamentos das peas mveis da mquina, necessrios para alcanar as posies ocupadas pelos pontos A e B, que so medidas ao longo das suas escalas, e ( x0 , y0 , z0 ) as coordenadas da posio do palpador em relao ao ponto de referncia do brao, determinadas pelo processo de calibrao do palpador. As coordenadas verdadeiras dos pontos A e B,
) (
(x
Ai
, y Ai , z Ai
) e (x
Bi
, y Bi , z Bi , que nunca so
conhecidas, podem ser obtidas a partir das coordenadas lidas pela mquina,
(x
mi
(x
1.
mi
(B), ymi (B), zmi (B) , e dos dezoito erros paramtricos, pela considerao do modelo construdo no captulo
Utilizando
(x
di
( A), yd i ( A), zd i ( A) ,
(x
mi
) (
( x0 , y0 , z0 ) ,
em
vez
de
x = x d + x0 + xpx + ytx + ztx xrz yd + xry + yry z d + xrz yrz zrz y 0 + xry + yry + zry z0 y = y d + y 0 + xty + ypy + zty + xrx yrx zd + xrz + yrz + zrz x 0 + xrx yrx zrx z0
77
z = zd + z 0 + xtz + ytz + zpz + xrx y d + xry yry zry x0 + xrx + yrx + zrx y 0
onde x, y, z, xd , yd , zd tomam os valores de respectivamente x Ai , y Ai , z Ai , xd i ( A) , yd i ( A) , zd i ( A) , se considerarmos o ponto A e de x Bi , y Bi , z Bi , xd i ( B) , yd i ( B) , zd i (B) , se considerarmos o ponto B. Em qualquer uma rotinas da NAG utilizadas a funo que se pretende minimizar definida pela soma dos quadrados de c funes definidas por33
fi =
(x
Bi
x Ai
) + (y
2
Bi
y Ai
) + (z
2
Bi
z Ai
onde as coordenadas x Ai , y Ai , z Ai , x Bi , y Bi e z Bi so dadas pelas equaes anteriores. Considerando que os 18 erros geomtricos so funes dos deslocamentos que os originam (por exemplo, zty funo de zd e com maior rigor escrevemos zty( zd ) ) a funo f i , para cada i = 1," , c , ser ento uma funo da forma
{[x (B) x ( A) + xpx(x (B)) xpx(x ( A)) + ytx(y (B)) ytx(y ( A)) + ztx(z (B)) ztx(z ( A)) +
d d d d d d d d
( ) ( ) + [xry(xd (B )) + yry(yd (B))] zd (B ) [xry(xd ( A)) + yry( yd ( A))] zd ( A) + + [xrz(xd ( A)) + yrz(yd ( A)) + zrz(zd ( A)) xrz(xd (B )) yrz( yd (B )) zrz(zd (B ))] y0 + 2 + [ xry(xd ( A)) yry(yd ( A)) zry(zd ( A)) + xry(xd (B )) + yry (yd (B )) + zry(zd (B))] z0 ] +
+ xrz xd ( A) yd ( A) xrz xd (B) yd (B ) +
d d d d d d
( ) ( ) ( ) ( ) ( ) ( ) [ + [ xrx(x (B )) yrx(y (B))] z (B ) + [xrx(x ( A)) + yrx( y ( A))] z ( A) + + [ xrz(x ( A)) yrz( y ( A)) zrz(z ( A)) + xrz(x (B )) + yrz(y (B )) + zrz(z (B ))] x + + [xrx(x ( A)) + yrx( y ( A)) + zrx(z ( A)) xrx(x (B)) yrx( y (B )) zrx(z (B ))]z ] + + [z (B ) z ( A) + xtz(x (B)) xtz(x ( A)) + ytz(y (B)) ytz( y ( A)) + zpz(z (B )) zpz(z ( A))
d d d d d d 0 2 d d d d d d 0
( ) ( ) + [xry(xd ( A)) + yry( yd ( A)) + zry(zd ( A)) xry(xd (B )) yry( yd (B)) zry(zd (B ))] x0 +
xrx xd ( A) yd ( A) + xrx xd (B ) yd (B ) +
2 + xrx(xd ( A)) yrx(yd ( A)) zrx(zd ( A)) + xrx(xd (B)) + yrx( yd (B )) + zrx(zd (B )) y0
] ]
d AB = 0
A diferena entre os diversos programas elaborados consequncia do tipo de funo que se toma para descrever cada um dos erros geomtricos. Assim foram considerados vrias classes de funes cujas caractersticas se consideram ser apropriadas para descrever o comportamento desses erros: polinmios na forma
33
Na minimizao efectuada com o software Mathematica as funes cuja soma dos quadrados pretendamos minimizar
) + (y
2
Bi
y Ai
) + (z
2
Bi
z Ai
d ABi 2 .
78
cannica, polinmios de Legendre, de Fourier e de Chebyshev. O resultado final do ajustamento sero os coeficientes ajustados de cada um dos polinmios. Sem perda de generalidade, vamos considerar polinmios de Fourier para descrever os 18 erros (neste exemplo apenas os primeiros oito termos da srie de Fourier)34, atravs de uma expresso do tipo:
xpx = X (1) sin xd + X (2) cos xd + X (3) sin 2 xd + X (4) cos 2 xd + X (5) sin 3xd + X (6) cos 3xd + X (7) sin 4 xd + X (8) cos 4 xd xty = X (9) sin xd + X (10) cos xd + X (11) sin 2 xd + X (12) cos 2 xd + # ytz = X (65) sin yd + X (66) cos yd + X (67) sin 2 yd + X (68) cos 2 yd + # yrz = X (89) sin yd + X (90) cos yd + X (91) sin 2 yd + X (92) cos 2 yd + X (93) sin 3 yd + X (94) cos 3 yd + X (95) sin 4 yd + X (96) cos 4 yd # zrz = X (137) sin zd + X (138) cos zd + X (139) sin 2 zd + X (140) cos 2 zd + X (141) sin 3zd + X (142) cos 3zd + X (143) sin 4 zd + X (144) cos 4 zd X (69) sin 3 yd + X (70) cos 3 yd + X (71) sin 4 yd + X (72) cos 4 yd
X (13) sin 3xd + X (14) cos 3xd + X (15) sin 4 xd + X (16) cos 4 xd
Em seguida, vamos substituir cada um dos erros presentes na funo (2-15) pelas expresses anteriores, obtendo-se assim os c resduos f i , cuja soma dos quadrados pretendemos minimizar. Cada um deles representar a diferena entre a distncia calculada entre os pontos medidos, supondo que as suas coordenadas verdadeiras so obtidas por correco das coordenadas lidas, pela considerao de que os erros tm comportamento que descrito por funes de Fourier, e a distncia verdadeira entre eles35. Partindo de uma aproximao inicial para os coeficientes dos polinmios que descrevem os erros geomtricos, cujo valor introduzido pelo utilizador, a rotina de ajustamento vai calcular, no sentido dos mnimos quadrados, o conjunto de parmetros (coeficientes) que melhor satisfazem o modelo.
Este tipo de funes foi o que se revelou mais adequado para descrever os diversos erros geomtricos. Note-se que no ajustamento efectuado com o software Mathematica os resduos cuja soma dos quadrados pretendamos minimizar eram definidos pela diferena entre o valor verdadeiro do coeficiente do polinmio que descrevia o erro e o valor da sua aproximao.
35
34
79
Devido impossibilidade de implementar na prtica o conjunto de procedimentos conducentes obteno da informao necessria para efectuar esse ajustamento, foram criados, por meio de um programa auxiliar, um conjunto de dados, referentes ao comportamento de uma mquina fictcia, ou seja, foi criado um ficheiro de dados semelhante aquele que seria obtido caso se possusse um padro calibrado e, atravs dele, usando uma CMM concreta, fossem medidas as coordenadas dos seus pontos, de forma a posterior realizao do processo de autocalibrao. Esse programa executa, resumidamente, as seguintes aces: Criao atravs de um gerador de nmeros aleatrios, com distribuio uniforme, de um conjunto de leituras efectuadas pela CMM fictcia, referentes a um nmero suficiente de pares de pontos, sobre um padro fictcio, que tero uma distribuio aproximadamente uniforme em todo o volume til de medio. Estas coordenadas sero identificadas com as coordenadas que a mquina leria para os pontos do padro, ou seja, as coordenadas afectadas pelos diversos erros. Construo de funes que descrevam os dezoito erros geomtricos, atravs das quais eles so gerados. Para tal foram utilizados funes de uma varivel, do tipo polinomial, sendo esta a que corresponde coordenada referente ao movimento da pea que gera o respectivo erro. Clculo dos valores dos erros geomtricos referentes a cada um dos pontos gerados (neste ponto foi ainda introduzida uma componente aleatria, de forma a procurar que esta simulao seja mais prxima do que acontece na realidade). Pela utilizao do modelo construdo no captulo 1, considerando os erros gerados no passo anterior, clculo das coordenadas corrigidas de cada um pontos antes gerados. Determinao da distncia verdadeira correspondente a cada par de pontos (pela utilizao das coordenadas corrigidas), que ser identificada com a distncia convencionalmente exacta. No fim deste processo teremos um ficheiro onde constam as coordenadas lidas por uma mquina fictcia para pares de pontos de um padro colocado em diversas posies na mquina e respectiva distncia exacta. Ser este ficheiro que servir de base ao posterior ajustamento por mnimos quadrados, por forma a obter os coeficientes das funes que descrevem os erros geomtricos de tal CMM fictcia. Alm disso, possvel, utilizando as leituras efectuadas para os dois pontos de cada par, determinar a distncia que a mquina mediria entre esses pontos. Essa distncia que, devido existncia dos diversos erros, diferente da distncia exacta, pode ser comparada com esta. Essa diferena no fundo o valor do resduo (funo
f i ), correspondente ao instante inicial (antes de ser feito o ajustamento), e cuja soma dos quadrados o algoritmo
vai tentar minimizar. Ao longo da execuo do programa, o algoritmo vai calcular aproximaes sucessivas para o vector dos coeficientes que se pretende determinar, e em cada uma das iteraes calculada a diferena entre a distncia verdadeira correspondente a um par de pontos e a distncia calculada usando as coordenadas corrigidas pelo modelo, com os valores dos coeficientes calculados nessa iterao. Esta diferena corresponder ao resduo de cada uma das distncias que diz respeito a essa iterao, e o programa calcula e indica a soma dos seus quadrados. Esse valor ser considerado como um indicador da preciso alcanada e tambm da existncia e qualidade da sua convergncia. Inicialmente foi utilizada a rotina E04FDF para efectuar o ajustamento e posteriormente usou-se a rotina E04GCF. Para os mesmos dados a segunda rotina proporcionou melhores resultados, num nmero muito
80
menor de iteraes. Alm disso, quando a aproximao inicial era m, a primeira rotina no convergia, enquanto que a segunda convergia quase sempre. Tal explicado pelo maior nvel de informao introduzido quando usada essa rotina, uma vez que, para alm da funo a minimizar, so tambm indicadas as expresses das suas primeiras derivadas, que no caso da rotina E04FDF eram estimadas. O ficheiro de dados elaborado foi baseado num programa que constri funes de erro a partir de polinmios de grau 5. No entanto, de forma a simular com maior exactido o funcionamento de uma mquina real, essas funes devero ter uma componente aleatria. Porm, no bastar somar uma componente aleatria ao valor da funo erro em cada um dos pontos, uma vez que tal iria introduzir descontinuidades na funo. Na realidade, qualquer um dos erros paramtricos de uma mquina de medio tem uma variao suave, sem saltos, nem descontinuidades. Para simular isso, parte secular da funo de erro (que descrita pelo polinmio) vai ser adicionada uma componente local. Essa componente dada por um polinmio segmentado de primeiro grau, obtido de forma aleatria, sendo para isso utilizado o seguinte processo na sua construo. Em primeiro lugar considera-se que a varivel da qual depende o valor da componente aleatria do erro geomtrico, varia no domnio36 0,1m (chamamos y a essa componente, que dependente de uma varivel x, que, por exemplo para o prtico corresponde a xd ). Em seguida, para pontos xi daquele intervalo igualmente espaados de 0.01m , so criados, por meio de um gerador de nmeros aleatrios com distribuio normal, correspondentes valores yi . Quer para os erros de translao e posicionamento, quer para os erros de rotao, procurou-se que o gerador criasse valores situados num intervalo tal que a amplitude de variao da componente dada de forma aleatria fosse cerca de um dcimo da amplitude de variao da componente secular. A criao do ficheiro de dados foi realizada no software Mathematica que possui um gerador de nmero aleatrios com distribuio uniforme. No entanto pretendia-se que a componente aleatria correspondente a cada um dos valores
[ ]
yi tivesse distribuio gaussiana e para tal, a partir do gerador de nmeros aleatrios com distribuio uniforme,
construiu-se um gerador com distribuio aproximadamente normal. A base terica para esse procedimento dada pelo Teorema do Limite Central37. Inicialmente, para os erros de posicionamento e translao considermos uma varivel aleatria com distribuio normal, de mdia 0, a variar no intervalo intervalo [ 2 rad , 2 rad ] 38. Em seguida foi construda a funo polinomial segmentada (de primeiro grau), onde os vrtices da linha poligonal correspondente sua representao grfica, tivessem as coordenadas dos diversos pares ( xi , yi ) . Na figura 2-10 encontra-se a representao grfica de uma funo polinomial segmentada deste tipo (apenas est representado o intervalo 0,0.1m , o que corresponde a 11 pontos ( xi , yi ) ):
36
[ 0.25 m, 0.25 m]
considermos tambm uma varivel aleatria com distribuio normal, de mdia 0, mas agora a variar no
Consideramos que a mquina que estamos a utilizar pode medir comprimentos de at 1 metro segundo as direces dos
trs eixos, ou seja, a mquina tem um volume til de medio de 1 m 3 e as variveis que constam nas funes que geram ou que descrevem os erros, tomam valores no intervalo 0, 1 .
37
[ ]
No apndice C est enunciado o Teorema do Limite Central, que serve como base terica construo de um gerador de nmeros aleatrios com distribuio normal.
81
Posteriormente foi adicionada componente secular de cada um dos erros a componente criada de forma aleatria, obtendo-se assim a funo que gera cada um dos 18 erros geomtricos. Considerando que a funo que origina a componente secular do erro (polinmio de grau 5) tem a seguinte representao grfica naquele intervalo:
ao adicionar a componente secular com a componente local dada de forma aleatria, obtm-se a funo que tem a seguinte representao grfica:
38
82
Na figura 2-13 encontra a representao da componente secular do erro (dada pelo polinmio de grau 5 e que na figura representada pela curva mais regular) e a funo de erro aps a adio da componente aleatria (que corresponde na figura curva menos regular).
Representando estas duas curvas agora no intervalo 0,1m obtm-se o seguinte grfico:
[ ]
[ ]
As componentes seculares dos diversos erros foram geradas pelos seguintes polinmios de grau 5:
xpx = 0.000364604 xd 5 + 0.000752985xd 4 0.000463571xd 3 + + 0.0000671267 xd 2 + 0.0000100615xd 0.00000000852243 xty = 0.000293735x d 5 + 0.000948913x d 4 0.00112775x d 3 + + 0.000573426 x d 2 0.000101899 x d + 0.000000128912 xtz = 0.000120322 x d 5 0.000143961x d 4 0.0000922542 x d 3 + + 0.000157851x d 2 0.0000420675x d + 0.000000003002 ytx = 0.0000563424 y d 5 0.0000106966 y d 4 0.0000486154 y d 3 0.00000202618 y d 2 + 0.00000415557 y d + 0.000000143759 ypy = 0.000478058 y d 5 + 0.00125856 y d 4 0.00110986 y d 3 + + 0.000367955 y d 2 0.0000378084 y d + 0.0000000145628
83
ytz = 0.000684387 y d 5 0.00151943 y d 4 + 0.0011382 y d 3 0.000325482 y d 2 + 0.0000293518 y d 0.0000000275737 ztx = 0.000958381z d 5 + 0.00189923z d 4 0.000961856z d 3 0.0000621316z d 2 + 0.0000826981z d 0.0000000127579 zty = 0.000814957 z d 5 + 0.00202921z d 4 0.00160963z d 3 + + 0.000420918z d 2 0.0000175167 z d + 0.000000226884 zpz = 0.000568409 z d 5 + 0.00129699 z d 4 0.00100801z d 3 + + 0.00034691z d 2 0.00006592222 z d + 0.00000000224164 xrx = 0.00722501x d 5 0.0181243x d 4 + 0.0159546 x d 3 0.00575867 x d 2 + 0.000697381x d + 0.00000410178 xry = 0.00157534 x d 5 0.00395857 x d 4 + 0.00321909 x d 3 0.000755255x d 2 0.0000505738 x d 0.0000000349408 xrz = 0.00200413x d 5 0.00715105xd 4 + 0.00915898 xd 3 0.0049275x d 2 + 0.000907042 x d 0.00000168907 yrx = 0.0127162 y d 5 0.0318838 y d 4 + 0.0276148 y d 3 0.00946731y d 2 + 0.00100516 y d 0.000000114348 yry = 0.0113199 y d 5 0.0261053 y d 4 + 0.0200613 y d 3 0.00580892 y d 2 + 0.000522364 y d + 0.000000812523 yrz = 0.00143818 y d 5 0.00367518 y d 4 + 0.00345768 y d 3 0.00143416 y d 2 + 0.000210597 y d + 0.00000156117 zrx = 0.000378331z d 5 + 0.00118448z d 4 0.00122186z d 3 + + 0.000673647 z d 2 0.000254917 z d 0.0000000358834 zry = 0.00818708z d 5 0.0212371z d 4 + 0.0189958z d 3 0.00675234 z d 2 + 0.000801422 z d 0.000000057594 zrz = 0.00487598z d 5 + 0.0100098z d 4 0.00641319 z d 3 + + 0.00127255z d 2 + 0.00000648966z d + 0.000000540958
A representao grfica dos polinmios que criam a parte secular das 18 funes de erro encontra-se nas figuras 2-15 a 2-22. Em todos os grficos no eixo das ordenadas esto representados os valores dos erros respectivos e no eixo das abcissas os valores das coordenadas das quais dependem cada um dos erros. Para os trs erros de posicionamento e seis erros de translao a unidade utilizada, quer no eixo das abcissas, quer no eixo das ordenadas, o metro. Para os nove erros de rotao a unidade no eixo das abcissas o metro e no eixo das ordenadas o radiano.
84
85
86
87
88
Recordamos que a estas componentes seculares foram adicionadas as componentes locais, dadas pelas funes polinomiais segmentadas, construdas da forma descrita anteriormente.
Foram realizados diversos programas baseados nas rotinas de ajustamento da NAG. As diferenas entre eles so devidas essencialmente funo que se considera para ajustar cada um dos erros geomtricos. So eles os seguintes: Programa 1 - programa baseado na rotina E04FDF, onde os diversos erros geomtricos so descritos por uma combinao linear dos polinmios de Legendre39 P0 ( x ) a P3 ( x ) , vindo cada de erro dado por uma expresso da seguinte forma (onde a 0 , a1 , a 2 e a 3 sero os coeficientes a determinar):
39
P1 ( x ) = x
P0 ( x ) = 1
1 3 a 0 + a1 x + a 2 x 2 + a 3 x 3 x 3 5
Programa 2 - baseado na rotina E04FDF, onde os erros so descritos por polinmios de grau 6 na forma cannica:
a 0 + a1 x + a 2 x 2 + a 3 x 3 + a 4 x 4 + a 5 x 5 + a 6 x 6
Programa 3 - baseado na rotina E04FDF, onde os erros so descritos por uma combinao linear dos ~ ~ polinmios mnicos de Chebyshev40 T0 a T5 :
Os polinmios mnicos de Chebyshev (polinmios com o coeficiente do termo de maior grau igual a um), que
representaremos por Tn , so obtidos a partir dos polinmios de Chebyshev Tn efectuando a diviso de cada um destes por
1~ ~ ~ T2 ( x ) = xT1 ( x ) T0 ( x ) 2
e
1~ 1 ~ ~ T2 ( x ) = xT1 ( x ) T0 ( x ) = x 2 , 2 2 1~ 3 ~ ~ 3 T3 ( x ) = xT2 ( x ) T1 ( x ) = x x , 4 4 1~ 1 ~ ~ T4 ( x ) = xT3 ( x ) T2 ( x ) = x 4 x 2 + , 4 8 1~ 5 3 5 ~ ~ 5 T5 ( x ) = xT4 ( x ) T3 ( x ) = x x + x 4 4 16 ~ ~ ~ ~ ~ sendo a seguinte a representao grfica de T1 , T2 , T3 , T4 e T5 , no intervalo [ 1,1] :
90
1 3 1 5 5 a 0 + a1 x + a 2 x 2 + a 3 x 3 x + a 4 x 4 x 2 + + a 5 x 5 x 3 + x 2 4 8 4 16
Programa 4 - baseado na rotina E04FDF, onde os erros so descritos por uma combinao linear dos ~ ~ polinmios mnicos de Chebyshev T1 a T5 :
1 3 1 5 5 a1 x + a 2 x 2 + a 3 x 3 x + a 4 x 4 x 2 + + a 5 x 5 x 3 + x 2 4 8 4 16
Programa 5 - baseado na rotina E04FDF, onde os erros so descritos pelos seis primeiros termos da srie de Fourier41:
O ficheiro de dados construdo contm 2000 pares de pontos (e 2000 correspondentes distncias) e o erro mdio inicial por distncia42 aproximadamente 38.88 m , para uma distncia mdia de 65.85 cm. No quadro 2-6 apresentam-se os resultados obtidos para o erro mdio final (que calculado a partir do valor da soma dos quadrados dos resduos, fornecida pelo software), considerando o ajustamento realizado para os dados fornecidos por esta mquina fictcia, pela utilizao dos referidos oito programas.
Ver [11] Este erro corresponde mdia dos mdulos das diferenas entre a distncia convencionalmente exacta e a distncia que a mquina mediria entre os dois pontos de cada par.
91
Nmero do programa 1 2 3 4 5 6 7 8
erro mdio final na distncia 0.84 m 0.35 m 0.39 m 0.37 m 0.52 m 0.34 m 0.51 m 0.34 m
Para este exemplo, os programas que se revelaram mais adequados determinao dos coeficientes das funes de erro foram os denominados por 6 e 8. Apesar de neles ser usada a mesma funo na definio do erro (polinmios de Fourier com oito termos) existem diferenas significativas entre o funcionamento dos dois: o programa 6, baseado na rotina E04FDF, no converge se a aproximao inicial for pouco adequada, enquanto que o programa 8, baseado na rotina E04GCF, convergiu para todas as aproximaes iniciais que foram introduzidas; alm disso, partindo da mesma aproximao inicial, o programa 8 realiza o ajustamento num nmero de iteraes que cerca de vinte vezes menor que o nmero de iteraes necessrias ao programa 6. Tudo isto deve-se maior informao acerca da funo a ajustar que introduzida nesse programa, nomeadamente as expresses das primeiras derivadas. Alm disso, pensamos que o valor que o erro mdio final toma, que de certa forma significativo, devido componente aleatria introduzida nos erros, que nunca poder ser compensada (devido sua natureza). De facto, ajustando, por meio do programa 8, os dados criados da mesma forma, mas sem introduzir a componente local aleatria dos erros, obteve-se um erro mdio final de apenas 0.006 m. Tal consequncia do comportamento demasiado regular da funo utilizada para criar o erro (polinmio de grau 5), que facilmente ajustada pela srie de Fourier. No final da execuo, os resultados que o software proporciona sero os diversos coeficientes das funes que iro descrever cada um dos erros. Na figura 2-33 encontram-se os grficos da funo que gerou o erro xpx (componente secular mais componente local aleatria) e da funo construda com os coeficientes resultantes da execuo do programa 8 (polinmio de Fourier com 8 termos). Nesta representao, verifica-se que as duas funes tm comportamento muito semelhante naquele intervalo, o que confirma a boa qualidade do ajustamento (tal foi tambm verificado numericamente e graficamente para todos os dezoito erros paramtricos).
92
Usando novamente os referidos oito programas, para ajustar agora dados criados por um procedimento que considera as mesmas componentes seculares para os erros paramtricos (os mesmos polinmios de grau 5 indicados atrs), mas introduzindo a parte aleatria por funes polinomiais segmentadas com maior amplitude (o intervalo [ 0.5 m, 0.5 m] para os erros de posicionamento e translao e o intervalo [ 10 rad , 10 rad ] para os erros de rotao), obtiveram-se os seguintes resultados (quadro 2-7):
Nmero do programa 1 2 3 4 5 6 7 8
erro mdio final na distncia 3.77 m 1.59 m 1.73 m 1.67 m 2.34 m 1.54 m 2.28 m 1.52 m
Nestas execues verificou-se maior dificuldade de escolher uma aproximao inicial e, em geral, foi, em cada programa, necessrio um maior nmero de iteraes para realizar o ajustamento. Os erros mdios finais apresentam valores elevados, que pensamos serem justificados pelo peso significativo da componente aleatria introduzida nos erros. Mais uma vez verificamos serem os programas 6 e 8 os que se revelaram mais adequados. Para controlar o bom funcionamento dos programas, foram utilizados dados criados pelo mesmo tipo de funes que depois iro ser utilizadas no ajustamento (por exemplo, dados criados por polinmios de grau 6 e ajustados por polinmios de grau 6). Em todos eles, o erro mdio final obtido era aproximadamente zero e os coeficientes calculados eram aproximadamente iguais aos coeficientes utilizados para gerar os erros, o que confirmou o pretendido.
93
Alm disso, tambm se efectuou, por meio do programa 8, o ajustamento de dados criados de forma a simular uma mquina fictcia onde os erros no apresentavam nenhum comportamento definido. Para tal, foram introduzidos erros aleatrios directamente nas coordenadas lidas pela mquina. Partindo de um erro mdio inicial de 48.34 m , obteve-se, aps o ajustamento43, um resduo mdio final de 39.91 m , o que veio confirmar a ideia de que uma mquina em que os erros tm um comportamento aleatria, nunca poder ser devidamente compensada. Pelo uso dos 8 programas, efectuaram-se ainda ajustamentos utilizando outro conjunto de dados cuja parte secular foi criada tambm por polinmios do mesmo grau 5 (embora com coeficientes diferentes). As concluses obtidas, em termos de preciso, foram semelhantes s anteriores. Baseando-nos nos resultados das diversas aplicaes prticas realizadas, aparentemente podemos concluir que os polinmios de Fourier com 8 termos so os que melhor se adaptam descrio do comportamento dos erros. No entanto, no poderemos generalizar estas concluses, visto que necessitaramos de efectuar mais experincias, de preferncia com dados fornecidos por uma mquina concreta.
43
Cuja soluo final no oferecia garantias de ser um mnimo (varivel IFAIL a tomar o valor 5).
94
Concluses finais
Como foi dito no incio, o objectivo deste trabalho consistia no estudo de processos de estimao dos erros de uma mquina estacionria de medio de coordenadas. Para tal, foi construdo um modelo que descrevesse o comportamento de uma CMM, pela considerao dos erros que afectam as coordenadas por ela fornecidas, e realizado o estudo de processos de determinao e compensao dos seus erros geomtricos. No captulo um construmos o modelo pretendido, pela aplicao do estudo do movimento geral de um slido aos deslocamentos das peas mveis da mquina. Procedendo sua linearizao, foi obtido um modelo mais simples, semelhante ao indicado pela generalidade dos autores e cuja obteno nunca foi demonstrada na literatura disponvel. O objectivo principal do segundo captulo consistia no estudo e simulao numrica de um dos processos de estimao de erros paramtricos - o mtodo de autocalibrao. Apoiado no modelo matemtico obtido no captulo precedente, foi estabelecida a formulao matemtica conducente implementao de algoritmos que, baseados no critrio dos mnimos quadrados, permitissem a estimao dos erros paramtricos associados a uma CMM. Atravs da elaborao e execuo de diversos programas, foram obtidos resultados capazes de proporcionar algumas concluses, especialmente no que respeita escolha de funes que melhor descrevem o comportamento de cada um dos erros paramtricos. No entanto, uma vez que foram usados dados simulados numericamente, devido a no estarem disponveis valores relativos a uma CMM concreta, estas concluses tm uma validade relativa. Quanto a futuros desenvolvimentos deste assunto, para alm de efectuar um nmero mais elevado de testes numricos, de preferncia sobre dados obtidos por uma CMM real (por forma a confirmar as concluses obtidas), podemos referir a realizao de algoritmos mais eficientes, baseados em software de minimizao menos exigente em termos computacionais.
95
Apndice A
Algumas propriedades das rotaes no espao tridimensional
No que segue, consideraremos o espao afim tridimensional ( sobre o espao vectorial dos vectores livres G G G E e um referencial cartesiano rectangular directo OXYZ associado ao ponto O e base {e1 , e2 , e3 } de E, ortonormada directa. Supomos conhecidas as noes de translao e rotao e consideramos que a rotao em torno de um eixo positiva se se fizer no sentido directo para um observador colocado ao longo da parte positiva desse eixo a olhar a origem. Assim as rotaes em torno dos eixos OX, OY e OZ produzem no eixo seguinte um deslocamento no sentido daquele que se lhe segue pela ordem cclica XYZ, YZX, ZXY (por exemplo, uma rotao positiva em torno do eixo OY faz com que a parte positiva do eixo OZ se aproxime da parte positiva do eixo OX).
(3) , Recordamos que a rotao em torno do eixo OZ segundo o ngulo , que vamos representar por r
deixa fixos todos os pontos de OZ, G G G G G G transforma os vectores e1 , e2 e e3 , respectivamente nos vectores i , j , k assim definidos:
Yk
Xk
e2 jk O e3 = kk(3)
ik X
e1
(ApA-2)
Ento qualquer ponto P de coordenadas ( x , y , z) no referencial OXYZ transformado no ponto P , tal que
( ) OP = rk 3 OP
cujas coordenadas ( x , y , z ) so obtidas a partir da igualdade matricial
x y = z
(ApA-3)
96
G G G e1 , e2 , e3
0 0 1 1) ( R = 0 cos sin 0 sin cos
(2 ) para r :
k O
e3
e1 = i(1)
e2
(ApA-4)
G G G {e 1 , e2 , e3 }
cos 0 sin (2 ) R = 0 1 0 sin 0 cos
i O
e1
e2 = j(2)
e3
(ApA-5)
97
Apndice B
Breves consideraes sobre o movimento geral de um slido
vectores ligados a S. Os movimentos mais simples de um slido so os movimentos de translao e os movimentos de rotao em torno de um eixo. O estudo destes movimentos extremamente importante uma vez que se prova que qualquer movimento de um slido pode ser obtido pela composio de quatro movimentos: um do primeiro tipo e trs do segundo. Justifica-se, por isso, uma referncia breve a cada um destes movimentos.
Movimento de translao
Dizemos que um slido S est animado de um movimento de translao, num dado intervalo de tempo I, em relao a um dado referencial, se qualquer vector ligado ao slido permanecer constante durante todo o movimento:
G PQ(t ) = c ( P , Q)
P , Q S
{i , j , k }
G G G
2) O movimento de translao de um slido fica completamente determinado pelo movimento de qualquer um dos seus pontos. So ento necessrias trs funes reais de varivel real para descrever este movimento. Isto equivale a dizer que S tem neste caso trs graus de liberdade. A lei do movimento de um ponto P S determinada pela lei do movimento de um ponto A, considerado arbitrariamente em S:
P S
e portanto, em cada instante, as coordenadas x , y e z de P podem ser obtidas atravs da igualdade matricial:
x y = z
x A c1 ( A, P) c A P y A + 2 ( , ) zA c 3 ( A, P )
(ApB-1)
98
onde
xA ,
yA
zA
G G onde (t ) = e1 , i (t )
funo que determina completamente o movimento de S chama-se habitualmente coordenada angular de S ou ngulo de rotao de S. Assim, as coordenadas x, y, z de qualquer ponto P de S no instante arbitrrio t podem ser obtidas a partir da igualdade matricial (ApA-3):
x y = z
Se o referencial
(O, e1 , e2 , e3 )
G G G
99
j(t) (t)
e2 i(t) (t) O e1
S tem trs graus de liberdade, dado que, conhecendo o movimento do ponto A do slido (est em G G G repouso), o movimento de S fica completamente determinado pela expresso da base ortonormada i , j , k
Habitualmente utilizam-se os chamados ngulos de Euler para fixar a posio de S em cada instante. Estas
G onde n (t ) representa um dos versores da recta interseco3 do plano G G ( A, i (t ), j (t )) . Este ngulo est contido no plano ( A, e 1 , e2 ) .
( A, e1 , e2 )
G G
com o plano
G G (t ) = e3 , k (t )
G G (t ) = n (t ), i (t )
G Este ngulo est contido no plano perpendicular a k (t ) . G G G Os trs vectores i (t ) , j (t ) e k (t ) 4 podem ser obtidos a partir da base
sucessiva de trs rotaes em torno de um eixo no espao tridimensional:
{e1 , e2 , e3 }
G G G
pela aplicao
2 3
Estando invariavelmente ligado ao slido S, podemos supor, sem perda de generalidade, que esse ponto pertence ao slido. Quando e3 = k , ou seja, quando os planos
( A, e1 , e2 )
G
G
G G
um dos
100
G G G (3) segundo = e 1) a rotao r 1 , n em torno de Ae3 , representada pela matriz (ApA-2), em relao G G G base {e1 , e2 , e3 } :
cos (3) = sin R 0
G G G que transforma e1 , e2 e e3 em, respectivamente, G G G i1 , j1 e k1 , dados por: G G G G i1 = cos e1 + sin e2 = n G G G j1 = sin e1 + cos e2 (ApB-2) G G k 1 = e3 G G G com j1 simultaneamente ortogonal a e3 e n .
sin 0 cos 0 0 1
e3
e1
e2
G G 1 2) a rotao r( ) segundo = e3 , k
G G , j1 , e3 } : {n
(1)
G G G e que transforma n , j1 e e3 em, respectivamente, G G G i2 , j2 e k 2 , dados por: G G G i2 = i1 = n G G G j2 = cos j1 + sin e3 (ApB-3) G G G G k 2 = sin j1 + cos e3 = k G G G com j2 simultaneamente perpendicular a n e a k .
k2 A
e3
j2 j1
n = i1
G G G e que transforma n e j2 , respectivamente, em i e G j , os vectores ligados a S, atravs de G G G i = cos n + sin j2 G G G j = sin n + cos j2 (ApB-4) G mantendo k invarivel.
j A k
j2
i i2
A substituio sucessiva de (ApB-3) e (ApB-2) em (ApB-4) permite obter, como se pretendia, os vectores G G G G G G da base i , j , k , ligada ao slido, como combinao linear de {e1 , e2 , e3 } fazendo intervir apenas os trs
parmetros , e . A posio do slido S no instante t pode ento ser obtida a partir da sua posio S0 no instante inicial
(3) , r (1) e r (3) , nesta ordem, ou seja, pela aplicao da transformao pela aplicao sucessiva de trs rotaes r
geomtrica rA
(3) D r (1) D r (3) r A = r
{e1 , e2 , e3 }
G G G
rotaes consideradas em relao quela base e a sua expresso em termos dos ngulos de Euler , , , que representaremos por M ( , , ) , obtida do seguinte modo:
Mas
G G G M r (1) , e1 , e2 , e3
( {
G G G G G G onde P, a matriz de passagem da base {e1 , e2 , e3 } para a base n , j1 , e3 , coincide com R (3) .
Analogamente
G G G M r (3) , n , j1 , e3
102
)1 ) (R (3) )
R (3)
cos cos sin cos sin cos sin sin cos cos sin sin = sin cos + cos cos sin sin sin + cos cos cos cos sin sin sin sin cos cos
As coordenadas x , y e z da posio ocupada no instante t pelo ponto P, tomado arbitrariamente em S, podem ento ser obtidas a partir de (ApB-5):
x y = z
cos cos sin cos sin cos sin sin cos cos sin sin x 0 sin cos cos cos sin + sin sin + cos cos cos cos sin y 0 sin sin sin cos cos z0
(ApB-6)
onde ( x 0 , y 0 , z0 ) so as coordenadas da posio inicial de P. Assim, o movimento de rotao de um slido S em torno de um ponto A pode ser considerado em cada instante como composio de trs movimentos de rotao em torno de trs eixos: movimento de rotao em torno G G G G de Ae3 segundo o ngulo = e1 , n ; movimento de rotao em torno de An segundo o ngulo = e3 , k ;
G G movimento de rotao em torno de Ak segundo o ngulo = n, i .
Existem, todavia, outros conjuntos de trs parmetros angulares capazes de determinar completamente o movimento de um slido em torno de um ponto, como composio de trs movimentos de rotao em torno de eixos. Em Metrologia, em vez dos ngulos de Euler, habitual considerar os trs ngulos , e associados seguinte decomposio da matriz M:
sin 0 cos 0 sin 1 0 0 1 0 0 cos sin cos 0 0 0 1 0 sin cos sin 0 cos
(ApB-7)
cos cos cos sin + sin sin cos sin sin + cos sin cos = cos sin cos cos + sin sin sin sin cos + cos sin sin sin cos cos cos sin
rA = r (1) D r (2 ) D r (3)
onde r (3) , r (2 ) e r (1) representam rotaes, respectivamente, em torno de AZ segundo o ngulo ,de AY segundo e em torno de AX segundo o ngulo . 103
Com efeito, considerando um ponto P, arbitrariamente no slido S suposto ainda animado de um movimento de rotao em torno de A em relao ao referencial AXYZ , e designando por AX Y Z um referencial solidrio com o movimento de S que no instante inicial coincide com AXYZ , a rotao r (3) vai levar
G G G o referencial mvel posio que denotamos por AX 1 Y1 Z1 , cuja base associada representada por i1 , j1 , k1 ,
e o ponto P posio P1 . Uma vez que P solidrio com o referencial mvel AX Y Z as coordenadas
( x1 , y1 , z1 )
P, atravs de
G G G G G G G G x1e1 + y1e2 + z1e3 = AP1 = x 0 cos e1 + sin e2 + y 0 sin e1 + cos e2 + z0 e3 G G G = x 0 cos y 0 sin e1 + x 0 sin + y 0 cos e2 + z 0 e3
x1 y1 = z1
(ApB-8)
A rotao r (2 ) em torno do eixo AY do referencial mvel, que ocupa agora a posio AY1 , leva este
G G G AP2 = x 0i2 + y 0 j2 + z 0 k 2 G G G G G = x 0 cos i1 sin k1 + y0 j1 + z0 sin i1 + cos k1 G G G = x 0 cos + z 0 sin i1 + y0 j1 + x 0 sin + z 0 cos k1
) )
ou ainda, matricialmente,
x 0 * y 0 * = z0 *
x0 y0 z0
(ApB-9)
pois, tendo em conta o Apndice A, temos: G G G i2 = cos i1 sin k1 G G j2 = j1 G G G k 2 = sin i1 + cos k1 Quanto s coordenadas ( x2 , y2 , z2 ) , de P2 no referencial AXYZ , tendo em conta (ApB-8) e (ApB-9):
104
x0 y0 z0
Aplicando, por ltimo, a rotao r (1) em torno do eixo AX do referencial mvel, agora na posio
AX 2 , este referencial passa a ocupar a sua posio final, representada tambm por AX Y Z (cuja base G G G associada designada por i , j , k ), e o ponto P ir ocupar a posio P3 . As suas coordenadas ( x 0 , y 0 , z0 ) ,
( x 3 , y 3 , z3 ) ,
x0 y0 z0
(ApB-11)
sin 0 cos 0 sin cos 0 1 0 0 0 1 sin 0 cos sin 0 cos 0 sin cos 0 1 0 0 0 1 sin 0 cos
x 0 ** ** y0 z0 **
(ApB-12)
x0 y 0 z0
{e1 , e2 , e3 }
G G G
descrita pela
cos cos cos sin + sin sin cos sin sin + cos sin cos M ( , , ) = cos sin cos cos + sin sin sin sin cos + cos sin sin sin cos cos cos sin
Resta agora mostrar que qualquer movimento de rotao de um slido mantendo um ponto fixo pode ser descrito por uma matriz deste tipo, onde , e tm os significados que lhes foram atribudos anteriormente. Na verdade, para cada terno ( , , ) , tomado arbitrariamente num domnio que especificaremos mais frente (e que o dos problemas que trataremos neste trabalho), existe
(, , )
de
forma
que
G G G Seja ento S um slido em movimento em relao a um dado referencial (O, e1 , e2 , e3 ) , mantendo fixo um
dos seus pontos, A. As coordenadas x , y e z da posio ocupada no instante t pelo ponto P, tomado arbitrariamente em S, podem portanto ser obtidas a partir da relao (ApB-6). Pretende mostrar-se que existem valores , e , de tal forma que as coordenadas de P possam ser obtidas atravs da igualdade
x y = z
cos cos cos sin + sin sin cos sin sin + cos sin cos x 0 cos sin cos cos sin sin sin + sin cos + cos sin sin y 0 sin sin cos cos cos z0
(ApB-13)
o que vlido tendo em conta que o sistema de nove equaes nas incgnitas , e :
cos cos = cos cos sin cos sin cos sin + sin sin cos = cos sin sin cos cos sin sin + cos sin cos = sin sin cos sin = sin cos + cos cos sin cos cos + sin sin sin = sin sin + cos cos cos sin cos + cos sin sin = cos sin sin = sin sin sin cos = sin cos cos cos = cos
tem uma e uma s soluo que, representando por mij o termo na linha i e coluna j da matriz M , , , obtida a partir de
sin = m31 = sin sin tan = tan = m32 sin cos = = tan cos m33 cos m21 sin cos + cos cos sin tan + tan cos = = m11 cos cos sin cos sin 1 tan cos tan
106
j que no mbito dos problemas de Metrologia que abordamos neste trabalho, o facto de as amplitudes dos seis
{i , j , k } constitudo por
G G G
Assim, tendo em conta (ApB-1) e (ApB-13), as coordenadas x , y , z da posio ocupada no instante t pelo ponto P tomado arbitrariamente em S, podem obter-se a partir de:
x y = z
x A cos cos cos sin + sin sin cos sin sin + cos sin cos x 0 cos sin cos cos sin sin sin + sin cos + cos sin sin y 0 (ApB-14) yA + sin cos cos cos z0 sin zA
onde, como anteriormente, x A , y A , z A representam as coordenadas da posio ocupada por A no mesmo instante t e x 0 , y 0 , z0 as coordenadas da posio inicial de P. bvio que o movimento de translao depende do ponto A escolhido em S. O movimento geral de um slido fica determinado por seis parmetros: trs do movimento de rotao em torno de um ponto (por exemplo os trs ngulos de Euler ou os trs ngulos , e definidos anteriormente) e trs do movimento de translao, isto , do movimento de um ponto qualquer do slido.
107
Apndice C
Lei Uniforme e Teorema do Limite Central
Lei Uniforme Diz-se que a varivel aleatria X segue a lei uniforme no intervalo [ a , a]
(X ~ U [ a, a]) , se X uma
varivel aleatria absolutamente contnua, com funo densidade de probabilidade f ( x) , dada por:
1 , se a x a 2a f ( x) = 0, caso contrrio
Se X ~ U a , a ento
E( X ) = 0
e
V(X ) =
a2 6
onde E ( X ) representa a mdia ou a esperana matemtica de X e V ( X ) a varincia de X1. Teorema do limite central
Define-se esperana matemtica de X, E ( X ) , por
E( X ) =
+
x f ( x ) dx
x f ( x ) dx < +
No caso em estudo, a hiptese anterior sempre vlida uma vez que o integral se reduz a um integral de uma funo contnua num intervalo fechado. Ento
E( X ) =
1 dx = 0 2a
Designamos por V ( X ) a varincia da varivel aleatria X. V ( X ) existe se existir E X 2 . A varincia define-se por:
( )
V ( X ) = E X E( X )
= E X 2 E( X )
( ) [
a
V (X ) = E X 2 =
( ) x 2 f (x )dx = a x 2 21a dx = a6
108
Seja X uma varivel aleatria com mdia m e desvio padro2 > 0 . Seja
( X 1 , X 2 ," , X n )
uma
amostra de X, isto , X 1 , X 2 ," , X n so variveis aleatrias independentes, seguindo todas a mesma lei de X. Ento,
1 n
X
i =1
m
segue assimptoticamente a lei N (0,1) 3
a2 a = . 6 6
Podemos ento afirmar que, para um valor de n suficientemente elevado, a varivel aleatria definida
por
1 n
X
i =1
a 6n
1 n
X
i =1
a ~ N 0, 6n
Quando se empregam distribuies assimptticas pe-se naturalmente o problema de averiguar a partir de que valor de n se est seguro de que so desprezveis os erros cometidos. A resposta a esta questo depende, como lgico, das estatsticas consideradas. Para a distribuio da mdia de amostras de dimenso 30, recolhidas de populaes que se saiba a priori no serem muitos assimtricas, a aproximao Normal bastante boa [18]. No nosso caso partimos de uma populao simtrica ( X i segue uma lei uniforme no intervalo
[ a , a] ).
Na simulao numrica realizada neste trabalho, surge, em determinada altura, a necessidade de possuir um gerador de nmeros aleatrios com distribuio normal. No entanto o software utilizado apenas dispe de um gerador de nmeros aleatrios com distribuio uniforme. Baseado no Teorema do limite central foi construdo, a partir daquele, um gerador com distribuio aproximadamente normal. Para isso, tal como feito habitualmente quando se pretende construir um gerador normal a partir de um gerador uniforme, foram consideradas amostras de dimenso 10 ( n = 10 ).
2 3
O desvio padro a raiz quadrada da varincia. Por N (0,1) representa-se a lei normal de mdia 0 e desvio padro 1.
109
Apndice D
Descrio das rotinas da NAG E04FDF e E04GCF
(M N) .
Especificao SUBROUTINE INTEGER DOUBLE PRECISION E04FDF (M, N, X, FSUMSQ, IW, LIW, W, LW, IFAIL) M, N, IW(LIW), LIW, LW, IFAIL X(N), FSUMSQ, W(LW)
Descrio A rotina E04FDF essencialmente idntica sub-rotina LSNDN1 do National Physical Laboratory Algorithms Library e aplicvel a problemas que se apresentam na forma: Minimizar F ( X ) = onde X = X 1 , X 2 ," , X N
[ f ( X )]
i =1 i
)T
deve ainda introduzir a sub-rotina LSFUN1 que calcula os valores tomados pelas diversas funes f i ( X ) em qualquer ponto X. A partir de uma aproximao inicial X ( ) , fornecida pelo utilizador, a rotina gera uma sequncia de
1 2 3 pontos X ( ) , X ( ) , , que se pretende que seja convergente para um mnimo local de F ( X ) (mnimo da soma
dos quadrados das diferentes funes f i ( X ) ). A sequncia de pontos calculada por meio de:
X(
k +1)
k k k = X ( ) + ( ) P( )
110
F( X ) .
k O vector P ( ) utilizado depende do valor da reduo na soma dos quadrados obtida durante a iterao k anterior. Se a soma dos quadrados suficientemente reduzida, ento P ( ) uma aproximao direco de k Gauss-Newton; caso contrrio so feitos clculos adicionais para a funo, de modo que P ( ) represente da
forma mais aproximada possvel a direco de Newton. Este mtodo foi elaborado de forma a assegurar uma evoluo bem direccionada das aproximaes sucessivas para o vector X, qualquer que seja a aproximao inicial X ( ) , de modo que se verifique uma rpida
1
Parmetros e Rotinas introduzidas pelo utilizador a) Parmetros de entrada M - varivel do tipo inteiro. N - varivel do tipo inteiro. Na entrada, M deve especificar o nmero de resduos f i ( X ) e N o nmero de variveis X j . obrigatrio que:
1 N M
Os valores de M e de N no so alterados durante a execuo do programa. X - vector de elementos de dupla preciso, com dimenso mnima N. Antes de efectuar a chamada da rotina o utilizador dever ter atribudo aos diversos X ( j ) ,
( j = 1, 2," , N ) , uma estimativa para o mnimo dessa varivel. Por outras palavras, necessrio que o utilizador
indique um valor para a aproximao inicial do vector das variveis, que designmos por X ( ) , a partir da qual a
1
rotina ir, caso seja possvel, determinar um mnimo local da funo F ( X ) . No fim da execuo o vector X contm os valores das variveis que tornam mnima a soma dos quadrados dos resduos. Assim, se na sada IFAIL= 0, X (n) representa a n-sima componente do vector X correspondente ao mnimo da funo F. FSUMSQ - varivel de dupla preciso. Na sada da rotina, FSUMSQ contm o valor da soma dos quadrados dos resduos, F ( X ) , correspondente ao vector X que torna mnima a funo F. IW - vector de elementos inteiros de dimenso LIW. Este vector usado como vector auxiliar. LIW - varivel do tipo inteiro. Na entrada, LIW deve especificar a dimenso do vector IW, cujo valor deve ser igual ao declarado no programa que chama a rotina E04FDF. necessrio que LIW 1 . O valor de LIW no alterado durante a execuo. 111
W - vector de elementos de dupla preciso com dimenso LW. Este vector usado como vector auxiliar. LW - varivel do tipo inteiro. Na entrada, LW deve especificar a dimenso do vector W, cujo valor deve ser igual ao declarado no programa que chama a rotina E04FDF. necessrio que:
LW 7 N + N 2 + 2 MN + 3 M + N ( N 1) / 2
se N > 1 se N = 1
LW 9 + 5 M
O valor de LW no alterado durante a execuo. IFAIL - varivel do tipo inteiro.
Antes da chamada da rotina, deve atribuir-se a esta varivel o valor 0, 1 ou -1. A menos que a rotina E04FDF detecte algum erro ou que d algum aviso1, na sada o valor de IFAIL dever ser 0. Para esta rotina, e porque os valores dos parmetros calculados podem ser teis mesmo que no fim da execuo se tenha IFAIL 0 2, recomendado que no incio seja atribudo o valor -1 a esta varivel. Nesse caso conveniente que no final da execuo o programa indique ao utilizador o valor de IFAIL que obteve.
b) Rotinas introduzidas pelo utilizador LSFUN1 - Sub-rotina. A sub-rotina LSFUN1 deve ser definida pelo utilizador, de forma a calcular o vector dos valores dos resduos f i ( X ) , (i = 1, 2," , M ) , em qualquer ponto X. Uma vez que esta sub-rotina no um parmetro da rotina E04FDF, obrigatrio que o nome da sub-rotina que calcula os referidos f i ( X ) seja sempre o indicado. aconselhvel que a sub-rotina LSFUN1 seja testada separadamente antes de ser usada em conjunto com a rotina E04FDF. A especificao desta sub-rotina a seguinte: SUBROUTINE INTEGER DOUBLE PRECISION Nela constam as variveis: M - varivel do tipo inteiro; N - varivel do tipo inteiro. Na entrada M e N contm o nmero de resduos e o nmero de variveis, respectivamente. Os valores de M e de N no devero ser alterados na execuo da sub-rotina. XC - vector de elementos de dupla preciso, com dimenso N. Na entrada XC deve conter o ponto para o qual se pretende que a sub-rotina calcule os valores dos resduos f i ( X ) . Esta no dever alterar os valores presentes em XC. FVECC - vector de elementos de dupla preciso, com dimenso M. LSFUN1 (M, N, XC, FVECC) M, N XC(N), FVECC(M)
1 2
Mais frente esto especificados os tipos de aviso que podem surgir. Por exemplo, apesar de a rotina no encontrar os resultados ideais, o utilizador poder querer saber os valores das variveis calculadas, tal como o vector X ou a soma dos quadrados dos resduos, representada por FSUMSQ.
112
Na sada da sub-rotina, em FVECC(i) dever constar o valor de f i calculado no ponto XC, para
i = 1, 2," , M .
Indicadores de erro e avisos Se na entrada IFAIL= 0 ou IFAIL= 1 ento no fim da execuo, caso tenha acontecido algum problema no clculo do mnimo, a rotina envia uma mensagem de erro na qual se encontra uma breve explicao para a sua ocorrncia. Podem acontecer as seguintes situaes:
IFAIL= 0
No ocorreu nenhum erro no clculo do mnimo da funo F e o resultado obtido corresponde ao mnimo local pretendido. Este o nico valor da varivel IFAIL que corresponde no existncia de erros e se ocorrer qualquer outro valor na sada isso significa que a rotina no funcionou correctamente.
IFAIL= 1
Surge esta mensagem de erro sempre que ocorre na entrada uma das seguintes situaes:
LW < 9 + 5 M
IFAIL= 2
Foram feitas 400N chamadas da rotina LSFUN1 e o algoritmo aparentemente no convergiu para a soluo desejada. Tal pode ocorrer devido a uma definio errada da funo que se quer minimizar (por exemplo, pretender minimizar uma funo que no tem mnimo local) ou ento devido a uma aproximao inicial
X ( ) de muito m qualidade. Neste ltimo caso aconselhvel efectuar uma nova chamada da sub-rotina
1
E04FDF utilizando para aproximao inicial o resultado final obtido ao fim das 400N chamadas de LSFUN1.
IFAIL= 3
No fim da execuo o ponto X obtido no satisfaz as condies para a sua aceitao como soluo para o mnimo da funo F. No entanto no foi possvel encontrar um resultado melhor.
IFAIL= 4
Uma rotina auxiliar que a rotina E04FDF usa no foi capaz de efectuar a decomposio por valores singulares (que necessria a este mtodo) num nmero razovel de sub-iteraes.
IFAIL= 5 IFAIL= 6 IFAIL= 7 IFAIL= 8
Em qualquer um destes casos existem dvidas acerca de o ponto X, encontrado pela rotina E04FDF, ser um mnimo local de F. O grau de confiana no resultado diminui medida que o valor de IFAIL aumenta. Assim,
113
se a varivel IFAIL toma o valor 5, bastante provvel que o resultado final para X d uma boa estimativa para a posio do mnimo pretendido, mas se IFAIL = 8 improvvel que a rotina tenha encontrado um mnimo. Se o utilizador no se encontrar satisfeito com o resultado (isto , porque a varivel IFAIL toma valores entre 3 e 8) aconselhvel reiniciar os clculos partindo de uma aproximao inicial diferente da utilizada, por forma a evitar a regio que causou a existncia do erro. Falhas sucessivas podero indicar que existe algum erro na formulao do problema.
Preciso Se o problema est bem formulado e se na sada se obtm o valor 0 para a varivel IFAIL (ou seja, foi atingido um mnimo local), ento, para uma mquina com t casas decimais de preciso, de esperar que se obtenham: cerca de
entre t 1 (se o mnimo de F ( X ) prximo de 1) e 2t 2 (se F ( X ) toma um valor no seu mnimo que prximo de 0), casas decimais de preciso em F ( X ) .
Comentrios O nmero mnimo de iteraes que necessrio efectuar para atingir o mnimo da funo F ( X ) depende essencialmente de trs factores: nmero de variveis; nmero de resduos f i ( X ) e seu comportamento; distncia entre o ponto de partida (aproximao inicial X ( ) ) e a soluo final para o vector X.
1
O nmero de multiplicaes executadas em cada iterao de E04FDF bastante varivel. Em cada uma destas iteraes so feitas pelo menos N + 1 chamadas da sub-rotina LSFUN1. Assim, a menos que o clculo dos resduos seja realizado muito rapidamente, o tempo que o programa demora a correr essencialmente gasto nas chamadas de LSFUN1. Idealmente o problema de minimizao que se pretende resolver deve ser modelado de forma que o valor mnimo da soma dos quadrados dos resduos pertena ao intervalo ] 0, 1 [ .
(M N) .
descrita, esta rotina exige o conhecimento das expresses da primeira derivada das M funes. Esta rotina destinada a funes contnuas, que tm tambm primeira e segunda derivadas contnuas. No entanto, tal como no caso anterior, a rotina funciona habitualmente, mesmo que as derivadas daquela ordem tenham descontinuidades ocasionais. Uma vez que a estrutura e principal funo desta rotina so bastante semelhantes estrutura e funo da rotina E04FDF3, no ser feita aqui a sua descrio exaustiva.
Especificao SUBROUTINE INTEGER DOUBLE PRECISION E04GCF (M, N, X, FSUMSQ, IW, LIW, W, LW, IFAIL) M, N, IW(LIW), LIW, LW, IFAIL X(N), FSUMSQ, W(LW)
Descrio A rotina E04GCF essencialmente idntica sub-rotina LSNDN2 do National Physical Laboratory Algorithms Library e , como no caso anterior, aplicvel a problemas que se apresentam na forma: Minimizar F ( X ) = onde X = X 1 , X 2 ," , X N
[ f ( X )]
i =1 i
)T
avaliar os valores dos diversos resduos f i ( X ) ,, para todos os pontos X, bem como os valores tomados pelas suas primeiras derivadas. Antes de minimizar a soma dos quadrados dos resduos, o algoritmo testa a consistncia da sub-rotina LSFUN2. A seguir, partindo de uma aproximao inicial para X, fornecida pelo utilizador, gerada uma sequncia de pontos, que se pretenda que seja convergente para o mnimo da soma dos quadrados dos resduos. Estes pontos so gerados usando estimativas para a curvatura de F ( X ) .
Parmetros e Rotinas introduzidas pelo utilizador M - varivel do tipo inteiro. N - varivel do tipo inteiro. Na entrada, M deve especificar o nmero de resduos f i ( X ) e N o nmero de variveis X j e deve-se ter 1 N M . Mais uma vez os valores de M e de N no so alterados durante a execuo do programa. X - vector de elementos de dupla preciso, com dimenso mnima N. Antes de efectuar a chamada da rotina, o utilizador dever ter atribudo aos diversos X ( j ) ,
( j = 1, 2," , N ) , uma estimativa para o mnimo dessa varivel. Em seguida, a rotina testa os valores da primeira
A principal diferena reside no facto de agora ser tambm necessrio introduzir uma matriz que contm as derivadas das M funes em ordem s N variveis.
115
derivada na aproximao inicial, calculados atravs da sub-rotina LSFUN2. aconselhvel que o utilizador introduza uma aproximao inicial no nula, com valores distintos para os vrios X ( j ) , ( j = 1, 2," , N ) . No fim da execuo, o vector X contm os valores das variveis que tornam mnima a soma dos quadrados dos resduos. Assim, se na sada a varivel IFAIL tomar o valor zero, X (n) representa a n-sima componente do vector X correspondente ao mnimo da funo F. FSUMSQ - varivel de dupla preciso. Na sada da rotina, FSUMSQ contm o valor da soma dos quadrados dos resduos, F ( X ) , correspondente ao vector X que torna mnima a funo F. IW - vector de elementos inteiros de dimenso LIW. Este vector usado como vector auxiliar. LIW - varivel do tipo inteiro. Na entrada, LIW deve especificar a dimenso do vector IW, cujo valor deve ser igual ao declarado no programa que chama a rotina E04GCF. necessrio que a varivel LIW tome um valor no inferior a 1, no sendo este valor alterado durante a execuo. W - vector de elementos de dupla preciso com dimenso LW. Este vector usado como vector auxiliar. LW - varivel do tipo inteiro. Na entrada, LW deve especificar a dimenso do vector W, cujo valor deve ser igual ao declarado no programa que chama a rotina E04GCF. necessrio que:
LW 8 N + 2 N 2 + 2 MN + 3 M
se N > 1 se N = 1
LW 11 + 5 M
O valor de LW no alterado durante a execuo. IFAIL - varivel do tipo inteiro.
Antes da chamada da rotina, deve atribuir-se a esta varivel o valor 0, 1 ou -1. A menos que a rotina E04GCF detecte algum erro ou que d algum aviso de erro, na sada o valor de IFAIL dever ser 0. Para esta rotina, e porque os valores dos parmetros por ela calculados podem ser teis mesmo que no fim da execuo se tenha IFAIL 0 , recomendado que no incio seja atribudo o valor -1 a esta varivel. Nesse caso conveniente que no final da execuo o programa indique ao utilizador o valor de IFAIL que obteve.
b) Rotinas introduzidas pelo utilizador LSFUN2 - Sub-rotina. A sub-rotina LSFUN2 deve ser definida pelo utilizador, de forma que ela calcule o vector dos resduos
f i ( X ) , para qualquer X j
ponto X. Mais uma vez, dado que esta sub-rotina no um parmetro da rotina E04GCF, obrigatrio que o nome da sub-rotina seja sempre o indicado. aconselhvel que a sub-rotina LSFUN2 seja testada separadamente antes de ser usada em conjunto com a rotina E04GCF. A especificao desta sub-rotina a seguinte:
116
LSFUN2 (M, N, XC, FVECC, FJACC, LJC) M, N, LJC XC(N), FVECC(M), FJACC(LJC,N)
M - varivel do tipo inteiro; N - varivel do tipo inteiro. Na entrada, M e N contm o nmero de resduos e o nmero de variveis, respectivamente. XC - vector de elementos de dupla preciso, com dimenso N. Na entrada XC deve conter o ponto para o qual se pretende que a sub-rotina calcule os valores dos resduos f i ( X ) e das suas primeiras derivadas
FVECC - vector de elementos de dupla preciso, com dimenso M. Na sada da sub-rotina FVECC(i) deve conter o valor de f i , calculado no ponto XC, para
i = 1, 2," , M .
FJACC - matriz de elementos de dupla preciso, com dimenses LJC por N. Na sada da sub-rotina, FJACC(i , j ) deve conter o valor de
i = 1, 2," , M e j = 1, 2," , N .
LJC - varivel do tipo inteiro. Na entrada, a varivel LJC, que no deve ser alterada durante a chamada da sub-rotina, contm o nmero de linhas da matriz FJACC, que regra geral igual a M.
Indicadores de erro e avisos Se na entrada IFAIL = 0 ou IFAIL = 1 ento, no fim da execuo, caso tenha acontecido algum problema no clculo do mnimo, a rotina envia uma mensagem de erro na qual se encontra uma breve explicao para a sua ocorrncia. Podem acontecer as seguintes situaes:
IFAIL= 0
No ocorreu nenhum erro no clculo do mnimo da funo F e o resultado obtido corresponde ao mnimo local pretendido. Este o nico valor da varivel IFAIL que corresponde no existncia de erros. Qualquer outro valor na sada significa que a rotina no funcionou correctamente.
IFAIL= 1
Surge esta mensagem de erro sempre que ocorre na entrada uma das seguintes situaes:
LW < 11 + 5 M
IFAIL= 2
117
Ao fim de 50N chamadas da sub-rotina LSFUN2 o algoritmo no convergiu para a soluo procurada. Tal pode ocorrer devido a uma definio errada da funo que se quer minimizar ou ento devido a uma aproximao inicial X ( ) de muito m qualidade. Tal como na rotina E04FDF, neste caso aconselhvel
1
efectuar uma nova chamada da sub-rotina E04GCF, utilizando para aproximao inicial o resultado final obtido ao fim das 50N chamadas de LSFUN2.
IFAIL= 3
No fim da execuo o ponto X obtido no satisfaz as condies para a sua aceitao como soluo para o mnimo da funo F, no tendo sido possvel, no entanto, encontrar um resultado melhor.
IFAIL= 4
Uma rotina auxiliar que a rotina E04GCF usa no foi capaz de efectuar a decomposio por valores singulares (que necessria a este mtodo) num nmero razovel de sub-iteraes.
IFAIL= 5 IFAIL= 6 IFAIL= 7 IFAIL= 8
Em qualquer um destes casos existem dvidas acerca de o ponto X encontrado pela rotina E04GCF, ser um mnimo de F. O grau de confiana no resultado diminui medida que o valor de IFAIL aumenta.
IFAIL= 9
Existe grande probabilidade de o utilizador ter cometido um erro na construo da matriz das derivadas, presente na rotina LSFUN2. Se o utilizador no se encontrar satisfeito com o resultado (isto , porque a varivel IFAIL toma valores entre 3 e 8) aconselhvel reiniciar os clculos partindo de uma aproximao inicial diferente da utilizada, por forma a evitar a regio que causou a existncia do erro. Falhas sucessivas podero indicar que existe algum erro na formulao do problema.
Preciso Se o problema est bem formulado e se na sada se obtm o valor 0 para a varivel IFAIL (ou seja, foi atingido um mnimo local), ento, para uma mquina com t casas decimais de preciso, de esperar que se obtenham: cerca de
entre t 1 (se o mnimo de F ( X ) aproximadamente 1) e 2t 2 (se F ( X ) toma um valor no seu mnimo que prximo de 0), casas decimais de preciso no valor de F ( X ) .
Comentrios
118
O nmero mnimo de iteraes que necessrio efectuar para atingir o mnimo da funo F ( X ) depende essencialmente de trs factores: nmero de variveis; nmero de resduos f i ( X ) e seu comportamento; distncia entre o ponto de partida, definido pela aproximao inicial X ( ) , e a soluo final para o
1
vector X. O nmero de multiplicaes executadas em cada iterao de E04GCF bastante varivel. Em cada uma destas iteraes feita pelo menos uma chamada da sub-rotina LSFUN2. Assim, a menos que o clculo dos resduos e das suas primeiras derivadas seja realizado muito rapidamente, o tempo que o programa demora a correr essencialmente gasto nas chamadas de LSFUN2. Mais uma vez, o problema de minimizao que se pretende resolver deve ser modelado de forma que o valor mnimo da soma dos quadrados dos resduos seja um valor que pertena ao intervalo ] 0, 1 [ .
119
Apndice E
Critrio dos mnimos quadrados
Iremos fazer neste apndice uma abordagem, no exaustiva, ao problema de ajustamento pelo critrio dos mnimos quadrados. Ser especialmente focado o caso particular de ajustamento que foi implementado numericamente. Chama-se modelo matemtico ao sistema terico ou conceito abstracto atravs do qual se descreve uma situao fsica ou um conjunto de acontecimentos, no sendo esta descrio necessariamente completa. Como um modelo serve um propsito especfico, a sua formulao pode variar largamente de um ponto de vista para outro, podendo, deste modo, o mesmo sistema fsico ser descrito por mais do que um modelo. Um modelo matemtico pode ser dividido em duas partes conceituais: Modelo funcional: composto por relaes que descrevem a geometria ou as caractersticas fsicas do problema em questo; Modelo estocstico: composto pelo conjunto de relaes que descrevem as propriedades estatsticas dos elementos envolvidos no modelo funcional, indicando, por exemplo, a qualidade das observaes feitas, atravs das suas precises. Quando se pretendem determinar uma ou vrias grandezas, normalmente fazem-se mais observaes do que as estritamente necessrias para a sua obteno. As principais razes para a existncia de redundncia so: permitir a deteco de erros grosseiros atravs da confirmao dos valores medidos; permitir fazer uma avaliao mais precisa das quantidades desejadas (atravs da execuo de um ajustamento); permitir estimar a ordem de grandeza da preciso obtida para os valores ajustados.
Antes de iniciar a aquisio de dados, necessrio especificar o modelo matemtico a considerar, que construdo utilizando um certo nmero de variveis e um conjunto de relaes entre elas. Escolhem-se ento as grandezas a observar, o nmero de observaes que se tero de fazer e a sua preciso. A necessidade de se realizar ou no um ajustamento vai depender do nmero de observaes feitas. Se estas forem mais do que o nmero mnimo de variveis independentes que permitem definir o modelo escolhido de uma forma nica, ser necessrio ajustar as observaes para que se obtenha uma soluo nica. Suponhamos que temos o seguinte modelo funcional:
( ) f ( L , L ," , L ) = 0
f 1 L1 , L2 ," , Ln = 0
2 1 2 n
#
120
f c L1 , L2 ," , Ln = 0
que, para simplificar, representaremos por
f i L1 , L2 ," , Ln = 0
ou ainda por
i = 1,2," , c
F L1 , L2 ," , Ln = 0
onde F L1 , L2 ," , Ln designa a matriz coluna constituda pelas c funes, 0 a matriz coluna com c elementos nulos e L j o verdadeiro valor da grandeza L j , para j = 1,2," , n (valor que nunca conhecido). Alm disso, necessrio que c > n . Representando ainda L1 , L2 ," , Ln por L , obtm-se o modelo funcional que descreve o problema em questo:
F L =0
Devido superabundncia existente, teremos vrias possibilidades de obter solues para o problema, que sero tantas quantas as combinaes que podemos formar com as observaes, tomadas em nmero mnimo necessrio para resolver o problema em questo. Desta forma os parmetros L1 , L2 , , Ln no so consistentes com o modelo funcional e teremos que substitu-los por um conjunto de estimaes L1 , L2 , , Ln (parmetros ajustados) que satisfaam o modelo funcional. Estas estimaes so obtidas adicionando a cada uma das observaes uma quantidade denominada correco ou resduo v j
()
= L j + v j , com
j = 1,2," , n . No entanto existem vrios valores de v j que daro origem a um conjunto de parmetros ajustados
consistentes com o modelo funcional. Para escolhermos o melhor conjunto de parmetros ajustados, ou seja, os valores mais provveis para as parmetros ajustados, vamos utilizar um critrio adicional, que o critrio dos mnimos quadrados. O critrio dos mnimos quadrados consiste em minimizar a funo
= v T Wv
v1 v 2 v= # v n
e W a matriz dos pesos dos parmetros, que uma matriz quadrada de ordem n. Para parmetros considerados independentes (ou no correlacionados) a matriz dos pesos uma matriz diagonal e toma a seguinte forma:
w1 0 W= # 0
0 w2 # = 2 0 % 0 " 0 wn 0 "
1 12 0 # 0
0 1 22 "
" % 0
0 # 0 1 n2
121
sendo w j o peso do parmetro L j , 0 2 a varincia de referncia (a varincia de um parmetro com peso unitrio) e j 2 a varincia do parmetro L j . No caso de termos parmetros no correlacionados, a matriz W uma matriz diagonal e a funo toma a forma
(w v )
n 2 j j j =1
No caso mais simples em que os parmetros, alm de serem no correlacionados, tm a mesma preciso ( w j = 1 ) temos
v
j =1
2 j
de onde advm o nome do critrio. Neste caso a matriz dos pesos W toma a forma da matriz identidade. Assim os parmetros ajustados vo ser os elementos do vector L = L + v , sendo L o vector inicial dos parmetros e v o vector dos resduos que tornam mnima a funo . Frequentemente as equaes que constituem o modelo funcional no so lineares, o que complica consideravelmente o ajustamento. Quando tal acontece habitual proceder-se sua linearizao, utilizando para isso a frmula de Taylor, aplicada a cada uma das c funes f i . Desprezando no desenvolvimento em srie os termos de ordem igual ou superior segunda ordem, de
f i L1 , L2 ," , Ln = 0
obtm-se
f i L1 , L2
(0)
(0)
," , Ln
(0)
= 0 , para i = 1," , c
(ApE-1)
onde L1(0) , L2 (0) ," , Ln (0) representa a aproximao inicial para as grandezas L1 , L2 ," , Ln que pretendemos determinar. De uma forma simplificada, representado por L 0 o vector L1(0) , L2 (0) , " , Ln (0) , escrevemos
( )
( )
(ApE-2)
f i onde representa a matriz linha das derivadas parciais da funo f i em ordem s n variveis L j , L L(0 )
calculada com os valores da aproximao inicial L 0 . Considerando o conjunto das c equaes escrevemos1:
( )
122
F ( ) ( ) L L0 = 0 F L0 + L L(0 )
( )
(ApE-3)
Uma vez que os verdadeiros valores dos coeficientes dos polinmios nunca so conhecidos, ou seja, o vector
(L , L ," , L )
1 2 n
nunca poder ser conhecido, vamos substitu-los pelos valores ajustados, os quais
pretendemos determinar pela tcnica dos mnimos quadrados e que representaremos por Designando L1 , L2 ," , Ln por L , vem
( L , L ," , L ) .
1 2 n
F ( ) ( ) L L0 = 0 F L0 + L L(0 )
( )
(ApE-4)
Designando por v o vector dos resduos associados aos n parmetros L1 , L2 , , Ln e considerando a aproximao inicial para os parmetros L 0 = L1(0) , L2 (0) ," , Ln (0) , teremos
0 v = L L( )
( )
Para obter os valores ajustados L adiciona-se o vector dos resduos v aos valores da aproximao
0 inicial L( ) . No entanto, se pretendermos fazer vrias iteraes, em cada uma delas usamos para aproximao 0 L( ) o valor ajustado obtido na iterao anterior. De (ApE-4) vem
F ( ) F L0 + v = 0 L L(0 )
( )
( )
(ApE-5)
F: IR n IR m
com y = y1 , y 2 ," , y m
) dado por
x 6 y = F (x )
y 2 = f 2 ( x1 , x 2 ," , x n )
# y m = f m ( x1 , x 2 ," , x n )
a forma linearizada de F ser
y1 = f 1 ( x1 , x2 ," , xn )
yy
(0)
+ J yx x
( ) 0 onde y representa o valor da funo F para um ponto qualquer x, y ( ) representa o valor de F na aproximao inicial x 0
(ponto em torno do qual feito o desenvolvimento em srie de Taylor), J yx a matriz Jacobiana (matriz das derivadas parciais das m funes f i em ordem s n variveis x j ) calculada tambm na aproximao inicial x
0 acrscimos, definido por x = x x ( ) .
(0)
e x o vector dos
123
v1 v 2 v= , # v n
f1 f 2 f = # f c ( L1(0) , L2(0 ) ,", L41(0 ) )
e
f1 L 1 f 2 A = L1 # f c L1
f1 L2 f 2 L2 # f c L2
Vamos agora aplicar o critrio dos mnimos quadrados, isto , vamos determinar a soluo nica para o vector dos parmetros que torna = v T Wv mnimo. Para isso temos que resolver o sistema
Av=f T = v Wv
mnimo
que um problema de extremos condicionados e que vai ser resolvido pelo mtodo de Lagrange2. Vamos assim construir uma funo , a partir de , introduzindo c multiplicadores de Lagrange, de modo que
= + ( Av f )
O mtodo de Lagrange para determinao de extremos condicionados diz que, quando se pretende determinar um extremo relativo de uma funo f em n variveis, que esto relacionadas entre si por k condies 1 ," , k (com k < n ),
introduzem-se k multiplicadores de Lagrange i ( i = 1," , k ) e estuda-se uma nova funo , de n + k variveis, definida por
= f + 1 1 + 2 2 +"+ k k
Os extremos relativos da funo f sero as solues do sistema
1 = 0 =0 2 # k = 0 = 0 x 1 = 0 x2 # =0 xn
124
= 2 k T ( Av f ) = v T Wv 2 k T ( Av f )
O mnimo da funo ser a soluo do seguinte sistema:
=0 v Av f = 0
onde
Para a resoluo do sistema podem seguir-se os seguintes passos: (i) resolve-se a primeira equao em ordem a v e, uma vez que se considera que a matriz W uma matriz diagonal, vem
v = W 1 A T k
v = Ay
onde A uma matriz (m, n) e y um vector (n,1) . Se A independente de y tem-se:
v ( Ay ) = =A y y
Seja w a forma bilinear: onde x e y so vectores (n,1) e A uma matriz quadrada de ordem n. Se A independente de x e de y ento
w = x T Ay
w = xT A y
e
w = y T AT x
Seja u a forma quadrtica:
onde x um vector (n,1) e A uma matriz simtrica de ordem n e independente de x. Demonstra-se facilmente que
u = x T Ax
u = x t A + x t At = x t A + At = 2 x t A x
Uma vez que se considera que as variveis do problema em causa no esto correlacionadas, a matriz dos pesos W uma matriz diagonal (e por conseguinte simtrica), o que justifica o resultado:
T v Wv = 2v T W v
125
k = AW 1 A T
(iii) substitui-se k na expresso encontrada para v
v = W 1 A T AW 1 A T
)1 f
(ApE-6)
Quando os parmetros no esto correlacionados e se consideram todas as observaes com igual preciso (que o caso do nosso trabalho), a matriz W toma a forma da matriz identidade e o vector dos resduos pode ser obtido por
v = A T AA T
(ApE-7)
L = L0 +v
( )
(ApE-8)
Se pretendermos realizar mais iteraes repete-se todo o processo descrito. A matriz Jacobiana A e o vector dos termos independentes f sero agora calculados com os valores de L obtidos no fim da iterao
0 anterior, isto , toma-se para L( ) o valor de L obtido. Calcula-se novamente o vector dos resduos por meio de
(ApE-7) e obtm-se a nova aproximao para os parmetros por meio de (ApE-8). Note-se que nesta expresso
0 L( ) corresponde ao valor de L calculado no fim da iterao anterior e que L a nova aproximao para o
vector dos parmetros que queremos determinar. Realizam-se iteraes at que o vector dos resduos (que corresponde diferena entre os vectores dos parmetros ajustados obtidos em duas iteraes sucessivas) seja prximo do vector nulo.
126
Bibliografia
Francis ACKERMAN & Edward M. MIKHAIL - Observations and Least Squares, University
Press of America, 1976, Volumes I, II e III; F. R. Dias AGUDO - Introduo lgebra Linear e Geometria Analtica, Livraria Escolar
Editora, 1983, Volumes I e II; Silvestre Dias ANTUNES - Metrologia & Qualidade, Instituto Portugus da Qualidade, 1994; Artur Soares ALVES - Apontamentos das Lies Tericas da cadeira de Metrologia Geomtrica,
Observatrio Astronmico da Universidade de Coimbra, 1994; Artur Soares ALVES - Mecnica Geral, Instituto Nacional de Investigao Cientfica, 1988; Artur Soares ALVES - Metrologia Geomtrica, Fundao Calouste Gulbenkian, 1996; A. BALSAMO - Effects of arbitrary coefficients of CMM error maps on probe qualification,
Annals of the CIRP, Vol. 44/1/1995; A. BALSAMO, M. FRANKE, E. TRAPET, F. WLDELE, L. de JONGE & P. VANHERCK -
Results of the CIRP-Euromet intercomparison of ball plate-based techniques for determining CMM parametric errors, Annals of the CIRP, Vol. 46/1;
[9] [10]
calibration of CMMs, Annals of the CIRP, Vol. 45/1/1996; G. BELFORTE, B. BONA, E. CANUTO, F. DONATI, F. FERRARIS, I. GORINI, S. MOREI,
M. PEISINO & S. SARTORI - Coordinate measuring machines and machine tools selfcalibration and error correction, Annals of the CIRP, Vol. 36/1/1987;
Company, Fifth Edition, 1993; N. A. DUFFIE & S. J. MALMBERG - Error diagnosis and compensation using kinematic models
and position error data, Annals of the CIRP, Vol. 36/1/1987; N. A. DUFFIE & S. M. YANG - Generation of parametric kinematic error-correction functions
from volumetric error measurements, Annals of the CIRP, Vol. 34/1/1985; Chris J. EVANS & Robert J. HOCKEN - Self-calibration: reversal, redundancy, error
separation, and absolute testing, Annals of the CIRP, Vol. 45/2/1996; F. JOUY - Theorical modelisation and experimental identification of the geometrical parameters
od coordinate-machines by measuring a multi-directed bar, Annals of the CIRP, Vol. 35/1/1986; Joaquim Joo JDICE & Joo Manuel PATRCIO - Sistemas de equaes lineares,
127
Francis H. MOFFITT & Edward M. MIKHAIL - Photogrammetry, Harper & Row, 1980; Bento Jos Ferreira MURTEIRA - Probabilidades e Estatstica, Vol. II, McGraw-Hill, 1980; Hans Joachim NEUMANN - Coordinate Metrology - Technology and Application, Verlag
Moderne Industrie AG & Co., 1990; S. SARTORI, P. C. CRESTO, M. Di CIOMMO & T.K. KANCHEVA - A way to improve the
accuracy of a co-ordinate measuring machine, Measurement, Vol. 6, N 2, Abril-Junho de 1988; S. SARTORI & G. X. ZHANG - Geometric error measurement and compensation of machines,
Annals of the CIRP, Vol. 44/2/1995; J. W. M. C. TEEUWSEN, J. A. SOONS & P. H. J. SCHELLEKENS - A General method for
error description of CMMs using polynomial fitting procedures, Annals of the CIRP, Vol. 38/1/1989; Eugen TRAPET & Franz WLDELE - Asseguramiento de la calidad para mquinas de medir
por coordenadas, Physikalisch Technische Bundesantalt, 1991; Paul R. WOLF - Elements of Photogrammetry, McGraw-Hill, 1974.
128