ES2213181T3 - Procedimiento de reposicion a cero de los captadores de un aparato con sonda de un sistema de medicion de coordenadas de 3-d. - Google Patents

Procedimiento de reposicion a cero de los captadores de un aparato con sonda de un sistema de medicion de coordenadas de 3-d.

Info

Publication number
ES2213181T3
ES2213181T3 ES96926179T ES96926179T ES2213181T3 ES 2213181 T3 ES2213181 T3 ES 2213181T3 ES 96926179 T ES96926179 T ES 96926179T ES 96926179 T ES96926179 T ES 96926179T ES 2213181 T3 ES2213181 T3 ES 2213181T3
Authority
ES
Spain
Prior art keywords
probe
point
joints
sensors
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES96926179T
Other languages
English (en)
Inventor
Louis B. Rosenberg
Bruce M. Schena
Scott B. Brave
Bernard G. Jackson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Immersion Corp
Original Assignee
Immersion Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Immersion Corp filed Critical Immersion Corp
Application granted granted Critical
Publication of ES2213181T3 publication Critical patent/ES2213181T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/02Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness
    • G01B21/04Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness by measuring coordinates of points
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/02Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness
    • G01B21/04Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness by measuring coordinates of points
    • G01B21/042Calibration or calibration artifacts
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B5/00Measuring arrangements characterised by the use of mechanical techniques
    • G01B5/004Measuring arrangements characterised by the use of mechanical techniques for measuring coordinates of points
    • G01B5/008Measuring arrangements characterised by the use of mechanical techniques for measuring coordinates of points using coordinate measuring machines
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/4202Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine preparation of the programme medium using a drawing, a model
    • G05B19/4207Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine preparation of the programme medium using a drawing, a model in which a model is traced or scanned and corresponding data recorded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • G06F3/0383Signal control means within the pointing device
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1037Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted for converting control signals received from the game device into a haptic signal, e.g. using force feedback
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37021Robot controls position of touch probe
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37043Touch probe, store position of touch point on surface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39015With different manipulator configurations, contact known sphere, ballbar
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39021With probe, touch reference positions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39024Calibration of manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39048Closed loop kinematic self calibration, grip part of robot with hand
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45055Assembly
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45061Measuring robot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/015Force feedback applied to a joystick
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01HELECTRIC SWITCHES; RELAYS; SELECTORS; EMERGENCY PROTECTIVE DEVICES
    • H01H3/00Mechanisms for operating contacts
    • H01H2003/008Mechanisms for operating contacts with a haptic or a tactile feedback controlled by electrical means, e.g. a motor or magnetofriction

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)
  • A Measuring Device Byusing Mechanical Method (AREA)

Abstract

UN METODO Y APARATO PARA MEDIR COORDENADAS TRIDIMENSIONALES (3D). UN OBJETO TRIDIMENSIONAL SE PODRA DIGITALIZAR DANDO UNA REPRESENTACION EN UNA CUADRICULA MANIPULABLE POR UN SISTEMA DE ORDENADOR (18) PARA TRAZAR UN PUNZON DE UN APARATO (22) DE SONDA SOBRE LA SUPERFICIE DEL OBJETO. EL APARATO DE SONDA INCLUYE UN BRAZO QUE TIENE UNA SERIE DE TIRANTES Y UNIONES. EL BRAZO SE PODRA ENSAMBLAR COLOCANDO LAS UNIONES DEL BRAZO EN UNOS ELEMENTOS DE FIJACION DE LA UNION A UNA DISTANCIA Y ANGULOS SEPARADOS Y UNIENDO LAS UNIONES A UN TIRANTE. EL APARATO DE SONDA SE CALIBRA COLOCANDO LA PUNTA DEL PUNZON (22) EN UN PUNTO ARBITRARIO EN UN VOLUMEN DE TRABAJO Y HACIENDO VARIAR LA ORIENTACION DEL PUNZON PARA ENCONTRAR VALORES DE ERROR Y LOS PARAMETROS DE CALIBRACION DETERMINADOS. LOS SENSORES DEL APARATO DE SONDA SE PONEN A CERO COLOCANDO EL APARATO DE SONDA EN LA UNICA POSICION DE REPOSO POSIBLE Y ASIGNANDO ANGULOS DE INICIO ASUMIDOS A LOS SENSORES.

Description

Procedimiento de reposición a cero de los captadores de un aparato con sonda de un sistema de medición de coordenadas de 3-D.
Campo técnico
La presente invención se refiere en general a dispositivos de entrada para conectar con sistemas informáticos, y más en particular a dispositivos de entrada a ordenador que proporcionan información espacial acerca de un objeto tridimensional a sistemas informáticos que proporcionan una representación del objeto, a saber a un método según el preámbulo de la reivindicación 1.
Antecedentes de la invención
La digitalización tridimensional (3D) es el proceso de detectar un objeto tridimensional y crear una representación tridimensional del objeto que puede ser manipulada como datos digitales por un sistema informático. Los sistemas informáticos pueden crear y manejar modelos tridimensionales detallados y exactos para uso por animadores, ingenieros, científicos, diseñadores, arquitectos, y otros que tienen necesidad de un modelo tridimensional realista manipulable derivado de un objeto físico real.
Se dispone de muchos tipos de dispositivos que pueden digitalizar objetos tridimensionales. Un tipo ordinario de aparato digitalizador utiliza un dispositivo de sonda, tal como un palpador u otro puntero, para trazar sobre superficies un objeto tridimensional y por lo tanto proporcionar los datos de coordenadas espaciales del objeto a un sistema informático central. El sistema informático central puede muestrear el dispositivo de sonda para recibir puntos de datos discretos en diferentes coordenadas espaciales. Los puntos se pueden unir y visualizar como una "representación de malla", que es un modelo de tipo alambre incluyendo un conjunto de vértices con líneas o polígonos de interconexión (llamado típicamente un "conjunto de datos"). Un sistema informático puede crear un modelo sombreado tridimensional realista a partir de la representación en malla de un objeto.
Un tipo ordinario de aparato de sonda utiliza articulaciones mecánicas y sensores para determinar la posición del palpador u otra sonda que trace el objeto tridimensional. El palpador está fijado a un extremo de una serie de articulaciones mecánicas, y el otro extremo de la cadena de articulaciones está conectado a una base fijada a una superficie estacionaria. Se puede incluir sensores en uniones de la cadena de articulaciones para detectar la orientación relativa de las articulaciones, y por lo tanto el palpador, con respecto a la base. Los datos de ángulo leídos por los sensores se pueden convertir a datos de coordenada por una interface de microprocesador o por el sistema informático central. Tal sistema se describe en EP-A-0 640 902.
Los problemas de los métodos de digitalización tridimensional de la técnica anterior se producen frecuentemente porque el usuario tiene demasiadas limitaciones al trazar un objeto que va a ser digitalizado. Típicamente, el usuario tiene que trazar el objeto a lo largo de superficies particulares del objeto y en direcciones particulares en las superficies. Esto puede producir frecuentes errores en la representación en malla resultante cuando una superficie es trazada en la dirección errónea o los puntos no están conectados adecuadamente. Además, a menudo el usuario no puede ver una representación en malla resultante hasta que todo el objeto o una porción grande del objeto ha sido trazada por el aparato digitalizador. Esto permite introducir más errores en la representación en malla y hace que se gaste más tiempo corrigiendo representaciones de malla, puesto que el usuario no puede determinar inmediatamente si un punto ha sido introducido de forma inexacta.
Se introducen otras inexactitudes al utilizar métodos y aparatos de la técnica anterior para digitalizar objetos tridimensionales. Por ejemplo, un usuario puede desear mover o girar un objeto que ha sido digitalizado sólo parcialmente para acceder a superficies de difícil acceso en el objeto. El objeto se puede colocar en una plataforma rotativa, por ejemplo, para contribuir a girar fácilmente el objeto. Sin embargo, una vez que el objeto se desplaza, el sistema informático central ya no puede desarrollar una representación en malla a partir de la posición antigua del objeto. En los digitalizadores de la técnica anterior, un usuario debe seleccionar primero tres o más puntos en el objeto, mover el objeto a la posición nueva deseada, y volver a seleccionar los mismos tres o más puntos en el objeto en la posición nueva. El ordenador central puede transformar las coordenadas, teniendo en cuenta la posición nueva del objeto, y así seguir desarrollando la representación en malla. Sin embargo, tal procedimiento introduce típicamente error en la representación en malla, puesto que es difícil volver a seleccionar con precisión los mismos puntos en la posición nueva del objeto. Además, la realización de tal procedimiento es lenta e interrumpe indebidamente el proceso de digitalización.
En muchos aparatos digitalizadores de la técnica anterior, el usuario está limitado, además, por las articulaciones del conjunto de articulaciones. Puesto que se dirigen hilos a través de las articulaciones para transportar señales eléctricas de los sensores situados en ellas, las articulaciones incluyen típicamente topes que limitan el movimiento de una articulación a menos de 360 grados para evitar la torsión y el estiramiento de los hilos. Sin embargo, este movimiento limitado puede incomodar al usuario al trazar un objeto, especialmente cuando se llega a un límite en una articulación en una dirección particular y se requiere el movimiento adicional del palpador en dicha dirección para trazar la superficie del objeto.
Hay otros problemas con los aparatos digitalizadores de la técnica anterior. Puesto que los aparatos digitalizadores deben detectar con precisión un objeto para proporcionar datos de coordenada válidos al sistema informático, la calibración de los sensores de los aparatos es de capital importancia para compensar variaciones en la estructura mecánica de las articulaciones y uniones. En la técnica anterior, la calibración se realiza colocando típicamente el palpador u otro dispositivo de sonda en posiciones conocidas en el espacio y para registrar las lecturas de posición en dichas posiciones conocidas. Las desviaciones entre las posiciones conocidas y las lecturas de posición medidas se pueden usar como parámetros de error para la sintonía fina de parámetros de calibración. Sin embargo, tal método de calibración requiere definir las posiciones conocidas y que el palpador se fije con precisión en las posiciones conocidas. Esto puede requerir adaptadores de precisión caros. Además, este método de calibración es lento y esmerado, y puede ser tedioso.
Además, otros procedimientos de inicialización de la técnica anterior pueden ser engorrosos o lentos. Los aparatos digitalizadores utilizan frecuentemente sensores relativos menos caros que detectan un cambio en la posición de una articulación del aparato digitalizador en vez de leer un ángulo absoluto para la posición de la articulación. Al utilizar tales sensores relativos, con frecuencia se realiza un procedimiento de "puesta a cero" cada vez que se conecta el aparato para proporcionar ángulos iniciales de referencia para los sensores relativos. Por ejemplo, en la técnica anterior, la puesta a cero se puede realizar desplazando cada unión individual a un tope de la unión y los ángulos iniciales "se ponen a cero" en dichos puntos. Sin embargo, en los aparatos digitalizadores que tienen cuatro, cinco o seis grados de libertad, este procedimiento puede ser muy lento para mover cada unión individual cada vez que se conecta el aparato. Otros aparatos digitalizadores utilizan una "posición inicial" para proporcionar ángulos iniciales. El palpador se coloca en un receptáculo en la base del aparato de tal manera que los ángulos iniciales de referencia para todos los sensores sean conocidos cuando se conecte el aparato. Sin embargo, poner el receptáculo en una posición inicial en la base del aparato requiere típicamente una base más grande que cubre una zona superficial más grande en una superficie de soporte tal como una mesa, lo que puede ser inconveniente. Además, cuantos más grados de libertad hay en un aparato digitalizador, más articulaciones tienen que ponerse a cero entre la base y la sonda. Cuanto mayor es el número de uniones a poner a cero, mayor es la posibilidad de introducir error en el proceso de puesta a cero.
Descripción de la invención
La presente invención proporciona un método para poner a cero transductores de un aparato de sonda de un sistema de medición de coordenadas tridimensionales (3D) como el definido en la reivindicación 1.
El método de la presente invención para poner a cero los sensores de un aparato de sonda de un sistema de medición de coordenadas tridimensionales que tiene sensores relativos, tal como el aparato de sonda, incluye colocar el palpador (u otra sonda) en un receptáculo colocado en una de las uniones o una de las articulaciones del aparato de sonda. Este receptáculo toma preferiblemente la forma de un pequeño agujero u hoyo poco profundo. El conjunto de brazo de articulación puede estar solamente en una configuración posible mientras el palpador está colocado en el receptáculo; esta configuración se denomina una "posición inicial". Después se recibe una indicación de poner a cero los sensores del aparato de sonda, tal como mediante la conexión del aparato de sonda. Los ángulos iniciales son asignados después a los sensores cuando el aparato de sonda está en la posición inicial. Los ángulos iniciales proporcionan una referencia de ángulo cero para los sensores del aparato de sonda. Preferiblemente, los ángulos iniciales se han calibrado previamente para el aparato de sonda particular que está experimentando el proceso de puesta a cero.
Las características de la presente invención permiten un sistema digitalizador tridimensional y de medición de coordenadas más exacto, más conveniente y menos caro que los sistemas de la técnica anterior. El método de puesta a cero es más exacto y permite solamente que una configuración física posible del brazo de sonda esté en la posición inicial.
Estas y otras ventajas de la presente invención serán evidentes a los expertos en la materia mediante la lectura de la memoria descriptiva siguiente de la invención y un estudio de las varias figuras del dibujo.
Breve descripción de los dibujos
La figura 1 es una vista en perspectiva de un sistema de medición y digitalización.
La figura 1a es un diagrama de bloques de la electrónica de interface para uso con el sistema de digitalización de la figura 1.
La figura 2 es un diagrama de flujo que ilustra un método de inicializar y usar el sistema de digitalización de la figura 1.
La figura 3a es un diagrama de flujo que ilustra un proceso de puesta a cero para el aparato de sonda del sistema de digitalización.
La figura 3b es un diagrama de flujo que ilustra un proceso de puesta a cero alternativo al proceso de la figura 3a.
La figura 4 es una vista en perspectiva del aparato de sonda de la figura 1 en una posición inicial.
La figura 4a es una vista de detalle del agujero para sujetar el palpador en la posición inicial.
La figura 5 es un diagrama de flujo que ilustra un proceso de calibración para el aparato de sonda de la figura 1.
La figura 6 es un diagrama de flujo que ilustra un proceso de inicializar una plataforma rotativa y plantilla de selección.
La figura 7 es una vista en perspectiva de la plataforma rotativa.
La figura 8 es una vista en planta desde arriba de la plantilla de selección.
La figura 9 es una vista en perspectiva de un objeto que va a ser digitalizado.
La figura 10 es una vista diagramática de una representación en malla del objeto representado en la figura 9.
La figura 11 es un diagrama de flujo que ilustra un proceso para desarrollar una representación en malla tal como la representada en la figura 10.
La figura 12 es un diagrama de flujo que ilustra el paso de la figura 11 para crear triángulos en una representación en malla.
La figura 13 es un diagrama que ilustra una representación en malla ejemplar desarrollada por el proceso de la figura 11.
La figura 14 es un diagrama de flujo que ilustra el paso de la figura 12 para añadir triángulos entre dos líneas de contorno de la representación en malla.
Las figuras 15a, 15b, 15c, 15d, y 15e son diagramas que ilustran el método de la figura 12 para añadir triángulos usando la representación en malla de la figura 13.
La figura 16 es un diagrama que ilustra los vectores normales para triángulos añadidos a la representación en malla.
La figura 17 es un diagrama de flujo que ilustra el paso de la figura 11 para cerrar la representación en malla.
Las figuras 18a y 18b son diagramas de una representación en malla que ilustran el proceso de la figura 17 para cerrar una representación en malla.
La figura 19 es un diagrama de flujo que ilustra un método de montar conjuntos de articulación utilizados en el aparato de sonda de la figura 1.
La figura 20 es un diagrama esquemático que ilustra el método de la figura 19.
Y las figuras 21a y 21b son vistas delantera y lateral de una unión de tope multietápico de la presente invención para uso con el aparato de sonda de la figura 1.
Mejores modos de llevar a la práctica la invención
En la figura 1, un sistema de digitalización 10 para medir un objeto tridimensional (3D) y proporcionar una representación del objeto tridimensional en un sistema informático incluye un aparato de sonda 12, una plataforma rotativa 14, una interface electrónica 16, y un ordenador central 18. Se representa un objeto tridimensional 20 descansando en la plataforma rotativa 14. El sistema digitalizador ilustrado 10 tiene la finalidad de proporcionar una representación altamente exacta del objeto 20 que el ordenador central 18 puede visualizar, editar, copiar, proporcionar a otros sistemas informáticos, o manipular de otro modo.
El aparato de sonda 12 se facilita para permitir a un usuario medir y transmitir información de posición del objeto 20 al ordenador central 18. Como conocen los expertos en la materia, una sonda que es trazada sobre un objeto 3D, tal como el objeto 20, puede proporcionar información de coordenadas que describe la geometría 3D del objeto 20. En el aparato de sonda preferido, esta información de coordenadas se obtiene usando sensores operativos para medir posiciones del aparato de sonda cuando se desplaza a varias posiciones con respecto a la base fija. Esto se describe con mayor detalle a continuación.
El aparato de sonda 12 incluye preferiblemente una sonda de palpador 22 y un conjunto de articulaciones mecánicas 25. El palpador 22 es una varilla en forma de pluma que se puede manipular entre los dedos del usuario para permitir un grado fino de control del aparato de sonda. El palpador 22 incluye una punta 23 que se utiliza para referenciar la posición de un punto al que apunta el aparato de sonda. Se puede usar sondas distintas del palpador 22 en otras realizaciones. Por ejemplo, se puede usar un elemento curvado o inclinado, empuñadura, palpador soportado en palma, u otro tipo de sonda.
El palpador 22 está acoplado al conjunto de articulaciones mecánicas 25. El conjunto de articulaciones 25 (o "brazo") incluye preferiblemente elementos de unión 24, 26, y 28, articulaciones 30, 32 y 34, y una base 33. La base 33 también incluye preferiblemente una unión de base 35 acoplada entre la base y la articulación 34. El palpador 22 está acoplado a la articulación 30 mediante un elemento de unión 24, y la articulación 30 está acoplada a la articulación 32 mediante un elemento de unión 26. La articulación 32 está acoplada a la base 33 mediante un elemento de unión 28. El término "elemento de unión", en el sentido en que se usa aquí, se refiere a un mecanismo de conexión entre componentes de articulación individuales que pueden incluir al menos una "unión" que proporciona un grado de libertad. La base 33 está colocada preferiblemente con seguridad o fijada a una superficie de soporte 37, tal como una mesa.
Cada elemento de unión 24, 26, 28, y 35 proporciona uno o varios grados de libertad al palpador 22 dentro del espacio de coordenadas tridimensionales definido por el eje x 36, el eje y 38, y el eje z 40 con respecto a la base fija 33. Por ejemplo, el elemento de unión 24 incluye dos articulaciones que permiten mover el palpador 22 alrededor de eje A1, representado por flechas 42 y alrededor del eje A2, representado por flechas 44. Preferiblemente, el elemento de unión 24 y el palpador 22 se pueden girar alrededor del eje A2 mientras la articulación 30 permanece fijada en el elemento de unión 26. El elemento de unión 26 incluye una unión que permite que el palpador 22, el elemento de unión 24, y la articulación 30 se muevan alrededor del eje A3, representado por flechas 46. El elemento de unión 28 incluye dos uniones que permiten que el palpador 22, los elementos de unión 24 y 26, y las articulaciones 30 y 32 se muevan alrededor del eje A4, representado por flechas 48, y alrededor del eje A5, representado por flechas 50. El elemento de unión 28 incluye realmente el elemento 31, que gira alrededor del eje A4, y el elemento 34, que está separado de la base 33 por la unión 35 y gira para que el conjunto de articulaciones 23 pueda girar con referencia a la base 33. La unión 35 permite mover los elementos de unión 24, 26, y 28, las articulaciones 30 y 32, y el palpador 22 alrededor del eje A5. El palpador 22 del aparato de sonda preferido 12 se puede mover así en cinco grados de libertad alrededor del eje A1-A5.
En realizaciones alternativas, se puede añadir grados de libertad adicionales. Por ejemplo, el palpador 22 se puede girar alrededor de un eje A6 que es paralelo a la dirección longitudinal del palpador para proporcionar un sexto grado de libertad. A la inversa, se puede proporcionar menos grados de libertad al palpador 22 en algunas realizaciones donde no se necesitan más de tres o cuatro grados de libertad.
El conjunto de articulaciones tiene características únicas. El elemento de unión 28 incluye dos articulaciones y proporciona dos grados de libertad alrededor de los ejes A4 y A5. El elemento de unión 26 está aislado de los otros elementos de unión por articulaciones 30 y 32 y proporciona solamente un grado de libertad alrededor del eje A3. El elemento de unión 24 incluye dos articulaciones cada una de las cuales proporciona al palpador 22 un grado de libertad alrededor del eje A1 y A2, respectivamente. Así, el conjunto de articulaciones tiene una configuración de 2 uniones, articulación, 1 unión, articulación, 2 uniones. Esta configuración tiene la ventaja de que las articulaciones 30 y 32 no tienen que girar alrededor de un eje longitudinal a través del centro de cada una de las articulaciones, es decir, la articulación 30 no gira alrededor del eje A2 y la articulación 32 no gira alrededor de un eje A7 que se extiende longitudinalmente a través del centro de la articulación 32. Las articulaciones 30 y 32 están acopladas así rígidamente y fijadas al elemento de unión 26 y el elemento de unión 28, respectivamente. Puesto que las articulaciones 30 y 32 no tienen que girar como se describe, las excentricidades (curvas, alabeos, torsiones, etc) en las articulaciones 30 y 32 no introducen por lo tanto error en la detección del palpador 22 cuando se desplaza el palpador 22.
Además, el elemento 31 del elemento de unión 28 incluye preferiblemente un extremo con lastre 29. Se incluye un material pesado, tal como plomo u otro metal, dentro del extremo 29 para equilibrar el conjunto de articulaciones 23. Cuando el extremo 29 está lastrado adecuadamente, el elemento de unión 26 (el "codo" del brazo) no "se bloquea" tan fácilmente en una posición totalmente extendida como cuando el extremo 29 no está lastrado, es decir, el lastre equilibra el conjunto de articulaciones de manera que sea más fácil mover la unión 26 desde la posición extendida. La posición extendida se produce cuando las articulaciones 30 y 32 están dispuestas aproximadamente en una línea recta. El extremo con lastre 29 también permite mover el palpador 22 más fácilmente en el volumen operativo.
Preferiblemente, se incluyen sensores 54 (o tipos similares de transductores) en los elementos de unión 24, 26, 28, y 35 para medir el cambio de ángulo entre las articulaciones después de la conexión del aparato de sonda 12. Aquí, el término "posición" se refiere a la posición de coordenada lineal de la punta 23 del palpador 22 a lo largo del eje x 36, el eje y 38, y el eje z 40 con respecto a un origen O en la base 33. Por ejemplo, cada punto en espacio tiene una única posición que tiene coordenadas x, y, y z. El término "orientación", en el sentido en que se usa aquí, se refiere al balanceo, cabeceo, y guiñada del palpador 22 en una posición particular con respecto al origen en la base 33. Por ejemplo, la punta 23 del palpador 22 puede estar en una posición (x, y, z) mientras que el palpador 22 tiene una orientación particular incluyendo un ángulo definido por coordenadas de guiñada y cabeceo y un giro definido por una coordenada de balanceo. Por lo tanto, cada uno de los transductores proporciona preferiblemente señales de posición angular o "señales anulares" para uno de los grados de libertad del aparato.
Se incluye preferiblemente un sensor 54a en el elemento de unión 24, se incluyen dos sensores 54b y 54c en el elemento de unión 26, se incluye un sensor 54d en el elemento de unión 28, y se incluye un sensor 54e en la base 33 (o elemento 34). El sensor 54b está acoplado preferiblemente al elemento de unión 24 mediante un eje 55 que se dirige a través del interior de la articulación 30. Así, cuando el elemento de unión 24 se hace girar alrededor del eje A2, también gira el eje 55, y esta rotación es detectada por el sensor 54b. La posición del sensor 54b en el elemento de unión 26 permite que el elemento de unión 24 sea lo más pequeño que sea posible, lo que permite que el palpador 22 sea manipulado más convenientemente por el usuario. Se puede incluir un sensor adicional en el elemento de unión 24 para medir el movimiento del palpador 22 alrededor del eje A6 en otras realizaciones. Alternativamente, para mantener el elemento de unión 24 lo más pequeño que sea posible, este sensor adicional se puede colocar en el elemento de unión 26 y acoplar al palpador 22 con cables o ejes parecidos al eje 55. Los sensores se pueden colocar en otros lugares del conjunto de articulaciones 23 en otras realizaciones. Los sensores 54 son preferiblemente codificadores ópticos relativos para medir el cambio de ángulo de rotación de un eje de sensor alineado con un eje particular A1-A5, como conocen los expertos en la materia. Un sensor adecuado 54, por ejemplo, es un codificador óptico fabricado por Hewlett Packard. Alternativamente, se puede usar otros tipos de sensores, tal como codificadores absolutos, potenciómetros, sensores magnéticos, etc, así como sensores que detectan el movimiento lineal en vez de la rotación angular.
Un usuario puede "trazar" los contornos, bordes y superficies del objeto 20 con el palpador 22 para transmitir información de posición y orientación desde el palpador al ordenador central 18, es decir, el usuario puede "digitalizar" el objeto 20. Aquí, "trazar" se refiere a poner la punta 23 del palpador 22 en contacto con una superficie del objeto 20 y mover el palpador a lo largo de la superficie. Los sensores 54 del aparato de sonda transmiten las orientaciones angulares relativas del conjunto de articulaciones 25 y el palpador 22, cuando se desplaza el palpador, al ordenador central 18, que convierte la información de ángulo a coordenadas y a una representación en malla (un tipo de representación geométrica) de la superficie que se trazó. Los métodos de trazar un objeto con un palpador para tal finalidad son conocidos por los expertos en la materia, y se describen con mayor detalle con referencia a la figura 9.
El aparato de sonda 12 se puede usar para varias aplicaciones diferentes distintas de digitalizar objetos tridimensionales. Por ejemplo, con la plataforma rotativa 14 se puede usar virtualmente cualquier aparato que mida espacialmente un objeto y transmita la información de coordenada a un ordenador central.
La plataforma rotativa 14 se soporta por la superficie de soporte 37 dentro del volumen operativo del aparato de sonda 12, donde el "volumen operativo" se define aquí como todo el volumen que rodea al aparato de sonda 12 que se puede alcanzar con la punta 23 del palpador 22. Otros tipos de aparatos de medición tridimensional tienen volúmenes operativos definidos por el volumen alcanzable de un elemento de sonda que contacta el objeto. La plataforma rotativa se coloca preferiblemente de tal manera que la tabla completa 14 se incluya en el volumen operativo. Además, se puede unir otras realizaciones de la plataforma rotativa 14 a la base 33 del aparato de sonda 12, como se explica con mayor detalle con respecto a la figura 6.
La plataforma rotativa 14 incluye una mesa giratoria 60 y una base de plataforma 62. La mesa giratoria 60 se puede girar alrededor del eje B1 como se indica con la flecha 64 mientras que la base de plataforma 62 permanece en posición fija. Un objeto 20 descansa en una superficie de la mesa giratoria 60, y está acoplado preferiblemente a la superficie por cables, cola, tornillos, u otro sujetadores para evitar que el objeto se mueva con relación a la superficie rotativa 60. Además, la plataforma rotativa 14 emite señales en el bus 66 a una interface 16 u ordenador central 18 indicando todo cambio de posición del objeto 20 alrededor del eje B1. Esto se describe con mayor detalle con referencia a la figura 6. La plataforma rotativa 14 permite a un usuario mover el objeto 20 para inclinar el objeto más favorablemente para el trazado con el palpador 22. Por ejemplo, si el objeto 20 presenta algunas superficies que son difíciles de contactar con la punta 23 del palpador 22, el objeto se puede mover por la superficie rotativa 60 alrededor del eje B1 hasta que la superficie deseada del objeto sea más accesible al palpador 22. El movimiento del objeto 20 en la plataforma rotativa no produce errores en mediciones de coordenadas adicionales del objeto 20.
Se deberá observar que la plataforma rotativa 14 se puede usar con una amplia variedad de aparatos digitalizadores tridimensionales. Virtualmente cualquier aparato que mida espacialmente un objeto y transmita la información medida a un ordenador central se puede usar con la plataforma rotativa 14.
Un pedal 68 está acoplado preferiblemente al aparato de sonda 12 por un bus 70. El pedal 68 incluye un pedal de activación 71 o control similar, tal como un botón, interruptor, etc. El pedal 68 se coloca preferiblemente debajo o al lado de la superficie de soporte 37 para que un usuario del aparato de sonda 14 pueda acceder al pedal fácilmente. Cuando el pedal 68 es activado por un usuario, los ángulos relativos leídos por los sensores 54 desde una posición de referencia son leídos por el ordenador central 18, y el ordenador central calcula la posición actual y orientación del palpador 22 y la punta 23 usando la información de ángulo. La posición y orientación se expresa como un "punto" de coordenadas, es decir un conjunto de coordenadas x, y, z, balanceo, paso, guiñada. El pedal está colocado convenientemente de manera que un usuario pueda utilizar el pie para activar el pedal. El usuario no tiene así que quitar o desplazar las manos del palpador 22 o del aparato de sonda 12 al enviar información de coordenada al ordenador central 18. Alternativamente, el pedal 68 se puede facilitar como un botón o interruptor situado en el palpador 22, en una posición diferente del conjunto de articulaciones 25, en la plataforma rotativa 14, o como un control manual separado. Además, el pedal 68 puede estar acoplado al aparato de sonda 12 y estar acoplado por separado al ordenador central 18 o la interface 16, o se podría conectar al ordenador central mediante la plataforma rotativa 14. Un método de digitalizar un objeto 20 usando el pedal 68 se describe con mayor detalle con respecto a la figura 11.
La interface electrónica 16 está acoplada al aparato de sonda 12 por un bus 72. En la realización preferida, la interface 16 se incluye dentro de la carcasa exterior de la base 33 (o elemento 34) del aparato de sonda. Alternativamente, la interface 16 puede estar fuera del aparato de sonda 12 y el ordenador central 18, o la interface se puede disponer dentro del ordenador central 18. En la realización preferida, la interface 16 sirve como un dispositivo de entrada/salida (E/S) para recibir ángulos de los sensores 54 del aparato de sonda 12 y transmitir dichos ángulos al ordenador central 18, así como para transmitir órdenes del ordenador central 18 al aparato de sonda 12. Alternativamente, la interface 16 puede transmitir al ordenador central 18 datos de coordenada calculados a partir de los datos de ángulo sin elaborar. La interface 16 también puede recibir órdenes del pedal 68, la plataforma rotativa 14, u otros botones y/o controles del aparato de sonda 12. La interface 16 se describe con mayor detalle con referencia a la figura 1a.
El ordenador central 18 recibe del aparato de sonda 12 datos de coordenada que describen el objeto 20. El ordenador 18 usa los datos de coordenada para desarrollar una representación del objeto 20. Por ejemplo, en la realización descrita, el ordenador puede formar y visualizar una representación gráfica altamente exacta del objeto 20, llamada una representación de "malla", que incluye mediciones exactas, ángulos, y otra información espacial. El ordenador central incluye preferiblemente componentes estándar tal como un microprocesador, memoria de acceso aleatorio (RAM), memoria de lectura solamente (ROM), electrónica de entrada/salida, y dispositivos de almacenamiento tal como una unidad de disco duro, unidad de CD ROM, etc. Preferiblemente, el ordenador central 18 es un ordenador personal o estación de trabajo, tal como un ordenador personal IBMPC AT o Macintosh, o una estación de trabajo SUN o Silicon Graphics. Muy comúnmente, el sistema informático central es un ordenador personal que opera bajo los sistemas operativos MSDOS o Windows de conformidad con un estándar IBM PC AT.
El ordenador central 18 está acoplado preferiblemente a una pantalla de visualización 76 que se puede usar para presentar al usuario una representación en malla 78 del objeto 20. La representación en malla se representa con mayor detalle con respecto a la figura 10. La representación en malla 78 se puede visualizar cuando el usuario está trazando el objeto 20 de manera que el usuario pueda ver incrementalmente cómo el objeto se está representando dentro del sistema informático 18. Esto ayuda a un usuario a descubrir errores de trazado tan pronto como se cometen los errores, en vez de tener que esperar a trazar todo el objeto y después ver una representación en malla resultante. Este método preferido se describe con mayor detalle con respecto a la figura 11.
La pantalla de visualización 76 también visualiza preferiblemente una interface de usuario a un sistema operativo implementado por un ordenador central 18. El software se puede implementar en el ordenador central 18 de tal manera que las órdenes se le presenten al usuario en la pantalla de visualización 76 para ofrecer varias opciones al trazar un objeto, introducir coordenadas, visualizar la representación en malla, o un modelo sombreado derivado de la representación en malla, etc, como conocen los expertos en la materia.
Un cursor o puntero 77 visualizado por el sistema operativo o programa de aplicación ejecutado en el sistema informático 18 se visualiza preferiblemente para acceder a funciones para manipular la representación en malla visualizada o para acceder a características del aparato de sonda 12 y la plataforma rotativa 14. El puntero puede ser manejado tradicionalmente por un puntero de entrada tal como un ratón, trackball, teclado táctil, o análogos. En la presente invención, el palpador 22 del aparato de sonda 12 también puede ser utilizado preferiblemente para controlar el puntero 77. Cuando el palpador se desplaza a través del espacio 3D, el ordenador central puede recibir los datos de posición del palpador 22 y convertir los datos a coordenadas bidimensionales. El ordenador central 18 desplazaría después el puntero 77 a las coordenadas bidimensionales, como conocen los expertos en la materia. La conversión de coordenadas 3D a coordenadas 2D se puede realizar ignorando simplemente una tercera coordenada, tal como la coordenada z; o las tres coordenadas se pueden convertir a coordenadas 2D proyectando datos a un plano dado. El pedal 71 se puede usar de forma similar a un ratón u otro botón de puntero. El control de puntero 77 por el palpador 22 se puede implementar como un modo, donde el usuario puede seleccionar si estar en modo de control de cursor de ordenador o en modo de malla de traza tridimensional. Estos modos se pueden seleccionar o conmutar por software ejecutado en el ordenador central 18 mediante orden en un sistema operativo o utilizando la plantilla de selección 80 (descrita más adelante).
La plantilla de selección 80 presenta una colección de zonas de selección 82 dentro de la plantilla 80 que describen opciones, órdenes, y otras funciones que se refieren al aparato de sonda 12 y el ordenador central 18. Estas funciones se implementan preferiblemente usando software ejecutado en el ordenador central 18; sin embargo, las funciones se pueden implementar en un microprocesador de controlador en el aparato de sonda 12 o un controlador diferente conectado o sistema informático para el sistema digitalizador 10. La plantilla 80 tiene preferiblemente una forma plana fina con una superficie plana y se hace de un material tal como material de tarjetas, plástico, u otro material duradero. Alternativamente, la plantilla 80 puede ser una forma rectilínea, cúbica, u otra tridimensional que tiene una superficie plana para visualizar zonas de selección 80. Las zonas de selección 80 pueden incluir indicaciones tal como palabras órdenes, por ejemplo, "iniciar nueva malla", así como iconos, formas, y otras imágenes. Cuando un usuario mueve la punta 43 del palpador 22 sobre o por encima de una zona de selección de la plantilla 80, se implementa una función del aparato de sonda 12 o software de control ejecutado en el ordenador central 18. Por ejemplo, si el usuario mueve el palpador 22 sobre un icono cuadrado etiquetado "Guardar malla", la malla tridimensional actualmente visualizada en la pantalla de visualización 76 se guarda en un dispositivo de almacenamiento acoplado al ordenador central 18, tal como un disco duro. Como se describe más adelante con referencia a la figura 8, se puede seleccionar otras órdenes para borrar una malla, iniciar una malla nueva, cargar una malla de un dispositivo de almacenamiento, copiar una malla, seleccionar modos del aparato de sonda 12 tal como un modo de "autodisparo" (descrito más adelante), etc.
No se acopla un dispositivo detector separado, tal como el tipo convencional de tableta sensible al contacto usada para detectar un palpador, a la plantilla 80 para determinar las funciones o órdenes a las que apunta por palpador 22. Esto es debido a que la posición y orientación de la punta 43 del palpador 22 con respecto a la base 33 ya son conocidas por el ordenador central 18 mediante los sensores 54 del aparato de sonda 12. La zona definida por la plantilla 80 en el volumen operativo del aparato de sonda 12 es inicializada preferiblemente en un procedimiento de preparación del aparato de sonda 12 que determina la posición y orientación de la plantilla con respecto a la base fija (descrita con referencia a las figuras 6 y 8). La plantilla y las posiciones de las zonas de selección 82 se definen en el procedimiento de preparación, de manera que cuando la punta 43 del palpador 22 está apuntando a las zonas de selección definidas, el ordenador central 18 implementa una función predefinida para dicha zona de selección. Esto proporciona un método muy conveniente para que el usuario seleccione órdenes mientras traza el objeto 20, puesto que el usuario no tiene que manipular un dispositivo de entrada separado, tal como un ratón o dispositivo trackball, y no tiene que ver y mover una pantalla vídeo de cursor. El usuario puede tocar simplemente el palpador 22 a la orden deseada. La plantilla 80 se representa unida a la superficie del soporte 37 en la figura 1. La plantilla 80 también puede estar unida, por ejemplo, a la base 33 o articulación 34 del aparato de sonda 12, la plataforma rotativa 14, o una superficie conveniente diferente dentro del volumen operativo del aparato de sonda 12 con una posición conocida con respecto a la base 33.
La figura 1a es un diagrama de bloques que ilustra una interface electrónica preferida 16 para el sistema de digitalización 10 representado en la figura 1. La interface 16 incluye preferiblemente un microprocesador 86, memoria de acceso aleatorio (RAM) 88, memoria de lectura solamente (ROM) 90, y circuitería de entrada/salida (E/S) 92. El microprocesador 86 recibe señales digitales de los sensores 54 del aparato de sonda y proporciona datos de ángulo al ordenador central 18, y también puede recibir órdenes del ordenador central 18. Alternativamente, el microprocesador 86 también puede calcular datos de coordenada a partir de los datos de ángulo. La RAM 88 puede realizar el almacenamiento de datos de contabilización y temporales. La ROM 90 guarda instrucciones para el microprocesador 86 las siga y puede ser una memoria programable borrable de lectura solamente (EPROM), por ejemplo. La ROM 90 también guarda preferiblemente parámetros de calibración y otros parámetros como se describe después. El microprocesador 86, la RAM 88 y la ROM 90 pueden estar acoplados por un bus de dirección/datos/control 87. Preferiblemente, dichos componentes están integrados en un chip microcontrolador, tal como Motorola 68HC11, cuyo uso conocen los expertos en la materia.
La circuitería de E/S 92 está acoplada al bus 87 y puede incluir varios circuitos y procesadores para uso con el aparato de sonda 12. Sensores 54, periféricos 94, y el ordenador central 18 están acoplados a la circuitería de E/S 92. La circuitería de E/S 92 puede incluir preprocesadores para convertir información de sensor digital a cambios angulares y enviar la información de ángulo al microprocesador 86, así como otra circuitería de interface de sensor. Por ejemplo, se puede usar contadores de cuadratura, tal como el Quadrature Chip LS7166 de Hewlett Packard, para leer continuamente la salida de un sensor codificador óptico y determinar un cambio angular de la posición del sensor. El microprocesador 86 puede proporcionar después los ángulos de unión al ordenador central 18 o convertir los ángulos a la posición espacial del palpador.
También se puede utilizar otros tipos de circuitería de interface. Por ejemplo, una interface electrónica se describe en la Solicitud de Patente de Estados Unidos número de serie 08/092.974, presentada el 16 de julio de 1993 y titulada "Ratón mecánico 3D", cedida al cesionario de la presente invención. La interface electrónica aquí descrita se diseñó para el ratón mecánico 3D Immersion PROBE^{TM} y tiene seis canales correspondientes a los seis grados de libertad del Immersion PROBE.
Periféricos 94 también están acoplados a la circuitería de E/S 92 e incluyen el pedal 71, la plataforma rotativa 14 (en algunas realizaciones), y cualesquiera otros botones u otros dispositivos de entrada que introducen información en el aparato de sonda 12. Los periféricos 94 también pueden incluir cualesquiera dispositivos de salida acoplados al aparato de sonda, tal como luces, altavoces de sonido, pantallas, etc. El ordenador central 18 también está acoplado a la circuitería de E/S 92. En la realización preferida, un puerto serie del sistema informático 18, tal como un puerto RS-232, conecta la circuitería de E/S al sistema informático 18. Alternativamente, un puerto paralelo del sistema informático central 18 puede estar acoplado a la circuitería de E/S 92, o una tarjeta conectable y ranura u otro acceso del sistema informático 18.
La figura 2 es un diagrama de flujo que ilustra un método 100 de inicializar y utilizar el aparato de sonda 12 y la plataforma rotativa 14 y desarrollar una representación en malla del objeto 20 que puede ser manipulada por el ordenador central 18. El proceso asume que el usuario ha conectado el aparato de sonda 12 y la plataforma rotativa 14 al ordenador central 18 y la interface 16. El proceso 100, como se describe, presenta una secuencia ejemplar para efectuar los pasos incluidos. En otras realizaciones, estos pasos se pueden realizar en otras secuencias, o se puede omitir algunos pasos.
El proceso comienza en 102, y, en el paso 104, los sensores del aparato de sonda 12 se ponen preferiblemente "a cero" de tal manera que los sensores puedan referenciar una orientación relativa conocida de las articulaciones y elementos de unión del aparato de sonda. Tal procedimiento es necesario típicamente al utilizar sensores relativos, como en la realización preferida de la presente invención. Los sensores relativos miden solamente cambios de la rotación angular (o traslación), y no miden un ángulo absoluto. El procedimiento de puesta a cero proporciona ángulos de referencia para los sensores que los sensores pueden utilizar como un punto de referencia a partir del que medir. El procedimiento preferido de puesta a cero de la presente invención se describe con mayor detalle con respecto a las figuras 3a y 3b.
En el paso siguiente 106 se calibra el aparato de sonda 12, si es necesario. Típicamente, este paso lo lleva a cabo el fabricante del aparato de sonda 12 antes de que el aparato de sonda esté a disposición del usuario, y el paso 106 se omite así generalmente cuando un usuario típico usa el aparato de sonda. Sin embargo, el aparato de sonda puede estirarse físicamente de tal manera que la articulación o uniones se curven o muevan de otro modo con relación a otras articulaciones, produciendo así error en las mediciones. El aparato de sonda se podría recalibrar después en el paso 106. Un procedimiento de calibración preferido de la presente invención para el aparato de sonda 12 (u otros aparatos de sonda 3D) se describe con mayor detalle con respecto a la figura 5.
En el paso siguiente 108, se halla la posición y orientación de la plataforma rotativa 14, si se usa, con respecto al origen en la base 33. Este paso permite que la interface 16 y/o el ordenador central 18 referencien la plataforma rotativa con relación al aparato de sonda. Cuando el usuario gira la plataforma rotativa 14, el ordenador central 18 puede determinar después el cambio de posición y orientación del objeto 20 y compensarlo de manera que el usuario pueda seguir trazando el objeto en la nueva posición sin introducir error en la representación en malla 78 visualizada en la pantalla 76. Además, la posición y orientación de la plantilla de selección 80 con respecto a la base 33 se pueden hallar en el paso 108, si se está utilizando la plantilla. El paso 108 se describe con mayor detalle con respecto a la figura 6.
En el paso siguiente 110, se desarrolla una representación en malla 78 del objeto 20 en el sistema informático central 18 cuando el objeto es trazado con el palpador 22 del aparato de sonda 12. El usuario traza preferiblemente a lo largo de líneas de contorno no intersecantes a lo largo de la superficie de objeto 20, como se describe más adelante. Los puntos de datos se suministran al ordenador central 18 cuando el palpador está siendo trazado, y la representación en malla 3D se desarrolla a partir de los puntos de datos. Un método preferido de desarrollar una representación en malla 3D de un objeto 3D se describe con mayor detalle con respecto a la figura 11. El paso 108 se puede implementar múltiples veces para objetos diferentes 20 o el mismo objeto 20 sin tener que realizar de nuevo los pasos 104-108 (a no ser que se apague el aparato de sonda). El proceso 100 se termina después en 112.
La figura 3a es un diagrama de flujo que ilustra el paso 104 de la figura 2, en el que los sensores del aparato de sonda 12 "se ponen a cero". Este proceso asume que sensores relativos están siendo usados en los elementos de unión 24, 26, y 28 del aparato de sonda 12. Los sensores relativos, tal como los codificadores ópticos relativos, son típicamente menos caros y así son más preferibles que los sensores absolutos, tal como los codificadores absolutos, potenciómetros, y resolvedores. Puesto que los sensores relativos solamente miden cambios de rotación angular o traslación, se deriva un ángulo absoluto. En este proceso, los ángulos de referencia iniciales se dan de manera que los ángulos absolutos se puedan derivar de los cambios relativos de los ángulos. El proceso de determinar ángulos de referencia iniciales se denomina "poner a cero" los sensores, puesto que se considera típicamente que el ángulo de referencia inicial conocido es de 0 grados (o equivalente), y todos los cambios en ángulo se tratan con relación al ángulo cero.
El proceso preferido de puesta a cero de la presente invención comienza en 114, en el que el aparato de sonda 12 todavía no está conectado. En el paso 116, el usuario coloca el palpador 22 en una "posición inicial" colocando el palpador en un receptáculo que está preferiblemente en la primera unión o articulación del aparato de sonda después de la base 33. Esta unión/articulación es el elemento 34 del elemento de unión 28 en el aparato de sonda 12 representado en la figura 1. La posición inicial es una posición estándar en la que las articulaciones del conjunto de articulaciones 23 del aparato de sonda siempre están dispuestas en ángulos iniciales predeterminados conocidos una con relación a otra y a la base 33. Un ejemplo de una posición inicial se representa en la figura 4.
La figura 4 es una vista en perspectiva del aparato de sonda 12 donde el aparato de sonda 12 está en una posición inicial de la presente invención. El palpador 22 ha sido colocado en un agujero 122 en un tope 124, donde el tope 124 está acoplado al elemento 34, como se representa con mayor detalle con respecto a la figura 4a. El tope 124 evita que el elemento de unión 28 gire más allá de un cierto punto alrededor del eje A4. Cuando el palpador 22 está en el agujero 122, la articulación 32, la articulación 30 y el palpador 22 se colocan en "ángulos iniciales" conocidos, es decir, se supone que el palpador se ha colocado en el agujero 122 y que el conjunto de articulaciones está en esta posición inicial cuando el aparato de sonda recibe corriente. Cada elemento de unión 24, 26, y 28 está en una posición inicial particular que tiene un ángulo inicial conocido. Estos ángulos iniciales son los que se consideran la posición cero para los sensores del aparato de sonda 12. Cuando el palpador 22 es desplazado por un usuario, el cambio de los ángulos del conjunto de articulaciones 23 desde los ángulos iniciales de posición inicial es leído por los sensores 54. Cada posición nueva del palpador 22, cuando se muestrea, se define en términos del cambio de ángulo desde la posición inicial. Los cambios de ángulo se pueden convertir después en valores de coordenada.
La posición inicial de la figura 4 está dispuesta específicamente de manera que el palpador 22 pueda encajar en el agujero 122 solamente cuando el conjunto de articulaciones 23 asume la posición inicial representada en la figura 4, es decir, solamente es posible una configuración física del conjunto de articulaciones cuando el palpador 22 está colocado en el agujero 122. Así, si la articulación 24, por ejemplo, se hace girar 180 grados alrededor del eje A2, el palpador 22 no puede encajar en el agujero 22. Esto evita configuraciones indeseadas del conjunto de articulaciones que proporcionan a las uniones del aparato de sonda ángulos diferentes de los ángulos iniciales asumidos.
En la presente invención, el palpador 22 se coloca en un agujero del elemento 34 que es más próximo y se quita una unión de la base 33. Esto tiene la ventaja de que el sensor 54e no está incluido en la posición inicial y no tener que asignar un ángulo inicial asumido. Cuantos menos ángulos de unión se asumen, menos error se introduce en el proceso de puesta a cero. Además, el conjunto de articulaciones 23 se puede girar alrededor del eje A5 sin afectar a la posición inicial del aparato de sonda 12. El elemento 34 no está a un ángulo inicial conocido; sin embargo, no hay que conocer el ángulo inicial del elemento 34 con relación a la base 33, puesto que el ángulo con respecto a la superficie de soporte 37 u otras zonas externas al aparato de sonda 12 no se requiere para poner a cero los sensores. El elemento 34 se puede colocar así convenientemente en cualquier ángulo con relación a la base 33, y dicho ángulo se considera el ángulo cero.
Con referencia de nuevo a la figura 3a, en el paso siguiente 118, se conecta el aparato de sonda 12. Por ejemplo, el usuario puede activar un conmutador de potencia situado en la base 33 del aparato de sonda 12. Los parámetros de calibración normales para las longitudes de las articulaciones de la sonda, etc, como se describe con referencia a la figura 5, también pueden cargarse a la conexión. En el paso siguiente 120, la interface 16 (o el ordenador central 18) lee los ángulos iniciales calibrados en un dispositivo de memoria o almacenamiento del aparato de sonda 12, tal como EPROM 90, y asigna los ángulos iniciales calibrados a las posiciones actuales de las articulaciones. Los ángulos iniciales calibrados son ángulos iniciales sintonizados finamente que compensan ligeras desviaciones de fabricación en las articulaciones y uniones del aparato de sonda. Por ejemplo, un aparato de sonda se puede colocar en general a los ángulos deseados, pero se puede colocar unos pocos grados o fracciones de un grado de los ángulos iniciales deseados (debido, por ejemplo, a variación de fabricación). Para permitir mayor exactitud al digitalizar objetos tridimensionales, los ángulos iniciales calibrados de un brazo de sonda se almacenan en un dispositivo de memoria de cada brazo de sonda. Estos ángulos iniciales son ligeramente diferentes para cada aparato de sonda 12 fabricado. En la realización descrita, se almacena un ángulo inicial para cada una de las articulaciones de los cinco grados de libertad previstos, a excepción del elemento 34 (puesto que el ángulo para el sensor 54e no se conoce). En otras realizaciones, para n uniones que tienen ángulos iniciales conocidos, solamente hay que almacenar n-1 ángulos iniciales. Esto es debido a que el ángulo inicial (n-ésimo) final se puede derivar por técnicas geométricas de los otros ángulos iniciales conocidos. Tales técnicas geométricas son conocidas por los expertos en la materia.
El microprocesador 86 asigna preferiblemente los ángulos iniciales a las posiciones de sensor actuales de las uniones poniendo los valores de ángulo a valores conocidos. Por ejemplo, en la realización preferida, se utilizan chips de cuadratura para leer valores de ángulo de los sensores. El microprocesador puede borrar los recuentos en los chips de cuadratura o poner los recuentos iniciales a recuentos de ángulo iniciales calibrados predefinidos (donde los "recuentos" pueden ser, por ejemplo, recuentos de ranuras dentro de sensores de codificador óptico que se pueden convertir en valores de ángulo convencionales). Entonces termina el proceso de puesta a cero.
La figura 3b es un diagrama de flujo que ilustra un segundo proceso de puesta a cero 104' alternativo al proceso 104 descrito anteriormente. En el proceso 104' no se ha previsto posición inicial. En esta realización, se utiliza una marca de referencia o señal para cada sensor 54 para determinar dónde están situados los ángulos de referencia cero en las uniones del aparato de sonda 12. Esta realización es muy apropiada para sensores tal como codificadores ópticos rotativos, en los que una rueda que tiene ranuras se hace girar cuando se hace girar el eje del codificador. Un emisor de un haz de energía electromagnética emite el haz a través de las ranuras en la rueda y un detector detecta así cuándo giran las ranuras para leer el cambio de ángulo del eje de sensor. Tales codificadores, y tipos similares de sensores, son conocidos por los expertos en la materia.
Esta segunda realización de un proceso de puesta a cero utiliza las ranuras o marcas similares detectadas de los sensores como el codificador óptico. Se pone una marca de índice en una posición predeterminada en el rango de detección de cada sensor en cada unión del aparato de sonda 12. Por ejemplo, en los codificadores ópticos, se puede poner una ranura de índice más ancha en la rueda dentro del codificador. El sensor puede determinar cuándo se detecta la ranura más ancha, puesto que difiere de todas las demás ranuras. Así, la interface 16 conoce dónde está situada la marca de índice en el rango de un sensor. Cuando se detecta la marca de índice, se ha determinado el ángulo inicial de la unión, y se ha asignado un valor de ángulo inicial asumido a dicha posición de la unión.
El proceso 104' comienza en 124, y, en el paso 126, el aparato de sonda recibe potencia. En el paso siguiente 128, el usuario mueve el palpador 22 del aparato de sonda 12 entre dos posiciones predeterminadas dentro del volumen operativo con respecto a la base 33, y la interface 16 lee los sensores cuando el usuario mueve el palpador. Preferiblemente, las dos posiciones predeterminadas están diseñadas para permitir un movimiento fluido natural del palpador 22 que garantiza que cada marca de índice de cada sensor en el aparato de sonda sea detectada por cada sensor y enviada a la interface 16. Por ejemplo, las dos posiciones pueden ser un punto en la base 33 del aparato de sonda y un punto fuera de la base hacia el borde del volumen operativo. Los puntos no tienen que ser exactos, puesto que las marcas de índice se deberán diseñar para ser detectadas por los sensores dentro del rango de movimiento proporcionado por el usuario. Esto permite un movimiento simple y fácil para poner a cero todos los sensores del aparato de sonda. El usuario puede mover fácilmente el palpador en un movimiento fluido y natural sin tener que mover por separado cada unión individual.
En el paso siguiente 130, los ángulos iniciales calibrados almacenados se leen de un dispositivo de memoria del aparato de sonda (o un dispositivo de memoria acoplado diferente) y son asignados a las posiciones de marca de índice detectadas de las uniones. Los ángulos iniciales calibrados son similares a los descritos con respecto al paso 120 de la figura 3a, y proporcionan exactitud adicional al procedimiento de puesta a cero. Los ángulos iniciales calibrados han sido compasados por las ligeras diferencias físicas de un sensor concreto. A cada posición de marca de índice de cada unión se le asigna el ángulo inicial correspondiente. El proceso termina después como se indica en 132.
La figura 5 es un diagrama de flujo que ilustra el paso 106 de la figura 2, en el que se calibra el aparato de sonda, si es necesario. Este proceso de calibración se realiza típicamente para cada aparato de sonda individual por el fabricante antes de que el usuario final pueda adquirir el aparato de sonda. El usuario final también podría desear efectuar el proceso de calibración en el caso de que se introduzca un error en el aparato de sonda.
La calibración permite tener en cuenta las variaciones en las piezas fabricadas del aparato de sonda 12 y eliminar sustancialmente todo error asociado con las variaciones. Las variaciones incluyendo las longitudes de articulaciones, desviaciones angulares entre articulaciones (torsiones), y desviaciones lineales entre ejes se pueden compensar almacenando parámetros de calibración para cada una de las uniones y articulaciones del aparato de sonda. Por ejemplo, el proceso de calibración descrito en la presente memoria puede más que duplicar la exactitud del aparato de sonda. El proceso de calibración utiliza errores relativos en cualquier posición de sonda deseada, en vez del método más tedioso y caro de la técnica anterior de calibrar usando errores absolutos en dos posiciones de sonda conocidas.
El proceso comienza en 138. En el paso 139 se cargan los parámetros de calibración previos calculados a partir de la última calibración y almacenados en memoria. Si ésta es la primera vez que el aparato de sonda está siendo calibrado, se cargan parámetros de calibración nominales que, por ejemplo, asumen dimensiones ideales para el aparato de sonda. En la realización preferida, los parámetros de calibración se cargan desde la EPROM 90 de la interface 16. Puesto que una ubicación dada en la EPROM solamente puede escribirse una vez (grabarse) y no se borra nunca, los parámetros de calibración se organizan preferiblemente de tal manera que un conjunto de parámetros se almacene solamente en una sección específica de la EPROM. Por ejemplo, cuanto más recientemente se calcularon los parámetros de calibración, más alta es la dirección de la EPROM 90 donde se almacena el conjunto de parámetros. Así, en el paso 139, se puede recuperar de la EPROM los parámetros de calibración previos últimos, más recientes. Alternativamente, se puede usar otros tipos de memoria, tal como RAM alimentada por batería u otros tipos de ROM, para almacenar los parámetros de calibración, o el ordenador central 18 puede almacenar los parámetros de calibración.
En el paso 140, el usuario, fabricante, etc, coloca la punta 43 del palpador en una posición elegida libremente dentro del volumen operativo del palpador. Por ejemplo, se puede disponer para ello un agujero poco profundo en una superficie, tal como la superficie de soporte 37. En el paso siguiente 140 se leen los sensores del aparato de sonda y se registra la posición actual y orientación del palpador. En el paso siguiente 144, el usuario manipula el palpador de manera que la posición del palpador permanezca fija y se varía la orientación del palpador, es decir, las coordenadas x, y, y z de la punta de palpador no cambian, mientras el palpador 22 se desplaza a diferentes orientaciones. Por ejemplo, esto se puede realizar colocando la punta 43 en dicho agujero poco profundo, y girando el extremo enfrente de la punta 43 del palpador 22 en forma cónica alrededor del agujero. En el paso siguiente 146, se leen los sensores en una o varias orientaciones muestreadas del palpador. Una orientación muestreada incluye valores de ángulo de todos los sensores en el aparato de sonda en una orientación de palpador particular. La posición (coordenadas x, y, z) del palpador deberá ser la misma en cada orientación muestreada. Por ejemplo, cuando el usuario está moviendo el palpador en el movimiento en forma de cono, la interface 16 o el ordenador central 18 pueden muestrear al menos dos configuraciones.
En el paso 148, se determinan una o varias coordenadas espaciales de la punta 43 del palpador para cada orientación muestreada del palpador. Los valores de ángulo en cada orientación que se leyeron en el paso 146 se utilizan con ecuaciones cinemáticas conocidas para derivar valores de coordenada de posición x, y, y z para cada orientación muestreada (como se realiza normalmente cuando la posición y orientación de palpador 22 se determinan durante la operación de digitalización). Los parámetros de calibración previos (o nominales) se utilizan en estas ecuaciones cinemáticas. En el paso siguiente 150, los valores de error entre las coordenadas x, y, y z de las orientaciones muestreadas se determinan y almacenan, preferiblemente en el dispositivo de memoria del aparato de sonda. Si el aparato de sonda estuviese calibrado perfectamente, no habría diferencia entre las coordenadas x, y, y z de las diferentes orientaciones muestreadas, puesto que la punta del palpador se fijó en una posición. Sin embargo, las pequeñas variaciones en el aparato de sonda hacen que se introduzcan errores cuando se giran las uniones, como cuando se varía la orientación del palpador. Así, las ecuaciones cinemáticas producirán típicamente coordenadas x, y, y z que son ligeramente diferentes para cada variación muestreada. Se almacenan las diferencias entre estas coordenadas derivadas. Por ejemplo, si se leen tres orientaciones muestreadas, las coordenadas x se comparan entre cada una de las orientaciones muestreadas. La diferencia entre las orientaciones muestreadas primera y segunda se almacenan como un valor de error, la diferencia entre las orientaciones primera y tercera se almacenan como un valor de error diferente, etc.
En el paso 152, el proceso verifica si se deberá repetir los pasos anteriores cuando el palpador se desplace a una nueva posición, elegida libremente (x, y, z) que difiera de la posición elegida previamente. Esto depende de la exactitud deseada de la calibración; los datos recogidos en más de una posición de palpador se pueden combinar para lograr resultados más exactos. Si se desea un proceso de repetición, el proceso retorna al paso 140, donde la punta del palpador se coloca en una posición nueva y se recogen datos en dicha posición. Si no se desea un proceso de repetición, se lleva a cabo el paso 154, en el que los parámetros de calibración previos o nominales se regulan usando todos los valores de error registrados, y los parámetros de calibración ajustados se almacenan en un dispositivo de almacenamiento o memoria. Por ejemplo, se puede implementar un procedimiento de optimización que ajusta los parámetros de calibración hasta que los valores de error están al mínimo o por debajo de un umbral predeterminado. Tales procedimientos de optimización usando parámetros de calibración y valores de error conocidos son conocidos por los expertos en la materia. Una vez que los parámetros de calibración se han ajustado a la cantidad deseada, se almacenan. Estos parámetros de calibración se pueden usar así cada vez que el aparato de sonda recibe corriente y se utiliza. En la realización preferida, los parámetros de calibración se graban en una sección particular de EPROM 90, como se ha descrito anteriormente. Siempre que el aparato de sonda recibe corriente, como en el proceso de puesta a cero de la figura 3a o 3b, solamente se cargan los parámetros de calibración últimos, determinados más recientemente. Usando tal método, la EPROM 90 puede almacenar un número de conjuntos de parámetros de calibración antes de que se agote su espacio de almacenamiento. El proceso termina después en 156.
El proceso de calibración permite que un usuario tome un punto arbitrario o aleatorio en el volumen operativo del aparato de sonda y varíe la orientación del palpador en ese punto. Así, el palpador tiene preferiblemente al menos cinco grados de libertad para poder variar la orientación del palpador. Este procedimiento proporciona valores de calibración altamente exactos y evita los métodos tediosos y caros de la técnica anterior en los que el palpador se debe colocar en varias posiciones cuyas posiciones son conocidas exactamente.
La figura 6 es un diagrama de flujo que ilustra el paso 108 de la figura 2, en el que la posición y orientación de la plataforma rotativa 14 y plantilla de selección 80 se determinan con respecto al origen en la base 33 de manera que estos artículos se puedan usar durante un proceso de digitalización. La determinación de la información de coordenada para la plataforma rotativa se describe primero, aunque las inicializaciones de plantilla y tabla se pueden realizar en cualquier orden deseado. Además, dependiendo de la exactitud deseada, de pasos 162 y 164 se pueden omitir del procedimiento de la presente invención en realizaciones alternativas.
Los pasos 162-165 se han previsto para colocar la plataforma rotativa 14 con relación al aparato de sonda 12. El proceso comienza en 160, y, en el paso 162, la posición de la plataforma rotativa 14 se determina y almacena en un dispositivo de almacenamiento o memoria, tal como un dispositivo del ordenador central 18. Más específicamente, la posición del centro de la plataforma rotativa se determina usando el palpador 22 del aparato de sonda 12. En el medio de la plataforma rotativa se coloca preferiblemente un manguito, agujero, u otro receptáculo en el que se puede introducir el palpador para proporcionar una posición exacta de la plataforma rotativa 14 con respecto a la base del conjunto de articulaciones 23. Por ejemplo, con referencia a la figura 7, la superficie rotativa 60 de la plataforma rotativa 14 incluye un manguito rebajado o agujero 170 colocado en el centro de la superficie rotativa 60 y capaz de recibir la punta 43 del palpador 22. Una vez colocado el palpador 22 en el manguito 170, el controlador de sonda puede leer y registrar los ángulos de los sensores 54 del aparato de sonda 12.
En el paso siguiente 164 de la figura 6, se leen y graban múltiples configuraciones del palpador cuando el palpador se hace girar con la tabla. Con referencia a la figura 7, se coloca un agujero poco profundo 172 o receptáculo similar preferiblemente cerca de la periferia de la plataforma rotativa 14. El usuario pone la punta 43 del palpador 22 en el agujero 172 y gira la tabla manteniendo al mismo tiempo el palpador 22 colocado en el agujero. Cuando el usuario hace girar el palpador, la interface 16 lee y guarda valores de ángulo de sensor en múltiples posiciones de palpador de ambos sensores 54 del aparato de sonda 12 y el sensor 174 de la plataforma rotativa (descrita más adelante). Preferiblemente, al menos tres conjuntos diferentes de ángulos se leen y almacenan como coordenadas cuando se hace girar el palpador. En una realización alternativa, el usuario puede mover el palpador a múltiples puntos en la periferia de la superficie rotativa 60 cogiendo el palpador y desplazándolo a los nuevos puntos, en vez de la superficie rotativa 60 con el palpador.
En el paso 165, se determinan preferiblemente la posición del centro de la plataforma rotativa 14 con respecto a la base 33 y la orientación del plano de la superficie de la mesa giratoria 60 con respecto a la orientación del plano de la base de brazo 33. En algunas realizaciones, se puede suponer que la diferencia de las orientaciones de la mesa giratoria 60 y la base 33 es cero si la tabla 14 y el aparato de sonda 12 descansan en una superficie plana. Estas características de la plataforma rotativa se derivan de los valores de ángulo leídos en los pasos 162 y 164 usando técnicas geométricas, como conocen los expertos en la materia. El centro de la tabla también se puede determinar usando los datos recogidos en el paso 164; sin embargo, los datos del paso 162 proporcionan una determinación más exacta. Así, se determinan la posición y la orientación de la plataforma rotativa con respecto a la base del aparato de sonda.
En una realización alternativa, los pasos 162-164 se pueden omitir acoplando la plataforma rotativa 14 a la base 33 del aparato de sonda 12. Por ejemplo, un elemento de conexión puede estar acoplado a la base 33 en un extremo y a la base de plataforma 62 en su otro extremo. La plataforma rotativa estaría así en una posición y orientación conocidas fijas con referencia al aparato de sonda 12, y no sería necesario el proceso de colocación de los pasos 162-166. En tal realización, los factores de calibración también se pueden determinar y almacenar para la plataforma rotativa, de forma similar a los ángulos iniciales para la posición inicial del aparato de sonda como se describe en la figura 3a, para compensar las variaciones de las dimensiones en aparatos de sonda/plataforma individuales.
Con referencia de nuevo a la figura 7, la plataforma rotativa 14 incluye un sensor 174 que se coloca preferiblemente en el centro de la tabla 14 y se acopla a la base 62. El eje de sensor puede estar acoplado a la superficie rotativa 60. El sensor 174 puede ser un codificador óptico como se ha descrito anteriormente o un tipo diferente de sensor, tal como un potenciómetro, resolvedor, sensor de efecto Hall, etc. Alternativamente, el sensor 174 se puede colocar cerca del borde de la superficie rotativa 60.
El sensor 174 es operativo para detectar la rotación de la superficie rotativa 60. Por ejemplo, si el usuario gira la superficie 60 \theta grados en la dirección representada por la flecha 176 de manera que el objeto 20 esté en una posición nueva (y orientación), el sensor 170 detecta esta cantidad de rotación y transmite la información a la interface 16 y/o el ordenador central 18. Así, cuando el aparato de sonda proporciona valores de ángulo al trazar el objeto en la posición nueva, se puede aplicar una transformación de coordenadas a los datos de ángulo usando el valor \theta conocido para derivar la nueva posición y orientación del objeto. Los expertos en la materia conocen tal transformación de coordenadas. Esto permite al usuario girar el objeto para acceder más fácilmente a las diferentes superficies en el objeto y después seguir trazando el objeto con mínima distracción y muy poca pérdida de exactitud. Esto evita los métodos lentos y propensos a error de la técnica anterior, que requieren que un usuario proporcione nueva información de coordenadas acerca del objeto en su nueva posición girada apuntando el palpador a varios puntos en el objeto. La transformación de coordenada puede ser realizada por el ordenador central 18 que recibe datos independientes del aparato de sonda 12 y la plataforma rotativa 14. O la interface 16 puede llevar a cabo la transformación y proporcionar coordenadas transformadas al ordenador central 18.
La interface 16 también se muestra en la figura 7. La plataforma rotativa 14 está acoplada preferiblemente a la electrónica de interface 16 que se coloca dentro del aparato de sonda 12. El aparato de sonda 12 proporciona así señales desde los sensores de aparato de sonda 12 así como el sensor 174 de la plataforma rotativa 14 a un solo puerto de E/S del ordenador central 18. Alternativamente, la electrónica de la interface puede estar alojada en una caja discreta que esté separada del aparato de sonda 12 y la plataforma rotativa 14, como se representa en la figura 7. Alternativamente, la electrónica de interface 16 se puede alojar dentro de la plataforma rotativa 14. En otra realización diferente, la plataforma rotativa 14 puede incluir circuitería de interface de sensor solamente para la plataforma rotativa 14, y puede proporcionar información de ángulo a la electrónica de interface 16.
En una realización diferente, la plataforma rotativa puede estar provista de su propia electrónica de interface que se enruta independientemente a un segundo puerto de E/S del ordenador central 18 que difiere del puerto de E/S que recibe información del aparato de sonda 12.
Con referencia de nuevo a la figura 6, en el paso siguiente 166, se detecta y almacena la posición de la plantilla de selección 80 con referencia al aparato de sonda 12. Un ejemplo de una plantilla de selección 80 se representa en la figura 8. La plantilla 80 incluye zonas de selección 82, que puede incluir iconos, formas, letras, números, palabras, etc. El usuario puede colocar la punta 43 del palpador 22, por ejemplo, dentro del icono 180, para activar una función de software que el ordenador central 18 está ejecutando o una función del aparato de sonda 12 o incluso la plataforma rotativa 14. Como se ha explicado anteriormente, la plantilla 80 no requiere ningún aparato detector separado, tal como una tableta de ordenador o análogos, puesto que el aparato de sonda 12 se puede usar para localizar únicamente las zonas de selección 82 y proporcionar órdenes en base a selecciones del palpador 22.
Para detectar y registrar la posición de la plantilla de selección 80 con respecto a la base 33, se puede usar varios métodos. Por ejemplo, el usuario puede colocar el palpador en un límite superior o inferior 182 y un límite izquierdo o derecho 184. El ordenador central sería informado así de la posición exacta de una plantilla rectilínea plan a 80 dentro del volumen operativo del aparato de sonda 12. O el palpador se puede colocar en tres puntos de referencia, por ejemplo, que están situados en las esquinas de la plantilla. El ordenador central puede estar provisto de funciones predeterminadas que han de implementarse si el palpador está dentro de una zona de selección específica 82 referenciada como una posición desviada de un borde de plantilla 80. Por ejemplo, se puede activar un "modo de autodisparo" usando la plantilla representada en la figura 8 si se halla primero que la punta 43 del palpador está dentro de los límites de plantilla 182 y 184, y también se halla que tiene una desviación dentro de \Deltax, \Deltay de los bordes izquierdo y superior (es decir, dentro de la zona de selección 82). Los ejemplos de la zona de selección 82 de la figura 8 incluyen órdenes para manipular la representación en malla 78, tal como "terminar malla", "terminar línea", "borrar malla", etc. Muchas de estas órdenes se describen con mayor detalle con referencia a la figura 11. También se pueden utilizar otros métodos para colocar la plantilla 80 con referencia al aparato de sonda 12 y para determinar funciones seleccionadas dentro de la plantilla 80. El proceso de la figura 6 termina después en 168.
La figura 9 es una vista detallada del objeto 20 que se ha de trazar para desarrollar una representación en malla. El objeto 20 tiene una superficie 190 mostrada con líneas superficiales 192 visualizadas. El usuario puede contactar la superficie 190 del objeto 20 con el palpador 22 y trazar el palpador a lo largo de estas líneas superficiales 192, representadas por la flecha 191. Típicamente, las líneas superficiales 192 no se tienen que dibujar realmente en el objeto 20; el usuario simplemente tiene que trazar el palpador 22 en general a lo largo de la superficie 190 siguiendo recorridos parecidos a las líneas 192. Alternativamente, el usuario puede dibujar o atacar líneas superficiales 192 en la superficie 190 para contribuir a guiar el palpador 22 en el objeto. Cuando el usuario traza líneas superficiales 192, se muestrean puntos de datos a lo largo de las líneas superficiales por los sensores 54 del aparato de sonda 12, como se describe más adelante. Los puntos de datos son enviados después desde el aparato de sonda 12 al ordenador central 18. Los datos son enviados como datos brutos de ángulo de interface 16, que el ordenador central convierte en coordenadas (x, y, z y balanceo, cabeceo, guiñada); o los datos de ángulo son convertidos en valores de coordenada por la interface 16 y después enviados al sistema informático 18.
Hay que seguir directrices generales preferidas al trazar líneas superficiales 192 en la superficie 190 de un objeto. Las líneas superficiales 192 se deberán trazar consecutivamente en el objeto 20, es decir, no se deberá trazar una línea superficial entre otras dos líneas superficiales que hayan sido trazadas previamente y definidas como líneas de contorno (véase la figura 10). Además, los puntos de datos en una línea superficial 192 se deberán introducir consecutivamente, es decir, un no se debería especificar un punto entre dos puntos que hayan sido definidos previamente en la misma línea superficial 162. Sin embargo, el método permite trazar las líneas superficiales en cualquiera de las dos direcciones posibles, independientemente de la dirección en que se trazaron las líneas superficiales anteriores (detalladas a continuación).
La figura 10 es una ilustración de la representación en malla 78 (también denominada una "malla") desarrollada por el ordenador central 18 después de que un usuario ha trazado líneas superficiales 192 del objeto 20 representado en la figura 9. La representación en malla 78 incluye líneas de contorno 194 que son líneas generadas por ordenador que en general siguen las líneas superficiales correspondientes 192 en el objeto 20 que el usuario trazó. Cada una de las líneas de contorno 194 incluye varios puntos 196 que se suministraron como valores de ángulo o coordenadas al ordenador central 18 del aparato de sonda 12. Cada punto 196 describe un punto superficial correspondiente en la superficie 190 del objeto 20. Aquí, "punto" o "punto de datos" se refiere a los datos, tal como valores de ángulo o coordenadas, que describen la posición actual y orientación del palpador 22, mientras que "punto superficial" se refiere a la porción correspondiente en la superficie del objeto al que apunta el palpador 22. Cada punto, después de ser convertido de datos de ángulo a datos de coordenada, incluye datos de posición x, y, y z así como datos de orientación de balanceo, paso y guiñada.
El sistema informático 18 recibe puntos 196 y conecta los puntos para formar líneas de contorno. También se añaden líneas de malla 198 para conectar los puntos 196 de una línea de contorno a los puntos 196 de una curva de contorno adyacente. La creación de líneas de malla para la presente invención se describe con mayor detalle en el proceso de la figura 11. Las líneas de malla 198 y las líneas de contorno 194 definen triángulos 199, como se describe más adelante. La representación en malla 78 puede ser manipulada de muchas formas por el sistema informático central 18, como es conocido por los expertos en la materia. Por ejemplo, la representación en malla se puede renderizar y visualizar con color y sombreado superficial para crear una representación 3D de aspecto realista; o la representación en malla 78 se puede girar, copiar o editar como desee el usuario usando funciones del sistema informático 18.
La figura 11 es un diagrama de flujo que ilustra el paso 110 de la figura 2, en el que el sistema informático 18 desarrolla una representación en malla del objeto 20 utilizando un método preferido de la presente invención. El proceso comienza en 200. En el paso 202, el sistema informático central 18 recibe del usuario una orden de iniciar malla nueva. Esta orden puede ser introducida por el usuario utilizando dispositivos de interface estándar o usando la plantilla de selección 80. En el paso siguiente 204, el proceso verifica si el pedal 71 está bajado, es decir, ha sido activado por el usuario. En otras realizaciones, se puede verificar otros controles de activación, tal como un botón en el palpador 22, etc. Si el pedal no está activado, el proceso sigue esperando en el paso 204 que el usuario active el pedal. Una vez que se activa el pedal, se implementa el paso 206, en el que el punto actual al que apunta la punta 43 del palpador 22 se introduce en el sistema informático central 18 y se añade a la línea de contorno siguiente. Si éste es el primer punto introducido para una línea, ese punto comienza una nueva línea de contorno.
En el paso siguiente 208, se crea un triángulo para el punto actual entre la línea de contorno siguiente y la última línea de contorno usando la orientación del palpador 22 u otro dispositivo de sonda usado. El triángulo creado también se visualiza preferiblemente en este paso, aunque el triángulo no tiene que ser visualizado en otras realizaciones. Este paso se describe con mayor detalle con referencia a la figura 12. Una de las ventajas del método de la presente invención es que los puntos y triángulos se añaden incrementalmente a la representación en malla 78 y visualizan para el usuario cuando el usuario añade cada nuevo punto al realizar el trazado. El usuario puede ver así la pantalla de visualización 76 y determinar rápidamente si se está creando adecuadamente una malla durante el proceso de trazado, es decir, el usuario no tiene que esperar hasta que se trace todo el objeto antes de ver la representación en malla resultante. Otra ventaja de la presente invención es que la orientación del palpador (u otra sonda) se utiliza para ayudar a crear triángulos en la malla. Esto se describe con mayor detalle a continuación.
En el paso siguiente 210, el proceso verifica si el modo de autodisparo ha sido seleccionado por el usuario. El modo de autodisparo permite introducir automáticamente puntos en el sistema informático 18 desde el aparato de sonda 12 mientras el usuario traza líneas superficiales 192. Si el modo de autodisparo ha sido seleccionado por el usuario (antes de que comenzase la línea de contorno siguiente o durante la entrada de la línea actual), se implementa el paso 212, en el que el proceso verifica si el pedal 71 está "arriba", es decir, desactivado. En la realización preferida, en el modo de autodisparo, se introducen automáticamente puntos en el sistema informático central 18 desde el aparato de sonda 12 mientras el usuario sigue activando el pedal 71 (y el palpador se mueve una distancia mínima, explicado más adelante). Una vez el usuario libere (desactive) el pedal, ya no se introducirán puntos automáticamente. Si el pedal está arriba, el proceso continúa al paso 222, detallado a continuación. Si el pedal todavía está bajado en el paso 212, el proceso continúa al paso 214, donde el proceso verifica si el palpador 22 se ha trazado la distancia mínima. En la realización preferida, se introduce automáticamente un punto en el sistema informático 18 cuando el palpador 22 se ha movido una distancia mínima predeterminada por el usuario a lo largo de una línea superficial. Por ejemplo, la distancia mínima se puede poner a 5,08 mm (0,2 pulgadas). Mientras el modo de autodisparo haya sido seleccionado y el pedal esté siendo activado, se introducirá un punto en el sistema informático 18 cada 5,08 mm (0,2 pulgadas) que el usuario mueve el palpador 22. En realizaciones alternativas se puede usar otros criterios para determinar cuándo se introducen puntos. Por ejemplo, se puede especificar una longitud mínima de tiempo, tal como 2 segundos. Así, mientras se está en el modo de autodisparo y el pedal 71 está siendo activado, se introduce automáticamente un punto nuevo en el ordenador central 18 cada 2 segundos, independientemente de la posición actual del palpador.
Si el palpador 22 no se ha movido la distancia mínima en el paso 214, el proceso retorna al paso 212 para comprobar si el pedal todavía está siendo activado. Realmente, los pasos 212 y 214 (y 210) pueden ser verificados simultáneamente por el sistema informático central 18 como "eventos" que se pueden producir en cualquier momento, como conocen los expertos en la materia. Una desactivación de pedal en el paso 212 tiene precedencia a las otras comprobaciones. Una vez que la sonda se ha movido la distancia mínima en el paso 214, el proceso retorna al paso 206 para añadir el punto actual a la línea actual en la posición actual de la punta 43 del palpador.
Si el modo de autodisparo no ha sido seleccionado por el usuario según lo verificado en el paso 210, el proceso verifica en el paso 216 si se ha introducido una orden de "terminar malla". Una orden de terminar malla indica que el usuario ha terminado de introducir datos y que la representación en malla está completa o que el usuario seguirá introduciendo datos en un tiempo posterior. Así, si se ha introducido una orden de terminar malla, el proceso termina en 217. Si no se ha introducido una orden de terminar malla, en el paso 218, el proceso verifica si el usuario ha introducido una orden de "terminar línea". La orden de terminar línea indica que el usuario ha terminado la línea de contorno siguiente e introducirá una nueva línea de contorno. Si se ha introducido una orden de terminar línea, el proceso continúa al paso 222, detallado a continuación. Si no se ha introducido una orden de terminar línea, en el paso 220, el proceso verifica si el pedal está arriba. En la realización preferida, cuando no se está en modo de autodisparo, se introduce un punto activando el pedal una vez y desactivándolo después, es decir, bajando el pedal y liberándolo. Si el pedal no ha sido liberado, no se puede introducir un punto nuevo, de manera que el proceso retorna al paso 216 para comprobar una orden de terminar malla, orden de terminar línea, o una desactivación de pedal. De forma parecida a los pasos 210, 212 y 214 descritos anteriormente, los pasos 216, 218 y 220 se pueden verificar preferiblemente de forma simultánea. Una vez que el pedal ha sido soltado en el paso 220, el proceso retorna al paso 204 para comprobar que el pedal se active de nuevo para introducir un punto de datos nuevo.
Si el pedal se desactiva en el modo de autodisparo del paso 212, o si se recibe en el paso 218 una orden de terminar línea, se implementa el paso 222. La representación en malla 78 se cierra en el paso 222. Dependiendo de los puntos que se hayan introducido en la línea de contorno siguiente, esto puede hacer que se creen triángulos adicionales en la malla. El paso 222 se describe con mayor detalle con referencia a la figura 17. En el paso siguiente 224, el proceso verifica si se ha recibido una orden de terminar malla. Esto es similar al paso 216, descrito anteriormente. Si se recibe una orden de terminar malla, el proceso termina en 217. Si no se recibe una orden de terminar malla, se supone que el usuario desea introducir otra línea de contorno, y, en el paso 226, la última línea se iguala a la línea actual, y una nueva línea actual está lista para recibirse. El proceso vuelve después al paso 204 esperando que se active el pedal.
La figura 12 es un diagrama de flujo que ilustra el paso 208 de la figura 11, en el que se crea un triángulo y se visualiza preferiblemente para el punto actual entre la línea actual y la última línea usando la orientación de la sonda. Durante la explicación siguiente, se hará referencia a una representación en malla 230 como se representa en la figura 13 y figuras adicionales. La representación en malla 230 incluye cuatro líneas de contorno: la línea A-F que incluye los puntos A, B, C, D, E, y F; la línea G-J que incluye los puntos G, H, I, y J; la línea K-P que incluye los puntos K, L, M, N, O, y P; y la línea Q-S que incluye los puntos Q, R, y S. Se representan líneas de malla entre los puntos de cada curva de contorno adyacente. El método de la presente invención permite introducir las líneas de contorno en cualquier dirección, de modo que las líneas se puedan introducir, por ejemplo, en el orden de A-B-C-D-E-F, o en el orden de F-E-D-C-B-A. Los puntos de una representación en malla son situados uno con relación a otro por el ordenador central 18 examinando la porción (x, y, z) de cada punto. La porción de balanceo, paso, guiñada de cada punto se utiliza para hallar los vectores normales, descritos más adelante.
Con referencia de nuevo a la figura 12, el proceso comienza en 234. En el paso 236, el proceso verifica si la línea de contorno siguiente es la primera línea de la representación en malla. Si es así, todavía no se pueden crear dos triángulos posibles y uno de los triángulos seleccionados (como se detalla más adelante), de modo que el proceso termina en 235. Si la línea actual no es la primera línea de la malla en el paso 236, en el paso 238, el proceso verifica si el punto actual es el primer punto de la línea actual. Puesto que, en el método descrito, no se puede crear un triángulo hasta que se introduzca el punto segundo o posterior de la línea actual, el proceso termina en 235 si el punto actual es el primer punto. Si el punto actual no es el primer punto, en el paso 240, el proceso verifica si el punto actual es el segundo punto de la línea actual. Si es así, se implementa el paso 242, en el que se decide el primer punto de la última línea. Puesto que la última línea tiene dos puntos de extremo, uno de los puntos de extremo se elige como el primer punto de la última línea. Esto determina la "dirección de malla", es decir, el orden de puntos en la última línea que se han de conectar con la línea actual. En la realización preferida, el punto más próximo en la última línea al punto actual se elige como el primer punto de la última línea. Así no importa el orden en que el usuario introduzca los puntos en la última línea, puesto que se elige el punto más próximo. En realizaciones alternativas, otros criterios pueden determinar qué punto de la última línea se elige como el primer punto. Por ejemplo, el proceso también puede comprobar si los puntos de la última línea, cuando se examinaron en la dirección de malla decidida empezando en el primer punto elegido, siguen un recorrido que está aproximadamente en la misma dirección que los puntos de la línea actual. Si las direcciones son no las mismas, se deberá elegir el punto de extremo opuesto de la última línea como el primer punto de la última línea.
En el paso siguiente 244, se iguala una variable ÍNDICE al primer punto de la última línea. ÍNDICE mantiene el (los) valor(es) (es decir, las coordenadas o valores de ángulo) de un punto particular en una línea de contorno. Después del paso 244, o si el punto actual no es el segundo punto de la línea actual, se lleva a cabo el paso 246, en el que se añaden uno o varios triángulos entre la línea actual y la última línea para el punto actual. Esto se describe con mayor detalle con referencia a la figura 14.
Por ejemplo, en la representación en malla 230 representada en la figura 13, primero se introduce la línea A-F y después se considera la última línea. El punto G es el punto actual. El proceso de la figura 12 termina después del paso 238 puesto que el punto G es el primer punto de la línea. A continuación, se introduce el punto H y se considera el punto actual. Puesto que H es el segundo punto de la línea actual, el paso 242 decide que el punto A será el primer punto de la última línea, puesto que el punto A está más próximo al punto H que al punto F. Después se añaden triángulos entre la última línea y la línea actual, como se detalla más adelante.
La figura 14 es un diagrama de flujo que ilustra el paso 246 de la figura 12, en el que se añaden triángulos entre la línea actual y la última línea para el punto actual. El proceso comienza en 250. En el paso 252, el proceso verifica si ÍNDICE es el último punto de la última línea. Si esta condición es verdadera, no hay que añadir más triángulos entre la línea actual y última línea, y el proceso termina en 258. Si ÍNDICE no es el último punto de la última línea, en el paso 254, el proceso verifica si la distancia entre ÍNDICE y el punto actual es inferior a la distancia entre ÍNDICE+1 y el último punto de la línea actual ("último punto"). Este paso verifica las hipotenusas de dos posibles triángulos que se puede añadir usando el punto actual, como se explica más adelante.
La figura 15a es una ilustración diagramática que proporciona una porción de malla 230 de la figura 13 como ejemplo. La línea de contorno A-F ha sido introducida previamente por el usuario y se designa la última línea. El punto G se añade como el comienzo de una nueva línea de contorno, y comienza la línea actual. Después se añade el punto H, y se elige el punto A como el primer punto de la última línea A-F. Después de introducir el punto H, se puede crear dos posibles triángulos entre la línea actual y la última línea: el triángulo ABG y el triángulo AHG. En este ejemplo, ÍNDICE se ha establecido igual al punto A, ÍNDICE+1 es el punto siguiente después de ÍNDICE, es decir, el punto B, y el último punto es el punto G. Así, en el paso 254 de la figura 14, el proceso verifica si la distancia entre el punto A (ÍNDICE) y el punto H (el punto actual) es inferior a la distancia entre el punto B (ÍNDICE+1) y el punto G (último punto), es decir, si la hipotenusa AH es menor que la hipotenusa BG.
Con referencia de nuevo a la figura 14, si la distancia entre ÍNDICE y el punto actual tiene el valor menor, se implementa el paso 256, en el que el triángulo en (ÍNDICE, punto actual, último punto) se añade a la representación en malla. Preferiblemente, cuando se añade un triángulo, los puntos del triángulo se añaden a una lista de triángulos para la malla. El paso 256 también añade un vector normal para el triángulo añadido a la lista de triángulos. El vector normal se describe con mayor detalle a continuación. Por ejemplo, como se representa en la figura 15a, este triángulo corresponde al triángulo AHG. En el ejemplo representado, sin embargo, no se añadiría este triángulo, puesto que la hipotenusa AH no es menor que la hipotenusa BG. Después del paso 256, el proceso termina en 258.
Si la distancia entre ÍNDICE + 1 y el último punto tiene el menor valor en el paso 254, en el paso 260, el triángulo en (ÍNDICE, ÍNDICE + 1, último punto) se añade a la representación en malla. Este paso es similar al paso 256, es decir, el triángulo y el vector normal se añaden a la lista de triángulos. Como se representa en la figura 15a, este triángulo corresponde al triángulo ABG. En el ejemplo de la figura 15a, este triángulo se añadiría, cuyos resultados se muestran en la figura 15b. Después del paso 260, ÍNDICE se incrementa al punto siguiente en la última línea en el paso 262. Por ejemplo, ÍNDICE se iguala al punto B una vez que se añade el triángulo ABG, e ÍNDICE + 1 resulta así el punto C.
Después del paso 262, el proceso retorna al paso 254 para comprobar las hipotenusas para los nuevos puntos ÍNDICE. El proceso no está completo después del paso 262 puesto que, si el paso 254 es falso, indica que se puede añadir más de un triángulo para el punto actual. Así, se añaden triángulos adicionales verificando las condiciones del paso 254 con el nuevo punto ÍNDICE.
Por ejemplo, en la figura 15b, se ha añadido el triángulo ABG. ÍNDICE es ahora el punto B, e ÍNDICE + 1 es el punto C. El paso 254 verifica si la hipotenusa BH tiene una menor longitud que la hipotenusa CG. En este ejemplo, la hipotenusa CG tiene una menor longitud, de modo que se añade el triángulo BCG a la representación en malla, como se representa en la figura 15c. ÍNDICE se incrementa de nuevo, y así es ahora el punto C. En el paso 254, el proceso verifica si la hipotenusa CH tiene una menor longitud que la hipotenusa DG. La hipotenusa CH es menor, de modo que el paso 256 añade el triángulo CHG, como se representa en la figura 15d. El proceso termina después en 258, de manera que el usuario introduce eventualmente un nuevo punto en el paso 206 de la figura 11. El proceso 246 se implementa después de nuevo para nuevos puntos I como el punto actual, como se representa en la figura 15d. En el paso 254 de la figura 14, el proceso verifica si la hipotenusa CI tiene menos longitud que la hipotenusa DH. DH tiene menos longitud, de modo que el triángulo CDH se suma en el paso 260 e ÍNDICE se incrementa en el paso 262. Como se representa en la figura 15e, se añaden triángulos hasta que se introduce el último punto J de la línea actual. Después se inicia una nueva línea de contorno con la entrada de los puntos K y L, y la última línea se establece a la línea GJ. Siguen añadiéndose triángulos a la representación en malla 230 de forma similar. Así, en la representación en malla desarrollada de la presente invención, un triángulo incluye un punto de la línea de contorno siguiente, un punto de la última línea de contorno, y un tercer punto que es desde la línea actual o la última línea, dependiendo de las distancias entre las hipotenusas examinadas.
En realizaciones alternativas, el paso 254 puede comprobar diferentes condiciones para determinar qué triángulo añadir a la representación en malla. Por ejemplo, el área del triángulo (ÍNDICE, punto actual, último punto) se puede comparar con el área de triángulo (ÍNDICE, ÍNDICE + 1, último punto). El triángulo con la menor área se puede añadir a la malla. Alternativamente, se puede comparar la distancia perimétrica de los dos posibles triángulos, donde el triángulo con la menor distancia perimétrica se añade a la representación en malla. Se puede verificar otras condiciones en otras realizaciones.
Cuando se añade un triángulo a la representación en malla en el paso 256 o el paso 260, también se determina un vector normal para dicho triángulo. La figura 16 muestra el palpador 22 trazando una línea superficial 192 en el objeto 20. Una porción de representación en malla 78 que se está desarrollando en el ordenador central 18 también se muestra superpuesta en la porción superficial correspondiente del objeto 20. Se añaden triángulos 199 a la representación en malla 78 cuando se mueve el palpador 22. También se determina un vector normal 270 para cada triángulo añadido 199. El vector normal es utilizado por procesos de renderización y otros procesos que manipulan una representación en malla para determinar qué lado de un triángulo 199 (u otro polígono) es el que mira "hacia fuera", es decir, qué lado del triángulo es la superficie exterior del objeto 3D representado por la representación en malla. El vector normal 270 apunta hacia fuera para mostrar qué lado de un triángulo es la superficie exterior. Por ejemplo, los procesos pueden utilizar la información de vector normal para proporcionar tonos y sombras en un objeto renderizado de una fuente de luz virtual.
En la presente invención, el vector normal 270 para un triángulo se determina rápida y fácilmente. Las coordenadas x, y y z de los puntos de un triángulo 199 definen la posición del triángulo en el espacio, pero no definen la orientación del triángulo. Así se conoce la posición del vector normal, pero no la orientación del vector. Sin embargo, puesto que el palpador de la realización preferida tiene cinco grados de libertad, la orientación del palpador se conoce y graba en los puntos así como la posición. La orientación de un triángulo puede determinarse así a partir de las coordenadas de orientación de balanceo, paso, y guiñada incluidas en cada punto. Preferiblemente, la orientación de un vector normal se define como enfrente de la orientación del palpador al tiempo en que el palpador está añadiendo los puntos del triángulo. Esto supone que la superficie exterior del objeto 20 está siendo trazada (como se representa en la figura 16). En otras realizaciones, el vector normal se puede definir como la misma orientación que el palpador. Las coordenadas de orientación de los puntos 1-3 del triángulo 199 se pueden examinar para determinar el vector normal; puesto que todos estos puntos fueron trazados por el usuario desde el mismo lado del objeto (el lado exterior), cualquiera de los puntos se puede usar para determinar esta dirección.
La figura 17 es un diagrama de flujo que ilustra el paso 222 de la figura 11, en el que se implementa un proceso de cerrar malla. El proceso comienza en 274. En el paso 276, el proceso verifica si ÍNDICE es el último punto de la última línea. Si es así, el proceso termina en 278. Si ÍNDICE no es el último punto de la última línea, en el paso 280 se añade un triángulo (ÍNDICE, ÍNDICE + 1, punto actual) a la representación en malla y la lista de triángulos con un vector normal, de forma parecida a los pasos 256 y 260 descritos con referencia a la figura 14. En el paso siguiente 282, se incrementa ÍNDICE al punto siguiente de la última línea, y el proceso retorna al paso 276 para comprobar si ÍNDICE es el último punto de la última línea. Un ejemplo de este proceso se describe con referencia a las figuras 18a y 18b.
La figura 18a es una ilustración diagramática que muestra una porción de una representación en malla 284 que hace uso del proceso de cierre de malla de la figura 17. La línea A-F es la última línea, la línea G-I es la línea actual y el punto C es ÍNDICE. El usuario ha indicado que el punto I es el último punto de la línea actual con una orden de terminar línea; así, se implementa el procedimiento de cierre de malla de la figura 17. Puesto que el punto C no es el último punto de la última línea, el paso 280 de la figura 17 añade el triángulo a (ÍNDICE, ÍNDICE + 1, punto actual), que en este ejemplo es el triángulo CDI. Después se incrementa ÍNDICE en el paso 282. En la iteración siguiente, se añade el triángulo DEI, y en la iteración final, se añade el triángulo EFI. En dicha etapa en la iteración, se halla que ÍNDICE (punto F) es el último punto de la última línea en el paso 276, de manera que el proceso termina en 278. La representación final en malla 284 se representa en la figura 18b.
La figura 19 es un diagrama de flujo que ilustra un proceso preferido de montaje 300 para montar las articulaciones y uniones de precisión del aparato de sonda 12 o un dispositivo similar que tiene tales articulaciones y uniones. El proceso comienza en 302. En el paso 304, se han previsto adaptadores de unión a la distancia exacta uno de otro y dentro de un ángulo exacto entre sí. Tales adaptadores de unión están adaptados para garantizar una unión en posición, y son conocidos por los expertos en la materia. La distancia exacta es la longitud deseada de una articulación en el conjunto de articulaciones. El ángulo exacto es el ángulo deseado o desviado de una posición lineal entre las uniones. En el paso siguiente 306, se conecta un conjunto de uniones-articulaciones a los adaptadores de tal manera que las articulaciones en el montaje se colocan a la distancia y ángulo exactos. Por ejemplo, se puede conectar un conjunto de uniones-articulaciones que incluye elementos de unión 24, 26, y 28 y articulaciones 30 y 32 como se representa en la figura 1. Las articulaciones están conectadas preferiblemente de forma floja a las uniones de manera que los elementos de unión se pueden ajustar para encajar en los adaptadores de unión. En el paso 308, las articulaciones se unen a los elementos de unión a la distancia y ángulo exactos. Tal proceso es conocido por los expertos en la materia. El proceso de unión proporciona esfuerzo residual despreciable, de tal manera que cuando los elementos de unión se quiten de los adaptadores de unión, no se desvíen o flexionen.
Por ejemplo, la figura 20 es un diagrama esquemático que representa adaptadores de unión 312a y 312b. Los adaptadores de unión se han previsto a una distancia exacta d uno de otro, donde d es una longitud deseada para una articulación en el conjunto de uniones-articulaciones. Los adaptadores están provistos también de un ángulo exacto á desviado uno de otro, si se desea tal desviación. Los adaptadores de unión pueden estar acoplado juntos por el elemento 313 para proporcionar una posición exacta de los adaptadores uno con relación a otro. El conjunto de uniones-articulaciones 314 se coloca en los adaptadores de tal manera que cada elemento de unión 316a y 316b esté en un adaptador y fijado en posición. Después de fijar los elementos de unión 316, la articulación 318 se une en posición. Lo que se ha descrito proporciona así un método simple, barato de montar articulaciones y uniones con un alto grado de exactitud.
La articulación 318 que se monta por el proceso 300 y las articulaciones 30 y 32 del aparato de sonda de la figura 1 se hacen de grafito en la realización preferida de la presente invención. El grafito permite que las articulaciones sean de peso más ligero, estructura más resistente, y de temperatura mucho más estable que las articulaciones de la técnica anterior, que se hacen típicamente a partir de aluminio. Utilizando articulaciones hechas de grafito, el resultado es un instrumento ligero, fácil de utilizar y exacto que retiene su precisión con el tiempo. Además, el grafito funciona bien en el proceso de montaje de unión descrito en la figura 19, puesto que las articulaciones de grafito no están tan bien adaptadas para otros procesos de sujeción. Por ejemplo, el grafito no es adecuado para enroscarse en elementos de unión o fijarse igualmente con tensión rotativa o lineal.
Las figuras 21a y 21b ilustran una vista frontal y una vista lateral, respectivamente, de una unión de tope multietápico 320 para la presente invención. El tope multietápico de la presente invención permite mover una articulación o sonda del aparato de sonda 12, tal como el palpador 22, más de 360 grados alrededor de un eje proporcionado por la unión de tope multietápico. Esto permite una mayor libertad de movimiento para el usuario al trazar el objeto 20 con el aparato de sonda.
La unión 320 incluye un primer elemento 322 de la unión 320 y un segundo elemento 324 de la unión 320. En el ejemplo de las figuras 21a y 21b, el primer elemento 322 está acoplado al palpador 22; el primer elemento también puede estar acoplado a otras articulaciones 30, 32, o 34 del aparato de sonda 12. Típicamente, un usuario puede girar el palpador 22 alrededor de un eje A1 girando el primer elemento 322 alrededor del eje A1. El segundo elemento 324 está fijado típicamente en posición en el conjunto de articulaciones 23. La figura 21b muestra el segundo elemento 324 acoplado a la articulación 30. Alternativamente, el primer elemento 322 puede permanecer fijo mientras que el segundo elemento 324 se hace girar alrededor del eje A1. El primer elemento 322 incluye un primer tope 326 y el segundo elemento 324 incluye un segundo tope 328. Además, se puede colocar un sensor 336 en el segundo elemento 324 que está acoplado a primer elemento 322 mediante el eje 337.
Un elemento medio 330 está acoplado preferiblemente al primer elemento 322. Alternativamente, el elemento medio 330 puede estar acoplado al segundo elemento 324. El elemento medio 326 gira alrededor del eje A1 independientemente del primer elemento 322 y el segundo elemento 324 e incluye un tercer tope 332. Cuando el primer elemento 322 se hace girar alrededor del eje A1, por ejemplo, en la dirección hacia la izquierda indicada por la flecha 334, el primer tope 326 impacta eventualmente con el tercer tope 332. Si el tercer tope 322 no tiene obstrucciones en su recorrido, el elemento medio 330 se hace girar en unión con el primer elemento 322 en la dirección de la flecha 334. Sin embargo, una vez que el tercer tope impacta con el segundo tope 328, no se permite rotación adicional del primer elemento 322 y el elemento medio 330, puesto que el segundo elemento 324 está fijado en posición. Esta configuración del elemento medio impactando con el segundo tope 328 se representa en la figura 21a.
El primer elemento 322 se puede girar en la dirección opuesta a la flecha 334 (hacia la derecha) desde la posición representada en la figura 21a. El primer elemento 322 se puede girar hacia la derecha casi 360 grados antes de impactar en la tercera guía 322. El primer elemento 322 y el elemento medio 330 se giran después en unión en la dirección hacia la derecha. De nuevo, el elemento medio 330 tiene casi 360 grados de rotación antes de impactar en la segunda guía 324, que obstruye cualquier rotación adicional.
Así, el primer elemento 322 tiene casi 720 grados de rotación (es decir, dos rotaciones enteras) en la dirección opuesta a la flecha 334 desde la posición representada en la figura 21a hasta que se impacta el segundo tope. La unión de tope multietápico 320 permite así un mayor rango de movimiento al palpador 22 y otras articulaciones que estén acopladas a articulaciones similares. Sin embargo, el palpador 22 todavía está limitado en su movimiento por topes, lo que es importante porque un haz de cables que se dirige a través de la unión 320 no se tensa o retuerce excesivamente (lo que se produciría si la unión 320 no tuviese topes).
Aunque esta invención se ha descrito en términos de varias realizaciones preferidas, se contempla que alteraciones, modificaciones y permutaciones de la misma serán evidentes a los expertos en la materia al leer la memoria descriptiva y estudiar los dibujos. Por ejemplo, se puede usar una amplia variedad de tipos diferentes de aparatos detectores de múltiples grados de libertad, además del aparato de sonda descrito, con varias características, tal como la plataforma rotativa, el procedimiento de puesta a cero, la plantilla de selección, la unión de tope multietápico, y un procedimiento de desarrollo de malla. Además, se puede seleccionar características particulares de las varias características aquí descritas para uso en aplicaciones particulares solas o en combinación con las otras características de la invención aquí descrita. Además, el aparato de sonda y otros métodos, tal como el método de calibración, se pueden usar para aplicaciones distintas de digitalizar objetos tridimensionales. Por ejemplo, el aparato de sonda 12 puede ser utilizado para controlar objetos, tal como un palpador virtual, en una simulación de realidad virtual.

Claims (6)

1. Un método para poner a cero transductores de un aparato de sonda (12) de un sistema de medición de coordenadas tridimensionales, incluyendo dicho aparato de sonda un conjunto de brazo de articulación (25) que tiene una sonda colocada en un primer extremo, una base de soporte (33) colocada en un segundo extremo, y al menos cinco uniones (24, 26,
28, ...) colocadas entre dicha sonda y dicha base, estando acopladas dichas uniones a una pluralidad de sensores, siendo operativo cada sensor (54) para medir un ángulo diferencial resultante del movimiento de una unión asociada, incluyendo el método:
colocar dicha sonda (22) en un receptáculo (122, 170) colocado en dicho aparato de sonda (12), estando colocado dicho receptáculo de tal manera que cuando dicha sonda está colocada en dicho receptáculo, cuatro de dichas cinco uniones rotativas están fijadas sustancialmente en una configuración angular conocida y una quinta (34) de dichas uniones rotativas se puede colocar en cualquier configuración angular, siendo dicha configuración angular conocida una posición inicial;
recibir una indicación de poner a cero dichos sensores (54) de dicho aparato de sonda (12); y
asignar un ángulo conocido a cada una de dichas uniones (24, 26, 28, ...) cuando dicha sonda está colocada en dicho receptáculo (122, 170).
2. Un método como el expuesto en la reivindicación 1, donde dicha sonda (22) es un palpador.
3. Un método como el expuesto en las reivindicaciones 1 ó 2, donde dicha indicación de poner a cero dichos sensores incluye recibir corriente eléctrica para dicho aparato de sonda (12).
4. Un método como el expuesto en cualquiera de las reivindicaciones 1 a 3, donde dicha quinta (34) de dichas uniones rotativas está acoplada a dicha base (33), donde dicha quinta unión rotativa (34) se omite de dicha configuración angular conocida.
5. Un método como el expuesto en la reivindicación 4, donde dicha quinta unión rotativa (34) es operativa para colocarse en una posición rotativa con relación a dicha base (33) cuando se recibe dicha indicación de poner a cero dichos sensores (54), donde dicha posición rotativa se considera un ángulo conocido para dicha quinta unión rotativa.
6. Un método como el expuesto en cualquiera de las reivindicaciones 1 a 5, donde un microprocesador local realiza dicho método de puesta a cero de tal manera que se establezcan valores asociados con dichas uniones en dicha posición inicial, donde dicho microprocesador local incluye establecer recuentos iniciales predefinidos asociados con dichas uniones en dicha posición inicial.
ES96926179T 1995-08-07 1996-07-29 Procedimiento de reposicion a cero de los captadores de un aparato con sonda de un sistema de medicion de coordenadas de 3-d. Expired - Lifetime ES2213181T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/512,084 US5724264A (en) 1993-07-16 1995-08-07 Method and apparatus for tracking the position and orientation of a stylus and for digitizing a 3-D object
US512084 1995-08-07

Publications (1)

Publication Number Publication Date
ES2213181T3 true ES2213181T3 (es) 2004-08-16

Family

ID=24037603

Family Applications (1)

Application Number Title Priority Date Filing Date
ES96926179T Expired - Lifetime ES2213181T3 (es) 1995-08-07 1996-07-29 Procedimiento de reposicion a cero de los captadores de un aparato con sonda de un sistema de medicion de coordenadas de 3-d.

Country Status (6)

Country Link
US (5) US5724264A (es)
EP (2) EP0843808B1 (es)
CA (1) CA2228587C (es)
DE (2) DE69631144T2 (es)
ES (1) ES2213181T3 (es)
WO (1) WO1997006410A1 (es)

Families Citing this family (351)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889670A (en) * 1991-10-24 1999-03-30 Immersion Corporation Method and apparatus for tactilely responsive user interface
US5629594A (en) * 1992-12-02 1997-05-13 Cybernet Systems Corporation Force feedback system
US6535794B1 (en) 1993-02-23 2003-03-18 Faro Technologoies Inc. Method of generating an error map for calibration of a robot or multi-axis machining center
US5724264A (en) 1993-07-16 1998-03-03 Immersion Human Interface Corp. Method and apparatus for tracking the position and orientation of a stylus and for digitizing a 3-D object
US5625576A (en) 1993-10-01 1997-04-29 Massachusetts Institute Of Technology Force reflecting haptic interface
US5623582A (en) * 1994-07-14 1997-04-22 Immersion Human Interface Corporation Computer interface or control input device for laparoscopic surgical instrument and other elongated mechanical objects
US6697748B1 (en) 1995-08-07 2004-02-24 Immersion Corporation Digitizing system and rotary table for determining 3-D geometry of an object
AU1328597A (en) 1995-11-30 1997-06-19 Virtual Technologies, Inc. Tactile feedback man-machine interface device
ES2236791T3 (es) * 1996-02-15 2005-07-16 Biosense Webster, Inc. Procedimiento de calibracion de una sonda.
SE519661C2 (sv) * 1996-02-23 2003-03-25 Immersion Corp Pekdon och förfarande för markering av grafiska detaljer på en display med sensorisk återkoppling vid påträffande av nämnda detalj
US7225404B1 (en) 1996-04-04 2007-05-29 Massachusetts Institute Of Technology Method and apparatus for determining forces to be applied to a user through a haptic interface
US6111577A (en) 1996-04-04 2000-08-29 Massachusetts Institute Of Technology Method and apparatus for determining forces to be applied to a user through a haptic interface
US6374255B1 (en) 1996-05-21 2002-04-16 Immersion Corporation Haptic authoring
US6084587A (en) * 1996-08-02 2000-07-04 Sensable Technologies, Inc. Method and apparatus for generating and interfacing with a haptic virtual reality environment
AU4249597A (en) * 1996-09-04 1998-03-26 Ht Medical Systems, Inc. Interventional radiology interface apparatus and method
US7815436B2 (en) 1996-09-04 2010-10-19 Immersion Corporation Surgical simulation interface device and method
US6929481B1 (en) 1996-09-04 2005-08-16 Immersion Medical, Inc. Interface device and method for interfacing instruments to medical procedure simulation systems
US6024576A (en) * 1996-09-06 2000-02-15 Immersion Corporation Hemispherical, high bandwidth mechanical interface for computer systems
JPH10219728A (ja) * 1997-01-31 1998-08-18 Komatsu Ltd 建設機械の干渉防止装置
US6424877B1 (en) * 1997-04-04 2002-07-23 Minolta Co., Ltd. Reproduction apparatus
US6073056A (en) * 1997-04-08 2000-06-06 Larry J. Winget Method and system for building a data model of a physical part in a data format useful for and reproduction of the part
US6052628A (en) * 1997-08-08 2000-04-18 Hong; Jaiwei Method and system for continuous motion digital probe routing
US5953687A (en) * 1997-08-18 1999-09-14 Giddings & Lewis, Inc. Method and apparatus for displaying active probe tip status of a coordinate measuring machine
US6281651B1 (en) * 1997-11-03 2001-08-28 Immersion Corporation Haptic pointing devices
US6212784B1 (en) * 1997-11-10 2001-04-10 Danny R. Pittman Three-dimensional robotic scribing system
US6256011B1 (en) * 1997-12-03 2001-07-03 Immersion Corporation Multi-function control device with force feedback
US6181329B1 (en) * 1997-12-23 2001-01-30 Ricoh Company, Ltd. Method and apparatus for tracking a hand-held writing instrument with multiple sensors that are calibrated by placing the writing instrument in predetermined positions with respect to the writing surface
US6191796B1 (en) 1998-01-21 2001-02-20 Sensable Technologies, Inc. Method and apparatus for generating and interfacing with rigid and deformable surfaces in a haptic virtual reality environment
IL123073A0 (en) 1998-01-26 1998-09-24 Simbionix Ltd Endoscopic tutorial system
AU2242099A (en) * 1998-01-28 1999-08-16 Ht Medical Systems, Inc. Interface device and method for interfacing instruments to medical procedure simulation system
GB2349731B (en) * 1998-01-28 2003-06-04 Ht Medical Systems Inc Interface device and method for interfacing instruments to vascular access simulation systems
US6112133A (en) * 1998-02-27 2000-08-29 Imcs, Inc. Visual system and method for generating a CNC program for machining parts with planar and curvilinear surfaces
US6067077A (en) * 1998-04-10 2000-05-23 Immersion Corporation Position sensing for force feedback devices
JP2000076460A (ja) 1998-06-18 2000-03-14 Minolta Co Ltd モニタ表示装置
US6131299A (en) * 1998-07-01 2000-10-17 Faro Technologies, Inc. Display device for a coordinate measurement machine
US5978748A (en) * 1998-07-07 1999-11-02 Faro Technologies, Inc. Host independent articulated arm
GB2375026B (en) * 1998-07-08 2002-12-18 Faro Tech Inc Serial network for coordinate measurement apparatus
US6219928B1 (en) 1998-07-08 2001-04-24 Faro Technologies Inc. Serial network for coordinate measurement apparatus
US6985133B1 (en) 1998-07-17 2006-01-10 Sensable Technologies, Inc. Force reflecting haptic interface
US6552722B1 (en) 1998-07-17 2003-04-22 Sensable Technologies, Inc. Systems and methods for sculpting virtual objects in a haptic virtual reality environment
US6421048B1 (en) 1998-07-17 2002-07-16 Sensable Technologies, Inc. Systems and methods for interacting with virtual objects in a haptic virtual reality environment
US6417638B1 (en) 1998-07-17 2002-07-09 Sensable Technologies, Inc. Force reflecting haptic interface
US6298312B1 (en) * 1998-07-22 2001-10-02 Taiwan Semiconductor Manufacturing Company, Ltd. Method of determining the tip angle of a probe card needle
US6195618B1 (en) 1998-10-15 2001-02-27 Microscribe, Llc Component position verification using a probe apparatus
DE19982989T1 (de) * 1998-11-05 2002-03-28 Imcs Inc Visuelles CNC-Programm zur Erzeugung von Maschinenteilen
US6650338B1 (en) 1998-11-24 2003-11-18 Interval Research Corporation Haptic interaction with video and image data
US6253458B1 (en) * 1998-12-08 2001-07-03 Faro Technologies, Inc. Adjustable counterbalance mechanism for a coordinate measurement machine
US6781569B1 (en) * 1999-06-11 2004-08-24 Immersion Corporation Hand controller
US6302987B1 (en) * 1999-04-05 2001-10-16 General Electric Company High voltage polymer processing methods and power feed-through bushing applications
US6275742B1 (en) * 1999-04-16 2001-08-14 Berkeley Process Control, Inc. Wafer aligner system
US6903721B2 (en) * 1999-05-11 2005-06-07 Immersion Corporation Method and apparatus for compensating for position slip in interface devices
GB2350429B (en) * 1999-05-28 2003-11-12 Taylor Hobson Ltd A metrological instrument
US6545661B1 (en) 1999-06-21 2003-04-08 Midway Amusement Games, Llc Video game system having a control unit with an accelerometer for controlling a video game
US6564168B1 (en) * 1999-09-14 2003-05-13 Immersion Corporation High-resolution optical encoder with phased-array photodetectors
US6839663B1 (en) 1999-09-30 2005-01-04 Texas Tech University Haptic rendering of volumetric soft-bodies objects
US6693626B1 (en) * 1999-12-07 2004-02-17 Immersion Corporation Haptic feedback using a keyboard device
DE50003820D1 (de) * 1999-12-18 2003-10-30 Porsche Ag Messeinrichtung für Baugruppen, insbesondere Karosseriebaugruppen
EP1136897A3 (en) * 2000-02-01 2004-09-22 Faro Technologies Method, system and storage medium for providing an executable program to a coordinate measurement system
DE10008133B4 (de) * 2000-02-22 2006-06-14 Zett-Mess-Technik Gmbh Höhenmeß- und Anreißgerät
WO2001084530A1 (en) * 2000-04-28 2001-11-08 Texas Tech University Haptic virtual environments
US7098888B2 (en) * 2000-04-28 2006-08-29 Texas Tech University System Development of stereoscopic-haptic virtual environments
DE60134983D1 (de) * 2000-05-31 2008-09-04 Unova Ind Automation Sys Inc Verfahren und einrichtung zum kalibrieren einer drehachse
US6565497B1 (en) * 2000-06-23 2003-05-20 Yamazaki Mazak Kabushiki Kaisha Complex machining machine tool
US6625454B1 (en) 2000-08-04 2003-09-23 Wireless Valley Communications, Inc. Method and system for designing or deploying a communications network which considers frequency dependent effects
US6639684B1 (en) * 2000-09-13 2003-10-28 Nextengine, Inc. Digitizer using intensity gradient to image features of three-dimensional objects
US6973622B1 (en) 2000-09-25 2005-12-06 Wireless Valley Communications, Inc. System and method for design, tracking, measurement, prediction and optimization of data communication networks
US7006084B1 (en) 2000-09-26 2006-02-28 Faro Technologies, Inc. Method and system for computer aided manufacturing measurement analysis
US6668466B1 (en) * 2000-10-19 2003-12-30 Sandia Corporation Highly accurate articulated coordinate measuring machine
US6519860B1 (en) * 2000-10-19 2003-02-18 Sandia Corporation Position feedback control system
US6867770B2 (en) * 2000-12-14 2005-03-15 Sensable Technologies, Inc. Systems and methods for voxel warping
BR0116693A (pt) * 2000-12-18 2004-08-17 Wireless Valley Comm Inc Sistema computadorizado e método para coletar dados a partir de um grupo de objetos ou redes espacialmente distribuìdos e método para a visualização de um grupo de objetos ou de redes espacialmente distribuìdos
US6958752B2 (en) 2001-01-08 2005-10-25 Sensable Technologies, Inc. Systems and methods for three-dimensional modeling
DE10102413C1 (de) * 2001-01-16 2002-01-17 Felsomat Gmbh & Co Kg Automationszelle zur Handhabung von Werkstücken
US6796048B2 (en) 2001-02-01 2004-09-28 Faro Technologies, Inc. Method, system and storage medium for providing a tool kit for a coordinate measurement system
DE60227431D1 (de) * 2001-02-02 2008-08-14 Renishaw Plc Durch Biegung des Fühlers konfigurierbare Messsonde für eine Werkzeugmachine
DE50204091D1 (de) * 2001-04-22 2005-10-06 Neuronics Ag Zuerich Knickarmroboter
US7202851B2 (en) * 2001-05-04 2007-04-10 Immersion Medical Inc. Haptic interface for palpation simulation
IL143255A (en) 2001-05-20 2015-09-24 Simbionix Ltd Endoscopic ultrasonography simulation
US6937033B2 (en) * 2001-06-27 2005-08-30 Immersion Corporation Position sensor with resistive element
DE10131160A1 (de) * 2001-06-29 2003-01-16 Zeiss Carl Verfahren zum Betreiben eines Koordinatenmessgeräts mit einem Dreh-Schwenk-Gelenk
US7056123B2 (en) * 2001-07-16 2006-06-06 Immersion Corporation Interface apparatus with cable-driven force feedback and grounded actuators
US6522993B1 (en) * 2001-09-14 2003-02-18 General Electric Company Method and system for marking surface deviations on a three dimensional surface
JP2003185472A (ja) * 2001-12-21 2003-07-03 Yaskawa Electric Corp アブソリュートエンコーダおよびその絶対値信号生成処理方法
US6990639B2 (en) 2002-02-07 2006-01-24 Microsoft Corporation System and process for controlling electronic components in a ubiquitous computing environment using multimodal integration
US7073271B2 (en) * 2002-02-14 2006-07-11 Faro Technologies Inc. Portable coordinate measurement machine
US6957496B2 (en) * 2002-02-14 2005-10-25 Faro Technologies, Inc. Method for improving measurement accuracy of a portable coordinate measurement machine
USD479544S1 (en) 2002-02-14 2003-09-09 Faro Technolgoies, Inc. Portable coordinate measurement machine
US6952882B2 (en) * 2002-02-14 2005-10-11 Faro Technologies, Inc. Portable coordinate measurement machine
US7881896B2 (en) 2002-02-14 2011-02-01 Faro Technologies, Inc. Portable coordinate measurement machine with integrated line laser scanner
US6973734B2 (en) * 2002-02-14 2005-12-13 Faro Technologies, Inc. Method for providing sensory feedback to the operator of a portable measurement machine
US7246030B2 (en) * 2002-02-14 2007-07-17 Faro Technologies, Inc. Portable coordinate measurement machine with integrated line laser scanner
US7519493B2 (en) * 2002-02-14 2009-04-14 Faro Technologies, Inc. Portable coordinate measurement machine with integrated line laser scanner
DE60318396T2 (de) 2002-02-14 2008-05-21 Faro Technologies, Inc., Lake Mary Tragbare koordinatenmessmaschine mit gelenkarm
USRE42082E1 (en) 2002-02-14 2011-02-01 Faro Technologies, Inc. Method and apparatus for improving measurement accuracy of a portable coordinate measurement machine
US6904823B2 (en) * 2002-04-03 2005-06-14 Immersion Corporation Haptic shifting devices
US6671651B2 (en) 2002-04-26 2003-12-30 Sensable Technologies, Inc. 3-D selection and manipulation with a multiple dimension haptic interface
WO2004034241A2 (de) * 2002-10-09 2004-04-22 Raphael Bachmann Schnell-eingabevorrichtung
US8917234B2 (en) 2002-10-15 2014-12-23 Immersion Corporation Products and processes for providing force sensations in a user interface
TW584726B (en) * 2003-01-17 2004-04-21 Taipei Veterans General Hospit Tail suspension test device
SE524818C2 (sv) * 2003-02-13 2004-10-05 Abb Ab En metod och ett system för att programmera en industrirobot att förflytta sig relativt definierade positioner på ett objekt
US20050245789A1 (en) 2003-04-01 2005-11-03 Boston Scientific Scimed, Inc. Fluid manifold for endoscope system
US7578786B2 (en) 2003-04-01 2009-08-25 Boston Scientific Scimed, Inc. Video endoscope
US20040199052A1 (en) 2003-04-01 2004-10-07 Scimed Life Systems, Inc. Endoscopic imaging system
US7591783B2 (en) 2003-04-01 2009-09-22 Boston Scientific Scimed, Inc. Articulation joint for video endoscope
US8118732B2 (en) 2003-04-01 2012-02-21 Boston Scientific Scimed, Inc. Force feedback control system for video endoscope
US7003892B2 (en) * 2003-04-15 2006-02-28 Hexagon Metrology Ab Spatial coordinate-based method for identifying work pieces
ITTO20030309A1 (it) * 2003-04-18 2004-10-19 St Microelectronics Srl Dispositivo di misura della posizione angolare relativa
CA2426512A1 (en) * 2003-04-22 2004-10-22 Garth Shoemaker Positioning and manipulating detail-in-context lenses in 2d and 3d data through the application of eye tracking or position tracking
US7559931B2 (en) 2003-06-09 2009-07-14 OrthAlign, Inc. Surgical orientation system and method
US8057482B2 (en) * 2003-06-09 2011-11-15 OrthAlign, Inc. Surgical orientation device and method
US8992322B2 (en) * 2003-06-09 2015-03-31 Immersion Corporation Interactive gaming systems with haptic feedback
US7850456B2 (en) 2003-07-15 2010-12-14 Simbionix Ltd. Surgical simulation device, system and method
JP2005055282A (ja) * 2003-08-04 2005-03-03 Tokyo Seimitsu Co Ltd 測定方法及び測定装置
US6907672B2 (en) * 2003-10-11 2005-06-21 Hewlett-Packard Development Company, L.P. System and method for measuring three-dimensional objects using displacements of elongate measuring members
FR2861843B1 (fr) 2003-10-29 2006-07-07 Romain Granger Dispositif de connexion associe a un bras d'appareil de mesure tridimentionnelle a bras articules
US7382378B2 (en) 2003-10-30 2008-06-03 Sensable Technologies, Inc. Apparatus and methods for stenciling an image
US7411576B2 (en) * 2003-10-30 2008-08-12 Sensable Technologies, Inc. Force reflecting haptic interface
US7095418B2 (en) * 2003-10-30 2006-08-22 Sensable Technologies, Inc. Apparatus and methods for texture mapping
US7889209B2 (en) * 2003-12-10 2011-02-15 Sensable Technologies, Inc. Apparatus and methods for wrapping texture onto the surface of a virtual object
US7626589B2 (en) * 2003-12-10 2009-12-01 Sensable Technologies, Inc. Haptic graphical user interface for adjusting mapped texture
US7742036B2 (en) * 2003-12-22 2010-06-22 Immersion Corporation System and method for controlling haptic devices having multiple operational modes
US7149596B2 (en) * 2004-01-13 2006-12-12 Sensable Technologies, Inc. Apparatus and methods for modifying a model of an object to enforce compliance with a manufacturing constraint
US7152456B2 (en) 2004-01-14 2006-12-26 Romer Incorporated Automated robotic measuring system
US7693325B2 (en) 2004-01-14 2010-04-06 Hexagon Metrology, Inc. Transprojection of geometry data
US7237723B2 (en) * 2004-02-12 2007-07-03 Grant Isaac W Coordinate designation interface
US6955297B2 (en) * 2004-02-12 2005-10-18 Grant Isaac W Coordinate designation interface
US7711179B2 (en) * 2004-04-21 2010-05-04 Nextengine, Inc. Hand held portable three dimensional scanner
WO2005119356A2 (en) 2004-05-28 2005-12-15 Erik Jan Banning Interactive direct-pointing system and calibration method
US7835892B2 (en) * 2004-09-28 2010-11-16 Immersion Medical, Inc. Ultrasound simulation apparatus and method
US7241263B2 (en) 2004-09-30 2007-07-10 Scimed Life Systems, Inc. Selectively rotatable shaft coupler
EP1799094A2 (en) 2004-09-30 2007-06-27 Boston Scientific Scimed, Inc. Multi-functional endoscopic system for use in electrosurgical applications
US8083671B2 (en) 2004-09-30 2011-12-27 Boston Scientific Scimed, Inc. Fluid delivery system for use with an endoscope
US8353860B2 (en) 2004-09-30 2013-01-15 Boston Scientific Scimed, Inc. Device for obstruction removal with specific tip structure
US8199187B2 (en) 2004-09-30 2012-06-12 Boston Scientific Scimed, Inc. Adapter for use with digital imaging medical device
US7479106B2 (en) 2004-09-30 2009-01-20 Boston Scientific Scimed, Inc. Automated control of irrigation and aspiration in a single-use endoscope
US7489979B2 (en) * 2005-01-27 2009-02-10 Outland Research, Llc System, method and computer program product for rejecting or deferring the playing of a media file retrieved by an automated process
US20070189544A1 (en) 2005-01-15 2007-08-16 Outland Research, Llc Ambient sound responsive media player
US7542816B2 (en) * 2005-01-27 2009-06-02 Outland Research, Llc System, method and computer program product for automatically selecting, suggesting and playing music media files
US20060195361A1 (en) * 2005-10-01 2006-08-31 Outland Research Location-based demographic profiling system and method of use
US20060161621A1 (en) * 2005-01-15 2006-07-20 Outland Research, Llc System, method and computer program product for collaboration and synchronization of media content on a plurality of media players
US20060229058A1 (en) * 2005-10-29 2006-10-12 Outland Research Real-time person-to-person communication using geospatial addressing
US7562117B2 (en) * 2005-09-09 2009-07-14 Outland Research, Llc System, method and computer program product for collaborative broadcast media
US20060173556A1 (en) * 2005-02-01 2006-08-03 Outland Research,. Llc Methods and apparatus for using user gender and/or age group to improve the organization of documents retrieved in response to a search query
US20060173828A1 (en) * 2005-02-01 2006-08-03 Outland Research, Llc Methods and apparatus for using personal background data to improve the organization of documents retrieved in response to a search query
US20060179056A1 (en) * 2005-10-12 2006-08-10 Outland Research Enhanced storage and retrieval of spatially associated information
US20070276870A1 (en) * 2005-01-27 2007-11-29 Outland Research, Llc Method and apparatus for intelligent media selection using age and/or gender
US20060179044A1 (en) * 2005-02-04 2006-08-10 Outland Research, Llc Methods and apparatus for using life-context of a user to improve the organization of documents retrieved in response to a search query from that user
US20060253210A1 (en) * 2005-03-26 2006-11-09 Outland Research, Llc Intelligent Pace-Setting Portable Media Player
US20060223637A1 (en) * 2005-03-31 2006-10-05 Outland Research, Llc Video game system combining gaming simulation with remote robot control and remote robot feedback
US20060223635A1 (en) * 2005-04-04 2006-10-05 Outland Research method and apparatus for an on-screen/off-screen first person gaming experience
US20060256008A1 (en) * 2005-05-13 2006-11-16 Outland Research, Llc Pointing interface for person-to-person information exchange
WO2006110489A2 (en) * 2005-04-08 2006-10-19 University Of Utah Research Foundation Rapid prototyping of microstructures using a cutting plotter
US20060241864A1 (en) * 2005-04-22 2006-10-26 Outland Research, Llc Method and apparatus for point-and-send data transfer within an ubiquitous computing environment
US20060250391A1 (en) * 2005-05-09 2006-11-09 Vesely Michael A Three dimensional horizontal perspective workstation
US8717423B2 (en) 2005-05-09 2014-05-06 Zspace, Inc. Modifying perspective of stereoscopic images based on changes in user viewpoint
US20060256007A1 (en) * 2005-05-13 2006-11-16 Outland Research, Llc Triangulation method and apparatus for targeting and accessing spatially associated information
US8097003B2 (en) 2005-05-13 2012-01-17 Boston Scientific Scimed, Inc. Endoscopic apparatus with integrated variceal ligation device
US7846107B2 (en) 2005-05-13 2010-12-07 Boston Scientific Scimed, Inc. Endoscopic apparatus with integrated multiple biopsy device
US20060259574A1 (en) * 2005-05-13 2006-11-16 Outland Research, Llc Method and apparatus for accessing spatially associated information
US20070150188A1 (en) * 2005-05-27 2007-06-28 Outland Research, Llc First-person video-based travel planning system
US20060271286A1 (en) * 2005-05-27 2006-11-30 Outland Research, Llc Image-enhanced vehicle navigation systems and methods
US7395607B1 (en) * 2005-06-14 2008-07-08 Discovery Technology International, Lllp Rotational and translational microposition apparatus and method
GB0512138D0 (en) * 2005-06-15 2005-07-20 Renishaw Plc Method of determining measurement probe orientation
US20060186197A1 (en) * 2005-06-16 2006-08-24 Outland Research Method and apparatus for wireless customer interaction with the attendants working in a restaurant
US20080032719A1 (en) * 2005-10-01 2008-02-07 Outland Research, Llc Centralized establishment-based tracking and messaging service
US9285897B2 (en) 2005-07-13 2016-03-15 Ultimate Pointer, L.L.C. Easily deployable interactive direct-pointing system and calibration method therefor
US7519537B2 (en) 2005-07-19 2009-04-14 Outland Research, Llc Method and apparatus for a verbo-manual gesture interface
JP4832826B2 (ja) * 2005-07-26 2011-12-07 任天堂株式会社 オブジェクト制御プログラムおよび情報処理装置
GB0516276D0 (en) * 2005-08-08 2005-09-14 Crampton Stephen Robust cmm arm with exoskeleton
US8052597B2 (en) 2005-08-30 2011-11-08 Boston Scientific Scimed, Inc. Method for forming an endoscope articulation joint
US7917148B2 (en) * 2005-09-23 2011-03-29 Outland Research, Llc Social musical media rating system and method for localized establishments
US8176101B2 (en) 2006-02-07 2012-05-08 Google Inc. Collaborative rejection of media for physical establishments
US7577522B2 (en) * 2005-12-05 2009-08-18 Outland Research, Llc Spatially associated personal reminder system and method
US7586032B2 (en) * 2005-10-07 2009-09-08 Outland Research, Llc Shake responsive portable media player
US20070083323A1 (en) * 2005-10-07 2007-04-12 Outland Research Personal cuing for spatially associated information
US20070103437A1 (en) * 2005-10-26 2007-05-10 Outland Research, Llc Haptic metering for minimally invasive medical procedures
CN101309783B (zh) * 2005-11-16 2013-09-11 Abb股份有限公司 控制装有定位开关的工业机器人运动的方法、装置、系统及其应用
US7483763B2 (en) * 2005-11-17 2009-01-27 Centertrak, Llc System and method for the digital specification of head shape data for use in developing custom hair pieces
BRPI0505860A (pt) * 2005-12-09 2007-09-25 Ubea dispositivo para a digitalização de estruturas dentárias, método para a leitura de dados tridimensionais de uma estrutura dentária e kit utilizado em scanner de boca
US20060227047A1 (en) * 2005-12-13 2006-10-12 Outland Research Meeting locator system and method of using the same
US20070075127A1 (en) * 2005-12-21 2007-04-05 Outland Research, Llc Orientation-based power conservation for portable media devices
CN100437445C (zh) * 2005-12-23 2008-11-26 鸿富锦精密工业(深圳)有限公司 三次元离线碰撞检测系统及方法
US7967759B2 (en) 2006-01-19 2011-06-28 Boston Scientific Scimed, Inc. Endoscopic system with integrated patient respiratory status indicator
US7995834B1 (en) 2006-01-20 2011-08-09 Nextengine, Inc. Multiple laser scanner
US11284048B2 (en) 2006-01-31 2022-03-22 Andrew Flessas Robotically controlled display
US8016749B2 (en) 2006-03-21 2011-09-13 Boston Scientific Scimed, Inc. Vision catheter having electromechanical navigation
US8888684B2 (en) 2006-03-27 2014-11-18 Boston Scientific Scimed, Inc. Medical devices with local drug delivery capabilities
US8202265B2 (en) 2006-04-20 2012-06-19 Boston Scientific Scimed, Inc. Multiple lumen assembly for use in endoscopes or other medical devices
US7955255B2 (en) 2006-04-20 2011-06-07 Boston Scientific Scimed, Inc. Imaging assembly with transparent distal cap
US7568293B2 (en) * 2006-05-01 2009-08-04 Paul Ferrari Sealed battery for coordinate measurement machine
EP1854425A1 (de) * 2006-05-11 2007-11-14 BrainLAB AG Medizintechnische Positionsbestimmung mit redundanten Positionserfassungseinrichtungen und Prioritätsgewichtung für die Positionserfassungseinrichtungen
US7805854B2 (en) 2006-05-15 2010-10-05 Hexagon Metrology, Inc. Systems and methods for positioning and measuring objects using a CMM
CN104656900A (zh) 2006-09-13 2015-05-27 意美森公司 用于游戏厅游戏触觉的系统和方法
US10959881B2 (en) 2006-11-09 2021-03-30 Johnson & Johnson Surgical Vision, Inc. Fluidics cassette for ocular surgical system
US8491528B2 (en) 2006-11-09 2013-07-23 Abbott Medical Optics Inc. Critical alignment of fluidics cassettes
US8414534B2 (en) 2006-11-09 2013-04-09 Abbott Medical Optics Inc. Holding tank devices, systems, and methods for surgical fluidics cassette
US9295765B2 (en) 2006-11-09 2016-03-29 Abbott Medical Optics Inc. Surgical fluidics cassette supporting multiple pumps
US9522221B2 (en) 2006-11-09 2016-12-20 Abbott Medical Optics Inc. Fluidics cassette for ocular surgical system
WO2008064276A2 (en) 2006-11-20 2008-05-29 Hexagon Metrology Ab Coordinate measurement machine with improved joint
WO2008080142A1 (en) * 2006-12-22 2008-07-03 Romer, Inc. Improved joint axis for coordinate measurement machine
US8543338B2 (en) 2007-01-16 2013-09-24 Simbionix Ltd. System and method for performing computerized simulations for image-guided procedures using a patient specific model
CN101627411B (zh) * 2007-01-16 2014-03-19 西姆博尼克斯有限公司 用于执行模拟的图像导引医疗过程的设备和方法
JP5274782B2 (ja) * 2007-03-27 2013-08-28 株式会社ミツトヨ 表面性状測定装置、表面性状測定方法及び表面性状測定プログラム
US8055466B2 (en) * 2007-03-30 2011-11-08 Mitutoyo Corporation Global calibration for stereo vision probe
US20080243416A1 (en) * 2007-03-30 2008-10-02 Mitutoyo Corporation Global calibration for stereo vision probe
US10485699B2 (en) 2007-05-24 2019-11-26 Johnson & Johnson Surgical Vision, Inc. Systems and methods for transverse phacoemulsification
US10596032B2 (en) 2007-05-24 2020-03-24 Johnson & Johnson Surgical Vision, Inc. System and method for controlling a transverse phacoemulsification system with a footpedal
US10363166B2 (en) 2007-05-24 2019-07-30 Johnson & Johnson Surgical Vision, Inc. System and method for controlling a transverse phacoemulsification system using sensed data
US7546689B2 (en) * 2007-07-09 2009-06-16 Hexagon Metrology Ab Joint for coordinate measurement device
US10342701B2 (en) 2007-08-13 2019-07-09 Johnson & Johnson Surgical Vision, Inc. Systems and methods for phacoemulsification with vacuum based pumps
US7774949B2 (en) * 2007-09-28 2010-08-17 Hexagon Metrology Ab Coordinate measurement machine
US7444751B1 (en) * 2007-09-28 2008-11-04 Electro-Sensors, Inc. Linear distance measurement by non-driven arm
US7797849B2 (en) * 2007-10-31 2010-09-21 Immersion Corporation Portable metrology device
US9486292B2 (en) 2008-02-14 2016-11-08 Immersion Corporation Systems and methods for real-time winding analysis for knot detection
US9171484B2 (en) * 2008-03-06 2015-10-27 Immersion Corporation Determining location and orientation of an object positioned on a surface
FR2928387B1 (fr) * 2008-03-10 2012-11-16 Westline Procede et systeme de calibration automatique des engins de terrassement
US7779548B2 (en) * 2008-03-28 2010-08-24 Hexagon Metrology, Inc. Coordinate measuring machine with rotatable grip
US8122610B2 (en) * 2008-03-28 2012-02-28 Hexagon Metrology, Inc. Systems and methods for improved coordination acquisition member comprising calibration information
US7640674B2 (en) * 2008-05-05 2010-01-05 Hexagon Metrology, Inc. Systems and methods for calibrating a portable coordinate measurement machine
US20100063509A1 (en) * 2008-07-24 2010-03-11 OrthAlign, Inc. Systems and methods for joint replacement
US20100137871A1 (en) 2008-09-10 2010-06-03 OrthAlign, Inc. Hip surgery systems and methods
US9679499B2 (en) * 2008-09-15 2017-06-13 Immersion Medical, Inc. Systems and methods for sensing hand motion by measuring remote displacement
US7908757B2 (en) 2008-10-16 2011-03-22 Hexagon Metrology, Inc. Articulating measuring arm with laser scanner
US8428326B2 (en) * 2008-10-23 2013-04-23 Immersion Corporation Systems and methods for ultrasound simulation using depth peeling
US8749188B2 (en) 2008-11-07 2014-06-10 Abbott Medical Optics Inc. Adjustable foot pedal control for ophthalmic surgery
US10349925B2 (en) * 2008-11-07 2019-07-16 Johnson & Johnson Surgical Vision, Inc. Method for programming foot pedal settings and controlling performance through foot pedal variation
CA2941766A1 (en) 2008-11-07 2010-05-14 Abbott Medical Optics Inc. Automatically switching different aspiration levels and/or pumps to an ocular probe
WO2010054142A1 (en) 2008-11-07 2010-05-14 Abbott Medical Optics Inc. Controlling of multiple pumps
US9795507B2 (en) 2008-11-07 2017-10-24 Abbott Medical Optics Inc. Multifunction foot pedal
CA2983524A1 (en) 2008-11-07 2010-05-14 Abbott Medical Optics Inc. Automatically pulsing different aspiration levels to an ocular probe
US9005157B2 (en) 2008-11-07 2015-04-14 Abbott Medical Optics Inc. Surgical cassette apparatus
US9482755B2 (en) 2008-11-17 2016-11-01 Faro Technologies, Inc. Measurement system having air temperature compensation between a target and a laser tracker
US8010226B2 (en) * 2008-12-19 2011-08-30 The Boeing Company Apparatus and method for measuring and modifying components using reverse engineering
US7983790B2 (en) * 2008-12-19 2011-07-19 The Boeing Company Component repair using reverse engineering
US20100167820A1 (en) * 2008-12-29 2010-07-01 Houssam Barakat Human interface device
US9551575B2 (en) 2009-03-25 2017-01-24 Faro Technologies, Inc. Laser scanner having a multi-color light source and real-time color receiver
DE102009015920B4 (de) 2009-03-25 2014-11-20 Faro Technologies, Inc. Vorrichtung zum optischen Abtasten und Vermessen einer Umgebung
US9492317B2 (en) 2009-03-31 2016-11-15 Abbott Medical Optics Inc. Cassette capture mechanism
US8757345B2 (en) * 2009-04-29 2014-06-24 Novellus Systems, Inc. Magnetic rotational hardstop for robot
FR2945863B1 (fr) * 2009-05-19 2011-12-23 Celette Sa Dispositif de mesure tridimentionnelle
US9104791B2 (en) * 2009-05-28 2015-08-11 Immersion Corporation Systems and methods for editing a model of a physical system for a simulation
EP3620762A1 (en) * 2009-06-30 2020-03-11 Hexagon Technology Center GmbH Coordinate measurement machine with vibration detection
US8118815B2 (en) 2009-07-24 2012-02-21 OrthAlign, Inc. Systems and methods for joint replacement
US10869771B2 (en) 2009-07-24 2020-12-22 OrthAlign, Inc. Systems and methods for joint replacement
US20110112786A1 (en) * 2009-11-06 2011-05-12 Hexagon Metrology Ab Cmm with improved sensors
US9113023B2 (en) 2009-11-20 2015-08-18 Faro Technologies, Inc. Three-dimensional scanner with spectroscopic energy detector
DE102009057101A1 (de) 2009-11-20 2011-05-26 Faro Technologies, Inc., Lake Mary Vorrichtung zum optischen Abtasten und Vermessen einer Umgebung
US9529083B2 (en) 2009-11-20 2016-12-27 Faro Technologies, Inc. Three-dimensional scanner with enhanced spectroscopic energy detector
US9210288B2 (en) 2009-11-20 2015-12-08 Faro Technologies, Inc. Three-dimensional scanner with dichroic beam splitters to capture a variety of signals
US20110213247A1 (en) * 2010-01-08 2011-09-01 Hexagon Metrology, Inc. Articulated arm with imaging device
US8630314B2 (en) * 2010-01-11 2014-01-14 Faro Technologies, Inc. Method and apparatus for synchronizing measurements taken by multiple metrology devices
US8677643B2 (en) 2010-01-20 2014-03-25 Faro Technologies, Inc. Coordinate measurement machines with removable accessories
US8875409B2 (en) 2010-01-20 2014-11-04 Faro Technologies, Inc. Coordinate measurement machines with removable accessories
DE112011100290T5 (de) * 2010-01-20 2013-02-28 Faro Technologies Inc. Koordinatenmessgerät mit einem beleuchteten Sondenende und Betriebsverfahren
US8276286B2 (en) * 2010-01-20 2012-10-02 Faro Technologies, Inc. Display for coordinate measuring machine
US9607239B2 (en) 2010-01-20 2017-03-28 Faro Technologies, Inc. Articulated arm coordinate measurement machine having a 2D camera and method of obtaining 3D representations
US9163922B2 (en) 2010-01-20 2015-10-20 Faro Technologies, Inc. Coordinate measurement machine with distance meter and camera to determine dimensions within camera images
US9628775B2 (en) 2010-01-20 2017-04-18 Faro Technologies, Inc. Articulated arm coordinate measurement machine having a 2D camera and method of obtaining 3D representations
GB2489651B (en) * 2010-01-20 2015-01-28 Faro Tech Inc Coordinate measurement machines with removable accessories
US8638446B2 (en) 2010-01-20 2014-01-28 Faro Technologies, Inc. Laser scanner or laser tracker having a projector
US8898919B2 (en) 2010-01-20 2014-12-02 Faro Technologies, Inc. Coordinate measurement machine with distance meter used to establish frame of reference
US8615893B2 (en) 2010-01-20 2013-12-31 Faro Technologies, Inc. Portable articulated arm coordinate measuring machine having integrated software controls
US8832954B2 (en) 2010-01-20 2014-09-16 Faro Technologies, Inc. Coordinate measurement machines with removable accessories
US9879976B2 (en) 2010-01-20 2018-01-30 Faro Technologies, Inc. Articulated arm coordinate measurement machine that uses a 2D camera to determine 3D coordinates of smoothly continuous edge features
EP2525740A4 (en) * 2010-01-21 2016-01-20 Orthalign Inc SYSTEMS AND METHOD FOR THE REPLACEMENT OF JOINTS
US8717360B2 (en) * 2010-01-29 2014-05-06 Zspace, Inc. Presenting a view within a three dimensional scene
US8947455B2 (en) 2010-02-22 2015-02-03 Nike, Inc. Augmented reality design system
US8442806B2 (en) * 2010-03-03 2013-05-14 Immersion Medical, Inc. Systems and methods for simulations utilizing a virtual coupling
USD643319S1 (en) 2010-03-29 2011-08-16 Hexagon Metrology Ab Portable coordinate measurement machine
US9400170B2 (en) 2010-04-21 2016-07-26 Faro Technologies, Inc. Automatic measurement of dimensional data within an acceptance region by a laser tracker
US8619265B2 (en) 2011-03-14 2013-12-31 Faro Technologies, Inc. Automatic measurement of dimensional data with a laser tracker
US8537371B2 (en) 2010-04-21 2013-09-17 Faro Technologies, Inc. Method and apparatus for using gestures to control a laser tracker
US9772394B2 (en) 2010-04-21 2017-09-26 Faro Technologies, Inc. Method and apparatus for following an operator and locking onto a retroreflector with a laser tracker
US8422034B2 (en) 2010-04-21 2013-04-16 Faro Technologies, Inc. Method and apparatus for using gestures to control a laser tracker
US9377885B2 (en) 2010-04-21 2016-06-28 Faro Technologies, Inc. Method and apparatus for locking onto a retroreflector with a laser tracker
US8724119B2 (en) 2010-04-21 2014-05-13 Faro Technologies, Inc. Method for using a handheld appliance to select, lock onto, and track a retroreflector with a laser tracker
DE102010020925B4 (de) 2010-05-10 2014-02-27 Faro Technologies, Inc. Verfahren zum optischen Abtasten und Vermessen einer Umgebung
US9021344B2 (en) * 2010-08-31 2015-04-28 New River Kinematics, Inc. Off-line graphical user interface system and method for three-dimensional measurement
US8127458B1 (en) 2010-08-31 2012-03-06 Hexagon Metrology, Inc. Mounting apparatus for articulated arm laser scanner
US9168654B2 (en) 2010-11-16 2015-10-27 Faro Technologies, Inc. Coordinate measuring machines with dual layer arm
GB2518769A (en) 2011-03-03 2015-04-01 Faro Tech Inc Target apparatus and method
JP5742415B2 (ja) * 2011-04-14 2015-07-01 セイコーエプソン株式会社 センサーデバイス、力検出装置およびロボット
US9686532B2 (en) 2011-04-15 2017-06-20 Faro Technologies, Inc. System and method of acquiring three-dimensional coordinates using multiple coordinate measurement devices
JP2014516409A (ja) 2011-04-15 2014-07-10 ファロ テクノロジーズ インコーポレーテッド レーザトラッカの改良位置検出器
US9482529B2 (en) 2011-04-15 2016-11-01 Faro Technologies, Inc. Three-dimensional coordinate scanner and method of operation
US9164173B2 (en) 2011-04-15 2015-10-20 Faro Technologies, Inc. Laser tracker that uses a fiber-optic coupler and an achromatic launch to align and collimate two wavelengths of light
US8786529B1 (en) 2011-05-18 2014-07-22 Zspace, Inc. Liquid crystal variable drive voltage
US8933913B2 (en) 2011-06-28 2015-01-13 Microsoft Corporation Electromagnetic 3D stylus
PL2543955T3 (pl) * 2011-07-06 2016-06-30 Hexagon Metrology Spa Sposób kalibracji modelu matematycznego współrzędnościowej maszyny pomiarowej, w celu kompensowania błędów dynamicznych spowodowanych odkształceniem
US9802364B2 (en) 2011-10-18 2017-10-31 3D Systems, Inc. Systems and methods for construction of an instruction set for three-dimensional printing of a user-customizableimage of a three-dimensional structure
US8872800B2 (en) 2011-11-02 2014-10-28 Microsoft Corporation Optical tablet stylus and indoor navigation system
US8763267B2 (en) 2012-01-20 2014-07-01 Hexagon Technology Center Gmbh Locking counterbalance for a CMM
DE102012100609A1 (de) 2012-01-25 2013-07-25 Faro Technologies, Inc. Vorrichtung zum optischen Abtasten und Vermessen einer Umgebung
JP6099675B2 (ja) 2012-01-27 2017-03-22 ファロ テクノロジーズ インコーポレーテッド バーコード識別による検査方法
US9700457B2 (en) 2012-03-17 2017-07-11 Abbott Medical Optics Inc. Surgical cassette
CA2873547A1 (en) 2012-05-18 2013-11-21 OrthAlign, Inc. Devices and methods for knee arthroplasty
US9157721B1 (en) * 2012-06-08 2015-10-13 Beeline Company Measuring system
US9069355B2 (en) 2012-06-08 2015-06-30 Hexagon Technology Center Gmbh System and method for a wireless feature pack
CN105378593B (zh) 2012-07-13 2019-03-01 索尼深度传感解决方案股份有限公司 利用手上的奇异兴趣点基于手势进行人机同步交互的方法和系统
US8997362B2 (en) 2012-07-17 2015-04-07 Faro Technologies, Inc. Portable articulated arm coordinate measuring machine with optical communications bus
US9245428B2 (en) 2012-08-02 2016-01-26 Immersion Corporation Systems and methods for haptic remote control gaming
US9182813B2 (en) * 2012-08-10 2015-11-10 Ulsee Inc. Image-based object tracking system in 3D space using controller having multiple color clusters
US9649160B2 (en) 2012-08-14 2017-05-16 OrthAlign, Inc. Hip replacement navigation system and method
EP2698596A1 (en) * 2012-08-16 2014-02-19 Hexagon Technology Center GmbH Method and system for determining spatial coordinates with a mobile coordinate measuring machine
US9056244B2 (en) 2012-09-12 2015-06-16 Wms Gaming Inc. Gaming apparatus incorporating targeted haptic feedback
DE102012109481A1 (de) 2012-10-05 2014-04-10 Faro Technologies, Inc. Vorrichtung zum optischen Abtasten und Vermessen einer Umgebung
US10067231B2 (en) 2012-10-05 2018-09-04 Faro Technologies, Inc. Registration calculation of three-dimensional scanner data performed between scans based on measurements by two-dimensional scanner
US9513107B2 (en) 2012-10-05 2016-12-06 Faro Technologies, Inc. Registration calculation between three-dimensional (3D) scans based on two-dimensional (2D) scan data from a 3D scanner
US9274651B2 (en) 2012-11-05 2016-03-01 Hewlett-Packard Development Company, L.P. Apparatus to track a pointing device
US9222769B2 (en) 2012-12-08 2015-12-29 Grale Technologies High speed metrology with numerically controlled machines
JP6104606B2 (ja) * 2013-01-08 2017-03-29 株式会社ミツトヨ 三次元測定装置、入力方法及びプログラム
JP6144050B2 (ja) * 2013-01-08 2017-06-07 株式会社ミツトヨ 三次元測定装置、入力方法及びプログラム
WO2014129162A1 (ja) * 2013-02-25 2014-08-28 パナソニック株式会社 産業用ロボットおよび産業用ロボットのツール取り付け位置の較正方法
US9250214B2 (en) 2013-03-12 2016-02-02 Hexagon Metrology, Inc. CMM with flaw detection system
US9866924B2 (en) 2013-03-14 2018-01-09 Immersion Corporation Systems and methods for enhanced television interaction
US9041914B2 (en) 2013-03-15 2015-05-26 Faro Technologies, Inc. Three-dimensional coordinate scanner and method of operation
WO2015016788A1 (en) * 2013-07-31 2015-02-05 Bayer Kadir Measuring device
FR3012214B1 (fr) * 2013-10-18 2023-07-14 Hexagon Metrology Sas Procede de mesure avec amelioration de la precision de l'acquisition d'un point de mesure
EP3066418A1 (en) * 2013-11-06 2016-09-14 Hexagon Metrology (Israel) Method and system for analyzing spatial measuring data
US9163921B2 (en) 2013-12-18 2015-10-20 Hexagon Metrology, Inc. Ultra-portable articulated arm coordinate measurement machine
US9594250B2 (en) 2013-12-18 2017-03-14 Hexagon Metrology, Inc. Ultra-portable coordinate measurement machine
EP2891950B1 (en) 2014-01-07 2018-08-15 Sony Depthsensing Solutions Human-to-computer natural three-dimensional hand gesture based navigation method
CN105091807B (zh) * 2014-04-30 2017-12-01 鸿富锦精密工业(深圳)有限公司 机器人工具坐标系的校正方法
US9759540B2 (en) 2014-06-11 2017-09-12 Hexagon Metrology, Inc. Articulating CMM probe
US9395174B2 (en) 2014-06-27 2016-07-19 Faro Technologies, Inc. Determining retroreflector orientation by optimizing spatial fit
US9291447B2 (en) * 2014-07-09 2016-03-22 Mitutoyo Corporation Method for controlling motion of a coordinate measuring machine
AU2016217606A1 (en) * 2015-02-10 2017-09-28 Reflex Instruments Asia Pacific Pty Ltd A system, method and apparatus for determining the disposition of structural features present in boreholes
US10363149B2 (en) 2015-02-20 2019-07-30 OrthAlign, Inc. Hip replacement navigation system and method
US10613629B2 (en) 2015-03-27 2020-04-07 Chad Laurendeau System and method for force feedback interface devices
US10203192B2 (en) * 2015-05-29 2019-02-12 Hexagon Metrology, Inc. CMM with object location logic
US10180733B2 (en) * 2015-12-22 2019-01-15 Kindred Systems Inc. Systems, devices, and methods for foot control of robots
DE102015122844A1 (de) 2015-12-27 2017-06-29 Faro Technologies, Inc. 3D-Messvorrichtung mit Batteriepack
US11064904B2 (en) 2016-02-29 2021-07-20 Extremity Development Company, Llc Smart drill, jig, and method of orthopedic surgery
CN106112336A (zh) * 2016-08-15 2016-11-16 江门市弘程精密制造有限公司 一种六轴焊接机械手
AU2018236220A1 (en) 2017-03-14 2019-09-26 OrthAlign, Inc. Hip replacement navigation systems and methods
CA3056495A1 (en) 2017-03-14 2018-09-20 OrthAlign, Inc. Soft tissue measurement & balancing systems and methods
US11481049B2 (en) 2017-04-11 2022-10-25 Hewlett-Packard Development Company, L.P. Divots for enhanced interaction with styluses
WO2018213619A1 (en) * 2017-05-17 2018-11-22 Sphero, Inc. Illustration robot movement
JP7045194B2 (ja) * 2018-01-11 2022-03-31 株式会社ミツトヨ レンズ測定装置およびレンズ測定方法
US10969760B2 (en) 2018-04-12 2021-04-06 Faro Technologies, Inc. Coordinate measurement system with auxiliary axis
US11874101B2 (en) 2018-04-12 2024-01-16 Faro Technologies, Inc Modular servo cartridges for precision metrology
US10895445B2 (en) 2018-09-14 2021-01-19 Faro Technologies, Inc. Articulated arm coordinate measuring machines with active counterbalance
CN109128624A (zh) * 2018-09-18 2019-01-04 河北微宏惠工机器人科技有限公司 一种六轴全位置焊接机器人
NL2021673B1 (en) * 2018-09-20 2020-05-07 Prodim Int B V A method of calibrating an apparatus for pointing spatial coordinates as well as a corresponding apparatus.
DE102019208946A1 (de) * 2019-06-19 2020-12-24 Carl Zeiss Industrielle Messtechnik Gmbh Verfahren und Vorrichtung zur Bestimmung einer Lage einer Drehachse eines Drehtisches sowie Drehtisch und Koordinatenmessgerät
WO2021040714A1 (en) 2019-08-29 2021-03-04 Flessas Andrew Method and system for moving cameras using robotic mounts
GB201915100D0 (en) * 2019-10-18 2019-12-04 Renishaw Plc Coordinate positioning machine
US11425308B2 (en) 2020-12-02 2022-08-23 Andrew Flessas Robotically movable display synchronously movable with robotically movable camera for displaying captured images in identical orientation
WO2023183507A1 (en) * 2022-03-24 2023-09-28 Communications Test Design, Inc. Methods and apparatuses for producing customized etched articles
EP4343278A1 (en) 2022-09-20 2024-03-27 TESA Sàrl Calibration of a coordinate-measuring device
EP4369124A1 (en) * 2022-11-14 2024-05-15 AM-Flow Holding B.V. Inspection system and method

Family Cites Families (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2906179A (en) * 1957-01-28 1959-09-29 North American Aviation Inc Vector gage
US3338772A (en) * 1964-03-25 1967-08-29 Ned L Mcwherter Nocking jig
US3490059A (en) * 1966-06-06 1970-01-13 Martin Marietta Corp Three axis mounting and torque sensing apparatus
US3531868A (en) * 1968-04-18 1970-10-06 Ford Motor Co Surface scanner for measuring the coordinates of points on a three-dimensional surface
US3875488A (en) * 1973-02-15 1975-04-01 Raytheon Co Inertially stabilized gimbal platform
US3890958A (en) * 1974-04-08 1975-06-24 Moog Automotive Inc Physiological diagnostic apparatus
US3944798A (en) * 1974-04-18 1976-03-16 Eaton-Leonard Corporation Method and apparatus for measuring direction
US4148014A (en) * 1977-04-06 1979-04-03 Texas Instruments Incorporated System with joystick to control velocity vector of a display cursor
US4216467A (en) * 1977-12-22 1980-08-05 Westinghouse Electric Corp. Hand controller
US4638798A (en) * 1980-09-10 1987-01-27 Shelden C Hunter Stereotactic method and apparatus for locating and treating or removing lesions
JPS57169643A (en) * 1981-04-13 1982-10-19 Yamato Scale Co Ltd Load cell for multiple components of force
JPS58177292A (ja) * 1982-04-05 1983-10-17 株式会社豊田中央研究所 工業用ロボツトア−ム及びその製造方法
US4477973A (en) * 1982-07-14 1984-10-23 Micro Control Systems, Inc. Three dimensional graphics tablet
US4593470A (en) * 1982-07-14 1986-06-10 Micro Control Systems, Inc. Portable three dimensional graphics tablet
FR2545606B1 (fr) * 1983-05-06 1985-09-13 Hispano Suiza Sa Capteur de torseur de forces
GB2146776B (en) * 1983-09-16 1986-07-30 Ferranti Plc Accelerometer systems
US4550221A (en) * 1983-10-07 1985-10-29 Scott Mabusth Touch sensitive control device
JPS60170709A (ja) * 1984-02-16 1985-09-04 Toshiba Corp 形状測定装置
US4571834A (en) * 1984-02-17 1986-02-25 Orthotronics Limited Partnership Knee laxity evaluator and motion module/digitizer arrangement
US4688983A (en) * 1984-05-21 1987-08-25 Unimation Inc. Low cost robot
US4676002A (en) * 1984-06-25 1987-06-30 Slocum Alexander H Mechanisms to determine position and orientation in space
JPS61105411A (ja) * 1984-10-29 1986-05-23 Mitsutoyo Mfg Co Ltd 多次元測定機の測定方法
US4654648A (en) * 1984-12-17 1987-03-31 Herrington Richard A Wireless cursor control system
US4632341A (en) * 1985-02-06 1986-12-30 The United States Of America As Represented By The Secretary Of The Air Force Stabilizing force feedback in bio-actuated control systems
DE3523188A1 (de) * 1985-06-28 1987-01-08 Zeiss Carl Fa Steuerung fuer koordinatenmessgeraete
US4704909A (en) * 1985-07-22 1987-11-10 Grahn Allen R Multicomponent force-torque sensor
US4679331A (en) * 1985-08-26 1987-07-14 Ppg Industries, Inc. Apparatus and method for determining contour characteristics of a contoured article
US5103404A (en) * 1985-12-06 1992-04-07 Tensor Development, Inc. Feedback for a manipulator
US4811608A (en) * 1985-12-18 1989-03-14 Spatial Systems Pty Limited Force and torque converter
US5591924A (en) 1985-12-18 1997-01-07 Spacetec Imc Corporation Force and torque converter
GB8605324D0 (en) * 1986-03-04 1986-04-09 Rank Taylor Hobson Ltd Metrological apparatus
US4787051A (en) * 1986-05-16 1988-11-22 Tektronix, Inc. Inertial mouse system
US4803413A (en) * 1986-07-15 1989-02-07 Honeywell Inc. Magnetic isolating and pointing gimbal apparatus
US4791934A (en) * 1986-08-07 1988-12-20 Picker International, Inc. Computer tomography assisted stereotactic surgery system and method
SE464855B (sv) * 1986-09-29 1991-06-24 Asea Ab Foerfarande vid en industrirobot foer kalibrering av en sensor
US4945305A (en) * 1986-10-09 1990-07-31 Ascension Technology Corporation Device for quantitatively measuring the relative position and orientation of two bodies in the presence of metals utilizing direct current magnetic fields
US4849692A (en) * 1986-10-09 1989-07-18 Ascension Technology Corporation Device for quantitatively measuring the relative position and orientation of two bodies in the presence of metals utilizing direct current magnetic fields
NL8602697A (nl) * 1986-10-27 1988-05-16 Huka Bv Developments Joystick.
US4750487A (en) * 1986-11-24 1988-06-14 Zanetti Paul H Stereotactic frame
CA1299362C (en) * 1986-12-10 1992-04-28 Gregory James Mcdonald Coordinate measuring system
US4945501A (en) * 1987-01-20 1990-07-31 The Warner & Swasey Company Method for determining position within the measuring volume of a coordinate measuring machine and the like and system therefor
US4819195A (en) * 1987-01-20 1989-04-04 The Warner & Swasey Company Method for calibrating a coordinate measuring machine and the like and system therefor
US4857816A (en) * 1987-02-05 1989-08-15 Joseph Rogozinski Precise positioning apparatus
US4800721A (en) * 1987-02-13 1989-01-31 Caterpillar Inc. Force feedback lever
US4839838A (en) * 1987-03-30 1989-06-13 Labiche Mitchell Spatial input apparatus
GB2204131B (en) * 1987-04-28 1991-04-17 Ibm Graphics input tablet
US4961138A (en) * 1987-05-01 1990-10-02 General Datacomm, Inc. System and apparatus for providing three dimensions of input into a host processor
IT1214292B (it) * 1987-05-05 1990-01-10 Garda Impianti Srl Apparecchiatura per la misura e/o il controllo della posizione edella orientazione di punti o zone caratteristiche di strutture, in particolare di scocche di autoveicoli.
DE3717459A1 (de) * 1987-05-23 1988-12-01 Zeiss Carl Fa Handgefuehrtes koordinatenmessgeraet
US4840634A (en) * 1987-06-10 1989-06-20 Clayton Foundation For Research Calibration controller for controlling electrically operated machines
US4775289A (en) * 1987-09-25 1988-10-04 Regents Of The University Of Minnesota Statically-balanced direct-drive robot arm
US4841762A (en) * 1987-10-27 1989-06-27 Automatix Incorporated Symmetry calibration method for multi-configuration robots
DE3740070A1 (de) * 1987-11-26 1989-06-08 Zeiss Carl Fa Dreh-schwenk-einrichtung fuer tastkoepfe von koordinatenmessgeraeten
GB8729638D0 (en) * 1987-12-19 1988-02-03 Renishaw Plc Mounting for surface sensing device
US5251127A (en) * 1988-02-01 1993-10-05 Faro Medical Technologies Inc. Computer-aided surgery apparatus
SE461548B (sv) * 1988-02-18 1990-02-26 Johansson Ab C E Foerfarande och anordning foer bestaemning av och korrigering foer laegesfel vid maetning av en punkts laege eller vid positionering till en punkt med ett bestaemt laege
GB8803847D0 (en) * 1988-02-18 1988-03-16 Renishaw Plc Mounting for surface-sensing device
US4907970A (en) * 1988-03-30 1990-03-13 Grumman Aerospace Corporation Sidestick-type thrust control simulator
US4942545A (en) * 1988-06-06 1990-07-17 Combustion Engineering, Inc. Calibration of eddy current profilometry
US5050608A (en) * 1988-07-12 1991-09-24 Medirand, Inc. System for indicating a position to be operated in a patient's body
DE58903515D1 (de) * 1988-10-03 1993-03-25 Zeiss Carl Fa Pruefkoerper fuer koordinatenmessgeraete.
US5007085A (en) * 1988-10-28 1991-04-09 International Business Machines Corporation Remotely sensed personal stylus
US4907973A (en) * 1988-11-14 1990-03-13 Hon David C Expert system simulator for modeling realistic internal environments and performance
US5189806A (en) * 1988-12-19 1993-03-02 Renishaw Plc Method of and apparatus for scanning the surface of a workpiece
US4949119A (en) * 1989-01-12 1990-08-14 Atari Games Corporation Gearshift for a vehicle simulator using computer controlled realistic real world forces
US5116051A (en) * 1989-01-12 1992-05-26 Atari Games Corporation Strain gauge pressure-sensitive video game control
JPH02220106A (ja) * 1989-02-22 1990-09-03 Okuma Mach Works Ltd 計測機能を有するデジタイズ制御装置
GB8904955D0 (en) * 1989-03-03 1989-04-12 Atomic Energy Authority Uk Multi-axis hand controller
GB8906287D0 (en) * 1989-03-18 1989-05-04 Renishaw Plc Probe calibration
JPH02284885A (ja) * 1989-04-27 1990-11-22 Nissan Motor Co Ltd ワーク位置決め装置の位置教示方法
JPH02290506A (ja) * 1989-04-28 1990-11-30 Mitsutoyo Corp 三次元測定機
US5184306A (en) * 1989-06-09 1993-02-02 Regents Of The University Of Minnesota Automated high-precision fabrication of objects of complex and unique geometry
JPH07104146B2 (ja) * 1989-08-29 1995-11-13 株式会社ミツトヨ 座標測定用プローブの回転テーブル倣い制御方法
US5139261A (en) * 1989-09-15 1992-08-18 Openiano Renato M Foot-actuated computer game controller serving as a joystick
US5182557A (en) * 1989-09-20 1993-01-26 Semborg Recrob, Corp. Motorized joystick
FR2652180B1 (fr) 1989-09-20 1991-12-27 Mallet Jean Laurent Procede de modelisation d'une surface et dispositif pour sa mise en óoeuvre.
US5209131A (en) * 1989-11-03 1993-05-11 Rank Taylor Hobson Metrology
US5126948A (en) * 1989-11-08 1992-06-30 Ltv Aerospace And Defense Company Digital position encoder and data optimizer
US4983786A (en) * 1990-01-17 1991-01-08 The University Of British Columbia XY velocity controller
US5259894A (en) * 1990-01-26 1993-11-09 Sampson Richard K Method for solvent bonding non-porous materials to automatically create variable bond characteristics
US5072361A (en) * 1990-02-01 1991-12-10 Sarcos Group Force-reflective teleoperation control system
US5184319A (en) * 1990-02-02 1993-02-02 Kramer James F Force feedback and textures simulating interface device
DE4005292A1 (de) * 1990-02-20 1991-08-22 Zeiss Carl Fa Koordinatenmessgeraet
JPH03251378A (ja) * 1990-02-28 1991-11-08 Fanuc Ltd ロボットのキャリブレーション方式
US5095303A (en) * 1990-03-27 1992-03-10 Apple Computer, Inc. Six degree of freedom graphic object controller
US5132672A (en) * 1990-03-27 1992-07-21 Apple Computer, Inc. Three degree of freedom graphic object controller
US5128671A (en) * 1990-04-12 1992-07-07 Ltv Aerospace And Defense Company Control device having multiple degrees of freedom
US5251156A (en) * 1990-08-25 1993-10-05 Carl-Zeiss-Stiftung, Heidenheim/Brenz Method and apparatus for non-contact measurement of object surfaces
US5208763A (en) * 1990-09-14 1993-05-04 New York University Method and apparatus for determining position and orientation of mechanical objects
US5181181A (en) * 1990-09-27 1993-01-19 Triton Technologies, Inc. Computer apparatus input device for three-dimensional information
WO1992007350A1 (en) * 1990-10-15 1992-04-30 National Biomedical Research Foundation Three-dimensional cursor control device
US5142506A (en) * 1990-10-22 1992-08-25 Logitech, Inc. Ultrasonic position locating method and apparatus therefor
US5193963A (en) * 1990-10-31 1993-03-16 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Force reflecting hand controller
US5098437A (en) * 1991-02-13 1992-03-24 Pfizer Hospital Products Group, Inc. Acetabular cup positioning insert
US5142931A (en) * 1991-02-14 1992-09-01 Honeywell Inc. 3 degree of freedom hand controller
US5354162A (en) * 1991-02-26 1994-10-11 Rutgers University Actuator system for providing force feedback to portable master support
US5143505A (en) * 1991-02-26 1992-09-01 Rutgers University Actuator system for providing force feedback to a dextrous master glove
JPH04275888A (ja) * 1991-02-28 1992-10-01 Toyoda Mach Works Ltd ロボットの原点割出し装置
US5131844A (en) * 1991-04-08 1992-07-21 Foster-Miller, Inc. Contact digitizer, particularly for dental applications
GB9108497D0 (en) 1991-04-20 1991-06-05 Ind Limited W Human/computer interface
WO1992021117A1 (en) * 1991-05-23 1992-11-26 Atari Games Corporation Modular display simulator
US5178012A (en) * 1991-05-31 1993-01-12 Rockwell International Corporation Twisting actuator accelerometer
US5279309A (en) * 1991-06-13 1994-01-18 International Business Machines Corporation Signaling device and method for monitoring positions in a surgical operation
JP2514490B2 (ja) * 1991-07-05 1996-07-10 株式会社ダイヘン 産業用ロボットの連動手動操作による教示制御方法
US5185561A (en) * 1991-07-23 1993-02-09 Digital Equipment Corporation Torque motor as a tactile feedback device in a computer system
EP0526056B1 (en) * 1991-07-27 1996-01-31 Renishaw Transducer Systems Limited Calibration and measurement device
US5262777A (en) * 1991-11-16 1993-11-16 Sri International Device for generating multidimensional input signals to a computer
US5220260A (en) * 1991-10-24 1993-06-15 Lex Computer And Management Corporation Actuator having electronically controllable tactile responsiveness
SE469158B (sv) * 1991-11-01 1993-05-24 Nobelpharma Ab Dental avkaenningsanordning avsedd att anvaendas i samband med styrning av en verkstadsutrustning
US5228356A (en) * 1991-11-25 1993-07-20 Chuang Keh Shih K Variable effort joystick
US5230623A (en) * 1991-12-10 1993-07-27 Radionics, Inc. Operating pointer with interactive computergraphics
GB9201214D0 (en) 1992-01-21 1992-03-11 Mcmahon Michael J Surgical retractors
CA2062147C (en) * 1992-03-02 1995-07-25 Kenji Hara Multi-axial joy stick device
US5246316A (en) * 1992-03-06 1993-09-21 Excellon Automation Work table orientation apparatus and method
JP3199130B2 (ja) 1992-03-31 2001-08-13 パイオニア株式会社 3次元座標入力装置
US5245320A (en) * 1992-07-09 1993-09-14 Thrustmaster, Inc. Multiport game card with configurable address
US5428748A (en) * 1992-09-24 1995-06-27 National Semiconductor Corporation Method and apparatus for automatically configuring a computer peripheral
US5264768A (en) * 1992-10-06 1993-11-23 Honeywell, Inc. Active hand controller feedback loop
US5467289A (en) 1992-10-15 1995-11-14 Mitutoyo Corporation Method of and an apparatus for measuring surface contour
US5397323A (en) * 1992-10-30 1995-03-14 International Business Machines Corporation Remote center-of-motion robot for surgery
US5347476A (en) * 1992-11-25 1994-09-13 Mcbean Sr Ronald V Instrumentation system with multiple sensor modules
US5389865A (en) * 1992-12-02 1995-02-14 Cybernet Systems Corporation Method and system for providing a tactile virtual reality and manipulator defining an interface device therefor
US5629594A (en) 1992-12-02 1997-05-13 Cybernet Systems Corporation Force feedback system
US5412880A (en) * 1993-02-23 1995-05-09 Faro Technologies Inc. Method of constructing a 3-dimensional map of a measurable quantity using three dimensional coordinate measuring apparatus
US5402582A (en) * 1993-02-23 1995-04-04 Faro Technologies Inc. Three dimensional coordinate measuring apparatus
US5611147A (en) * 1993-02-23 1997-03-18 Faro Technologies, Inc. Three dimensional coordinate measuring apparatus
JPH07102510B2 (ja) * 1993-05-21 1995-11-08 工業技術院長 マイクロマニピュレータ
US5429140A (en) * 1993-06-04 1995-07-04 Greenleaf Medical Systems, Inc. Integrated virtual reality rehabilitation system
US5396266A (en) * 1993-06-08 1995-03-07 Technical Research Associates, Inc. Kinesthetic feedback apparatus and method
US5351692A (en) * 1993-06-09 1994-10-04 Capistrano Labs Inc. Laparoscopic ultrasonic probe
US5513100A (en) 1993-06-10 1996-04-30 The University Of British Columbia Velocity controller with force feedback stiffness control
US5601084A (en) 1993-06-23 1997-02-11 University Of Washington Determining cardiac wall thickness and motion by imaging and three-dimensional modeling
SE501410C2 (sv) * 1993-07-12 1995-02-06 Nobelpharma Ab Förfarande och anordning i samband med framställning av tand, brygga, etc
US5724264A (en) 1993-07-16 1998-03-03 Immersion Human Interface Corp. Method and apparatus for tracking the position and orientation of a stylus and for digitizing a 3-D object
CA2167304C (en) 1993-07-16 1998-04-21 Louis B. Rosenberg Multi degree of freedom human-computer interface with tracking and forcefeedback
US5429682A (en) * 1993-08-19 1995-07-04 Advanced Robotics Technologies Automated three-dimensional precision coatings application apparatus
EP0640902A3 (en) * 1993-08-26 1996-11-06 Faro Technologies Method for programming multi-axis devices controlled by computer.
DE4330873A1 (de) 1993-09-13 1995-03-16 Zeiss Carl Fa Koordinatenmeßgerät mit einem Tastkopf und einer Elektronik zur Verarbeitung des Tastsignals
US5625576A (en) 1993-10-01 1997-04-29 Massachusetts Institute Of Technology Force reflecting haptic interface
US5384460A (en) * 1993-11-03 1995-01-24 Silitek Corporation Encoder with a light emitting editing wheel
SE501867C2 (sv) * 1993-11-15 1995-06-12 Asea Brown Boveri Förfarande och system för kalibrering av en industrirobot utnyttjande en sfärisk kalibreringskropp
WO1995020787A1 (en) 1994-01-27 1995-08-03 Exos, Inc. Multimode feedback display technology
US5436542A (en) * 1994-01-28 1995-07-25 Surgix, Inc. Telescopic camera mount with remotely controlled positioning
US5623582A (en) 1994-07-14 1997-04-22 Immersion Human Interface Corporation Computer interface or control input device for laparoscopic surgical instrument and other elongated mechanical objects
US5510977A (en) 1994-08-02 1996-04-23 Faro Technologies Inc. Method and apparatus for measuring features of a part or item
US5642469A (en) 1994-11-03 1997-06-24 University Of Washington Direct-drive manipulator for pen-based force display
US5837090A (en) * 1994-12-08 1998-11-17 Raytheon Company Precision aligning and joining of two articles using a flowable adhesive
US5694013A (en) 1996-09-06 1997-12-02 Ford Global Technologies, Inc. Force feedback haptic interface for a three-dimensional CAD surface

Also Published As

Publication number Publication date
WO1997006410A1 (en) 1997-02-20
EP0843808A4 (en) 1998-09-30
CA2228587C (en) 2005-11-01
EP1424538B1 (en) 2010-07-07
EP1424538A1 (en) 2004-06-02
DE69631144D1 (de) 2004-01-29
CA2228587A1 (en) 1997-02-20
US5724264A (en) 1998-03-03
DE69638212D1 (de) 2010-08-19
DE69631144T2 (de) 2004-08-26
EP0843808A1 (en) 1998-05-27
US6015473A (en) 2000-01-18
US6125337A (en) 2000-09-26
US6134506A (en) 2000-10-17
EP0843808B1 (en) 2003-12-17
US6078876A (en) 2000-06-20

Similar Documents

Publication Publication Date Title
ES2213181T3 (es) Procedimiento de reposicion a cero de los captadores de un aparato con sonda de un sistema de medicion de coordenadas de 3-d.
US7054775B2 (en) Digitizing system and rotary table for determining 3-D geometry of an object
KR101026611B1 (ko) 긴 물체의 방향변수를 결정하는 장치 및 방법
US7113270B2 (en) Determination of an orientation parameter of an elongate object with a scan beam apparatus
US5440326A (en) Gyroscopic pointer
JP4693789B2 (ja) 面積測定のための装置
US5818424A (en) Rod shaped device and data acquisition apparatus for determining the position and orientation of an object in space
US8384698B2 (en) Direct navigation of two-dimensional control using a three-dimensional pointing device
JP2007515655A (ja) 不変特徴部を有する平面上で長寸の物体の先端の絶対位置を決定するための方法及び装置
JPH09114586A (ja) ペン先座標入力装置
EP1840507B1 (en) Method and integrated system for the digital survey of three-dimensional environments.
JP2003123088A (ja) 図形描画方法および図形測定方法
JP2006323454A (ja) 三次元指示入力システム、三次元指示入力装置、三次元指示入力方法およびプログラム
CN113384347B (zh) 一种机器人标定方法、装置、设备及存储介质
JPH06230886A (ja) ペンシル型入力装置
KR20050063469A (ko) 지자기 센서를 이용한 3차원 위치 입력 장치 및 상기 위치입력 장치를 위한 기록 매체
JP2002268807A (ja) 座標入力装置、座標入力機能を実行するプログラムおよび該プログラムを記録した記録媒体
JP4256555B2 (ja) 座標入力/検出装置、電子黒板システム、座標位置検出方法及び記憶媒体
BR102022011560A2 (pt) Sistema de medição bi e tridimensional
JPH08114451A (ja) 測量機の機械高測定方法および測定器
JPH0675693A (ja) 3次元ポインティング装置
RU2180134C2 (ru) Манипулятор "черепаха прохорова"
KR100311662B1 (ko) 화면상에서의3차원제어방법및그장치
JP6258730B2 (ja) 測量装置
Schoenfelder et al. The Planar: a mobile VR tool with pragmatic pose estimation for generation and manipulation of 3D data in industrial environments