ES2855179T3 - Dispositivo, sistema y métodos para la optimización y el desarrollo automáticos de rutas de posicionamiento para mecanizado multieje controlado numéricamente - Google Patents

Dispositivo, sistema y métodos para la optimización y el desarrollo automáticos de rutas de posicionamiento para mecanizado multieje controlado numéricamente Download PDF

Info

Publication number
ES2855179T3
ES2855179T3 ES14832853T ES14832853T ES2855179T3 ES 2855179 T3 ES2855179 T3 ES 2855179T3 ES 14832853 T ES14832853 T ES 14832853T ES 14832853 T ES14832853 T ES 14832853T ES 2855179 T3 ES2855179 T3 ES 2855179T3
Authority
ES
Spain
Prior art keywords
machine
configuration
path
positioning
tool
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.)
Active
Application number
ES14832853T
Other languages
English (en)
Other versions
ES2855179T8 (es
Inventor
Fard Mohammad Javad Barakchi
Adam Nowak
Brian R Francis
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.)
Icam Res Corp
Original Assignee
Icam Res 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
Priority claimed from US13/957,949 external-priority patent/US9465380B2/en
Priority claimed from CA2822563A external-priority patent/CA2822563C/en
Application filed by Icam Res Corp filed Critical Icam Res Corp
Application granted granted Critical
Publication of ES2855179T3 publication Critical patent/ES2855179T3/es
Publication of ES2855179T8 publication Critical patent/ES2855179T8/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4061Avoiding collision or forbidden zones
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4069Simulating machining process on screen
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35303Dry run, compare simulated output with desired finished profile, alarm, inhibit
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35346VMMC: virtual machining measuring cell simulate machining process with modeled errors, error prediction
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50047Positioning, indexing

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

Método para la generación de datos de ruta de posicionamiento para un programa NC para una máquina (1610, 1612) de control numérico computarizado (CNC), comprendiendo el método: determinar, mediante un dispositivo de cómputo (1602, 1606), una configuración de máquina de comienzo (1104) y una configuración de máquina objetivo (1106) en un espacio de configuración de máquina; identificar, mediante el dispositivo de cómputo (1602, 1606), unas respectivas regiones que rodean una o más características relevantes de un lugar de mecanizado en el espacio de configuración de máquina para muestreo de configuraciones de máquina posibles; determinar, mediante el dispositivo de cómputo (1602, 1606), una pluralidad de configuraciones de máquina posibles a partir de cada una de dicha una o más regiones identificadas en el espacio de configuración de máquina; determinar, mediante el dispositivo de cómputo (1602, 1606), una ruta de posicionamiento (1112, 1114, 1116) a partir de la pluralidad de configuraciones de máquina posibles que conectan la configuración de máquina de comienzo (1104) con la configuración de máquina objetivo (1106); determinar, mediante el dispositivo de cómputo (1602, 1606), si la ruta de posicionamiento (1112, 1114, 1116) determinada es válida utilizando una simulación de la máquina CNC (1610, 1612), donde la ruta de posicionamiento es válida cuando las limitaciones de mecanizado no son violadas; y generar, mediante el dispositivo de cómputo (1602, 1606), unos datos de ruta de posicionamiento para mover una herramienta de la máquina CNC (1610, 1612) a lo largo de la ruta de posicionamiento determinada, si se determina que la ruta de posicionamiento es válida.

Description

DESCRIPCIÓN
Dispositivo, sistema y métodos para la optimización y el desarrollo automáticos de rutas de posicionamiento para mecanizado multieje controlado numéricamente
Campo de la Invención
La descripción actual se refiere a un dispositivo, sistema y métodos para la generación de un programa de control para una máquina multieje controlada numéricamente (NC) que determina automáticamente y minimiza o reduce el posicionamiento de rutas de una herramienta en tanto que evita la colisión de herramientas o piezas de trabajo.
Antecedentes
El control numérico (NC, por sus siglas en inglés) es un método de operación automática de una máquina herramienta basado en letras de código, valores numéricos discretos, y caracteres especiales. Una máquina herramienta de control numérico computarizado (CNC) es una máquina herramienta NC que se controla mediante computadoras. Las máquinas herramienta CNC se utilizan para mecanizar una pieza de trabajo a una forma acabada al proporcionar un movimiento relativo entre la pieza de trabajo y la herramienta de corte. Este movimiento relativo se puede proporcionar de forma diferente para varias operaciones ya sea al mantener estacionaria la pieza de trabajo y moviendo la herramienta de corte, como en perforación, o al mantener estacionaria la herramienta de corte y haciendo girar la pieza de trabajo, como en torneado.
Una máquina herramienta CNC está equipada con diferentes ejes de movimiento con el fin de proporcionar el movimiento relativo necesario entre la herramienta de corte y la pieza de trabajo. Cada uno de estos ejes tiene un dispositivo de accionamiento que puede ser un motor CD, un accionador hidráulico, o un motor a pasos.
La figura 1 ilustra una máquina CNC multieje 100. La máquina incluye una herramienta de mecanizado o corte 102 que se puede mover con respecto a una pieza de trabajo 118 a lo largo de una pluralidad de diferentes ejes. Como se representa en la figura 1, la máquina herramienta se puede mover a lo largo de tres ejes lineales y ortogonales es decir el eje X 104, el eje Y 106 y el eje Z 108. Aunque se representan como que son ortogonales, es posible que la máquina herramienta se pueda mover a lo largo de una pluralidad de ejes no ortogonales. De forma adicional la máquina herramienta 102 puede girar alrededor de uno o más ejes. La rotación se representa como siendo alrededor del eje A 110, el eje B 112 y el eje C 114. Los ejes A, B y C se representan como siendo paralelos con los ejes X, Y, y Z sin embargo, los ejes no necesitan ser paralelos. La pieza de trabajo 118 está posicionada sobre una mesa de máquina 116 en una ubicación conocida que permite la traslación de las coordenadas de la pieza de trabajo Xw 120, Yw 122, Zx 124 a las coordenadas de máquina para permitir el mecanizado de la pieza de trabajo. Aunque el movimiento de la herramienta de mecanizado 102 se representa como produciéndose en la propia herramienta 102, se señala que el movimiento es con respecto a la pieza de trabajo, y como tal, el movimiento de la pieza de trabajo o herramienta, o una combinación de las mismas puede producir los mismos resultados. Por ejemplo, la herramienta 102 puede girar alrededor de los ejes A, B y C y viajar a lo largo del eje Z en tanto que la mesa 116 mueve la pieza de trabajo en los ejes X, e Y Las máquinas multieje permiten generalmente el movimiento alrededor de los ejes X, Y y Z y uno o más, y convencionalmente 2 de los ejes de rotación A, B y C. El movimiento entre la herramienta y la pieza de trabajo se puede proporcionar por el movimiento del cabezal de la herramienta y/o la pieza de trabajo o una plataforma a la que está fijada la pieza de trabajo.
Se puede utilizar software CAD/CAM para especificar el movimiento de una herramienta con respecto a la pieza de trabajo necesario para producir una parte de una pieza de trabajo. El software CAD/CAM produce una pluralidad de rutas de herramienta que incluyen rutas de corte, que son rutas en las cuales la herramienta está en contacto con la pieza de trabajo con el fin de eliminar material para formar la parte, y rutas de posicionamiento, que posicionan la herramienta hacia o desde rutas de corte sin contacto con los objetos en el lugar de mecanizado. Los objetos del lugar de mecanizado pueden incluir la propia pieza de trabajo, accesorios que aseguran la pieza de trabajo, así como piezas de la máquina o cualquier otro objeto con los cuales puede chocar la herramienta. Típicamente, las rutas de posicionamiento son atravesadas por movimientos rápidos que utilizan la velocidad máxima de los ejes de máquina o una alta velocidad.
La figura 2A representa una configuración inicial de una herramienta de corte con respecto a una pieza de trabajo. La figura 2B representa unas rutas de corte y posicionamiento para producir una parte de la pieza de trabajo. Una herramienta 204 está en una posición inicial con respecto a la pieza de trabajo 202 como se representa en la figura 2A. Como se representa en la figura 2B, la herramienta 204 se mueve a lo largo de una ruta de posicionamiento A 206 a una posición de comienzo 208 de una ruta de corte. La ruta de corte B 210 mueve la herramienta a la ubicación de extremo 212 de la ruta de corte B que provoca la eliminación del material 240. La herramienta entonces se vuelve a posicionar en la posición de comienzo 230 de la siguiente ruta de corte mediante la ruta de posicionamiento C 218. La ruta de posicionamiento C comprende tres movimientos 220, 224, 228. Primero, la herramienta se retrae a una posición 222 en o por encima de un plano de espacio libre 216. Después la herramienta se mueve a una posición 226 por encima de la posición de comienzo 230 de la siguiente ruta de corte. Finalmente, la herramienta se desciende 228 a la posición de comienzo 230. La herramienta se mueve a lo largo de la ruta de corte D 232 desde la posición de comienzo 230 hasta la posición de fin 234 y entonces se mueve a lo largo de la ruta de posicionamiento A 236. La ruta de posicionamiento de nuevo retrae la herramienta a la posición 238 por encima del plano de espacio libre 216.
La figura 3 representa el proceso del diseño y producción de una pieza en una máquina CNC. Con el fin de mecanizar una parte de una pieza de trabajo, la parte se diseña en una aplicación de diseño asistido por computadora (c Ad , por sus siglas en inglés) 302 y se pueden desarrollar instrucciones de mecanizado neutro en una aplicación de fabricación asistida por computadora (CAM, por sus siglas en inglés) 302. Las instrucciones de mecanizado neutro especifican el movimiento de la herramienta o herramientas como una pluralidad de ubicaciones de cortador. La aplicación CAM genera rutas de herramienta que especifican el movimiento de una herramienta con respecto a la pieza de trabajo. Las rutas de herramienta incluyen rutas de corte, en las cuales la herramienta se mueve con respecto a la pieza de trabajo y está en contacto con la pieza de trabajo, y rutas de no corte o posicionamiento, en las cuales la herramienta está posicionada de una ubicación a otra sin contacto con la pieza de trabajo u otros componentes. Como se representa, la aplicación CAD/CAM 302 puede sacar las rutas de herramienta como datos de ubicación de cortador (datos CL) 304. Los datos CL 304 especifican la ubicación de herramienta, y otras características de mecanizado tal como velocidad de avance, velocidad de posicionamiento, velocidad de corte, etc., de una forma que se puede traducir posteriormente en instrucciones específicas de la máquina. Los datos CL 304 comprenden una o más rutas de corte 306, 310, 314 cada una de las cuales comprende una configuración de comienzo de la herramienta y una configuración de fin de la herramienta. La herramienta se mueve entre rutas de corte mediante unas rutas de posicionamiento respectivas 308, 312. Las rutas de posicionamiento se pueden desarrollar en la aplicación CAD/CAM 302 al proporcionar un plano de espacio libre especificado por el usuario que se define con respecto a la geometría y coordenadas de la pieza de trabajo. Un enfoque similar es para que el usuario defina una o más zonas de seguridad. En cualquier caso, la aplicación CAM retrae la herramienta a la zona segura, o al plano de espacio libre y entonces se mueve dentro del plano de espacio libre o zona de seguridad para alcanzar la siguiente ubicación de corte, y finalmente se mueve al comienzo de la siguiente ubicación de corte. De forma adicional o alternativa, la aplicación CAD/CAM puede permitir que el usuario especifique las rutas de posicionamiento de forma manual al definir movimientos a lo largo de diferentes direcciones. Independientemente de cómo se generen las rutas de posicionamiento, puede ser necesaria una interacción considerable con el usuario para producir rutas de posicionamiento seguras para una máquina particular.
Con el fin de mecanizar una pieza de acuerdo con los datos CL especificados, los datos CL se deben transformar en un código dependiente de máquina para la máquina particular que se utiliza para mecanizar la pieza. Esta traducción se realiza por un postprocesador NC 316. El postprocesador 316 recibe unos ajustes de controlador 318, y una selección de máquina 320 que especifica una máquina particular que se utilizará para mecanizar la pieza. El postprocesador transforma los datos CL 304 en un programa NC específico de la máquina 324. El postprocesador 316 genera el programa NC utilizando información acerca de la cinemática de la máquina seleccionada 322, que es información acerca de cómo la máquina seleccionada proporciona el movimiento relativo entre la herramienta y la pieza de trabajo. Como se representa, el programa NC 324 se puede ejecutar por una simulación de la máquina CNC 326 con el fin de verificar que son válidas las rutas de posicionamiento y rutas de corte, es decir que no haya colisiones entre objetos en el lugar de mecanizado y se respeten los límites de desplazamiento de máquina. La simulación de la máquina CNC 326 también puede verificar la sintaxis del programa NC para asegurar que utiliza una sintaxis apropiada. Si el programa NC comprende unas rutas de corte y unas rutas de posicionamiento 330 válidas, el programa NC se puede ejecutar en la máquina CNC 332 para producir la pieza.
El programa NC 324 primero se ejecuta típicamente en un simulador de máquina CNC 326 para asegurar que el programa NC 324 no provoque colisiones o viole los límites de desplazamiento de máquina. Las rutas de posicionamiento de no corte generadas por aplicaciones CAM para mecanizado multieje pueden ser inseguras e ineficientes. Esto es debido principalmente a que las aplicaciones CAM ignoran las características de máquina particulares de la máquina CNC que se usarán para producir la pieza. Las características de máquina pueden incluir, por ejemplo, cinemática de la máquina herramienta, velocidades de desplazamiento de eje, aceleración de eje, limitaciones de desplazamiento, metodologías de posicionamiento, y configuración de la pieza de trabajo en la generación de las rutas de posicionamiento de herramienta. En consecuencia, se deben ajustar rutas de posicionamiento o rutas de corte inválidas 328 en la aplicación CAM mediante prueba y error. Una vez que el usuario ha ajustado las rutas de posicionamiento, el programa NC se puede generar y probar de nuevo. Este proceso de prueba y error se debe repetir hasta que se definan rutas de posicionamiento exitosas en la aplicación CAM. El proceso de prueba y error para la generación de rutas de posicionamiento para una máquina CNC particular puede requerir una interacción considerable con el usuario.
No es deseable la prueba y error por un usuario que debe especificar rutas de posicionamiento seguras para una máquina específica. Además, una vez que se genera un programan NC con rutas de posicionamiento seguras, es específico de la máquina y el proceso de prueba y error que consume tiempo se necesita llevar a cabo de nuevo si la pieza se va a mecanizar en una máquina diferente con una cinemática de máquina diferente. Además, las rutas de posicionamiento desarrolladas por el proceso de prueba y error pueden no ser las rutas de posicionamiento óptimas que dan como resultado un tiempo de mecanizado más largo.
Es deseable una alternativa para el desarrollo de rutas de posicionamiento. A este respecto, puede ser beneficioso desarrollar de forma automática rutas de posicionamiento sin interacción sustancial con el usuario como una alternativa a las técnicas actuales para el desarrollo de rutas de posicionamiento.
El documento US20110087634 divulga un control de sistema de máquina herramienta con un reposicionamiento automático seguro. El documento US20100292822 divulga un aparato para generar datos de control para controlar una herramienta en una máquina herramienta.
Sumario
La presente invención es definida por las características de las reivindicaciones adjuntas.
De acuerdo con la presente divulgación, se proporciona un método para generar datos de ruta de posicionamiento para una máquina de control numérico computarizado (CNC), comprendiendo el método determinar una configuración de comienzo y una configuración objetivo de una herramienta en un espacio de configuración de máquina; identificar unas respectivas regiones que rodean una o más características relevantes de un lugar de mecanizado en el espacio de configuración de máquina para muestreo de posibles configuraciones; determinar una pluralidad de posibles configuraciones a partir de cada una de dicha una o más regiones identificadas en el espacio de configuración de máquina; determinar una ruta de posicionamiento a partir de la pluralidad de configuraciones posibles que conectan la configuración de comienzo con la configuración objetivo; determinar si la ruta de posicionamiento determinada es válida utilizando una simulación de la máquina CNC; y generar datos de ruta de posicionamiento para mover la herramienta de la máquina CNC a lo largo de la ruta de posicionamiento determinada si se determina que la ruta de posicionamiento es válida.
En una forma de realización adicional, el método puede comprender además determinar una ruta de posicionamiento inicial que conecta la configuración de comienzo con la configuración objetivo sin violar limitaciones de mecanizado; y en el que la ruta de posicionamiento determinada a partir de la pluralidad de posibles configuraciones se determina que tiene un menor coste de tiempo asociado que un coste de tiempo de la ruta de posicionamiento inicial.
En una forma de realización adicional, la determinación de la ruta de posicionamiento inicial puede comprender: determinar una primera configuración intermedia al desplazar la configuración de comienzo una primera distancia en una primera dirección preferida; determinar una segunda configuración intermedia al desplazar la configuración objetivo una segunda distancia en una segunda dirección preferida; conectar la primera configuración intermedia con la segunda configuración intermedia; y optimizar un tiempo de desplazamiento de la ruta de posicionamiento al reducir la primera distancia y la segunda distancia sin provocar que la ruta de posicionamiento inicial viole las limitaciones de mecanizado.
En una forma de realización adicional, la primera distancia y la segunda distancia que se reducen son las mismas distancias.
En una forma de realización adicional, el método puede comprender asimismo: determinar si la ruta de posicionamiento inicial viola las limitaciones de mecanizado; y si la ruta de posicionamiento inicial viola las limitaciones de mecanizado: trasladar las configuraciones de comienzo y las configuraciones objetivo en otras direcciones preferidas respectivas; y conectar la primera configuración intermedia con la segunda configuración intermedia.
En una forma de realización adicional, la primera dirección preferida, la segunda dirección preferida, y las otras direcciones preferidas se seleccionan de entre una o más de entre: una dirección basada en una orientación de eje de herramienta de la configuración de comienzo; una dirección basada en una orientación de eje de herramienta de la configuración objetivo; y una dirección basada en un eje de control de la máquina CNC.
En una forma de realización adicional, se determina un coste de tiempo asociado con una ruta al simular el movimiento de la máquina CNC.
En una forma de realización adicional, la simulación del movimiento de la máquina CNC comprende simular los límites de aceleración en ejes de máquina cuando se determina el coste de tiempo.
En una forma de realización adicional, se determina un coste de tiempo asociado con una ruta utilizando una longitud de la ruta y velocidades de desplazamiento conocidas a lo largo de los ejes de máquina.
En una forma de realización adicional, la determinación de si una ruta viola las limitaciones de mecanizado comprende utilizar un simulador de la máquina CNC para determinar si la ruta es válida o no.
En una forma de realización adicional, la determinación de la configuración de comienzo y la configuración objetivo en el espacio de configuración de máquina comprende: recibir una configuración de comienzo y una configuración objetivo en un espacio de pieza de trabajo; y transformar las configuraciones de comienzo y objetivo en el espacio de trabajo a las configuraciones de comienzo y objetivo en el espacio de configuración de máquina.
En una forma de realización adicional, la determinación de la configuración de comienzo y la configuración objetivo en el espacio de configuración de máquina comprende ajustar al menos una de entre la configuración de comienzo y la configuración objetivo basada en una o más preferencias del usuario.
En una forma de realización adicional, el ajuste de por lo menos una de entre la configuración de comienzo y la configuración objetivo comprende, para la configuración respectiva que se ajusta: trasladar la respectiva configuración con el fin de mover la herramienta de la máquina CNC fuera de contacto con la pieza de trabajo; y añadir el desplazamiento de la respectiva configuración a los datos de ruta de posicionamiento.
En una forma de realización adicional, la traslación de la respectiva configuración se determina al: muestrear una pluralidad de ubicaciones de esfera de una superficie de una esfera centrada alrededor de la configuración respectiva; e intentar identificar una ubicación de esfera muestreada que no provoque que la herramienta esté en contacto con la pieza de trabajo cuando la herramienta es trasladada a la ubicación de esfera muestreada; y determinar que la ruta que traslada la herramienta a la ubicación de esfera muestreada es válida.
En una forma de realización adicional, el método puede comprender: ampliar un radio de la esfera y muestrear ubicaciones de esfera adicionales si no se identifica una ubicación de esfera muestreada que no provoca que la herramienta esté en contacto con la pieza de trabajo, en donde las ubicaciones de esfera en una esfera de radio más pequeño reducen al mínimo el desplazamiento de las respectivas configuraciones; e intentar identificar la ubicación de esfera que no provoca que la herramienta esté en contacto con la pieza de trabajo desde las ubicaciones de esfera adicionales.
En una forma de realización adicional, el ajuste de por lo menos una de entre la configuración de comienzo y la configuración objetivo comprende al menos uno de entre: ajustar la configuración de comienzo basada en una ruta de retracción especificada por el usuario; ajustar la configuración objetivo basada en una ruta de aproximación especificada por el usuario; determinar que las rutas que ajustan la configuración de comienzo y la configuración objetivo son válidas; y añadir los movimientos de los ajustes a las configuraciones de comienzo y objetivo a los datos de ruta de posicionamiento.
En una forma de realización adicional, el ajuste de por lo menos una de entre la configuración de comienzo y la configuración objetivo comprende: ajustar la configuración de comienzo a una ubicación que aloja un tamaño de herramienta ampliado por una distancia de seguridad mínima especificada por el usuario; ajustar la configuración objetivo a una ubicación que adapta el tamaño de herramienta ampliado; determinar que las rutas que ajustan la configuración de comienzo y la configuración objetivo son válidas; añadir los movimientos de los ajustes a las configuraciones de comienzo y objetivo a los datos de ruta de posicionamiento; y ajustar la simulación de la máquina CNC para utilizar una herramienta de compensación con una compensación basada en la distancia de seguridad mínima especificada por el usuario cuando se determina la ruta de posicionamiento si es válida.
En una forma de realización adicional, el ajuste de cada uno de entre la configuración de comienzo y la configuración objetivo para alojar el tamaño de herramienta ampliado comprende: muestrear una pluralidad de ubicaciones de esfera de una superficie de una esfera centrada alrededor de la configuración respectiva y que tiene un radio por lo menos igual a la distancia de seguridad mínima especificada por el usuario; e intentar identificar una ubicación de esfera muestreada que no provoque que la herramienta ampliada esté en contacto con la pieza de trabajo cuando la herramienta ampliada se desplaza a la ubicación de esfera muestreada.
En una forma de realización adicional, el método puede comprender asimismo ampliar un radio de la esfera y muestrear ubicaciones de esfera adicionales si no se identifica una ubicación de esfera muestreada que no provoque que la herramienta ampliada esté en contacto con la pieza de trabajo, en donde las ubicaciones de esfera en una esfera de radio más pequeño reducen al mínimo el desplazamiento de las respectivas configuraciones; e intentar identificar la ubicación de esfera que no provoque que la herramienta ampliada esté en contacto con la pieza de trabajo desde las ubicaciones de esfera adicionales.
En una forma de realización adicional, las características relevantes del lugar de mecanizado en el espacio de configuración de máquina comprenden uno o más de entre: configuraciones conocidas a lo largo de una ruta de posicionamiento; y unos respectivos cuadros delimitadores de uno o más objetos en el lugar de mecanizado.
En una forma de realización adicional, el método puede comprender asimismo: dividir unos ejes de control de la máquina CNC en extensiones basadas en valores de desplazamiento máximos y mínimos para el respectivo eje de control y las configuraciones de comienzo y objetivo; determinar si cada una de las extensiones ha sido muestreada por la pluralidad de configuraciones posibles desde las regiones identificadas; y recoger una pluralidad de configuraciones posibles adicionales del exterior de las regiones identificadas para proporcionar muestras de configuraciones posibles de cada una de las extensiones.
En una forma de realización adicional, se define una resolución de muestreo mínima para cada uno de los ejes de control de la máquina CNC, la resolución de muestreo mínima que define la distancia mínima entre muestras del respectivo eje de control.
En una forma de realización adicional, el método puede comprender además eliminar configuraciones posibles de la pluralidad de configuraciones posibles si están dentro de una región excluida en el espacio de configuración de máquina.
En una forma de realización adicional, la determinación de la ruta de posicionamiento comprende: tratar la pluralidad de posibles configuraciones, la configuración de comienzo y la configuración objetivo; y buscar en la gráfica una ruta de la configuración de comienzo a la configuración objetivo.
En una forma de realización adicional, se busca en la gráfica utilizando una técnica de búsqueda basada en heurística que encuentra una ruta de más bajo coste que es menor que un límite superior a través de la gráfica si existe esta ruta.
En una forma de realización adicional, cuando existe la ruta a través de la gráfica, la ruta se utiliza como la ruta de posicionamiento, y en donde la determinación de si es válida la ruta de posicionamiento comprende: recibir una indicación de la simulación de la máquina CNC de si la ruta de posicionamiento es válida o no, comprendiendo la indicación una indicación de una configuración que provocó la invalidez de la ruta de posicionamiento cuando la ruta de posicionamiento es inválida; determinar un segmento de la gráfica asociado con la configuración indicada que provocó la invalidez de la ruta de posicionamiento; y eliminar el segmento determinado de la gráfica.
En una forma de realización adicional, el método puede comprender asimismo: determinar si la búsqueda de la gráfica ha agotado todas las rutas posibles cuando no es válida la ruta de posicionamiento; y buscar en la gráfica de nuevo, cuando no se agota la búsqueda de la gráfica, una ruta de la configuración de comienzo a la configuración objetivo.
En una forma de realización adicional, el método puede comprender: recoger una pluralidad adicional de configuraciones posibles del espacio de configuración de máquina cuando no se encuentra una ruta a través de la gráfica que tiene un coste asociado menor que el límite superior o cuando se agota la búsqueda de la gráfica; y tratar como la gráfica la pluralidad de configuraciones posibles, la configuración de comienzo, la configuración objetivo y la pluralidad adicional de posibles configuraciones; y buscar en la gráfica una ruta de la configuración de comienzo a la configuración objetivo.
En una forma de realización adicional, la búsqueda en la gráfica comprende utilizar una técnica de búsqueda A*.
En una forma de realización adicional, en donde la búsqueda A* utiliza: un tiempo de desplazamiento de ruta proporcionado por la simulación de la máquina CNC como un coste de una ruta actual de la configuración de comienzo a un nodo de configuración actual de la gráfica; y un tiempo de desplazamiento proporcionado por la simulación de la máquina CNC como un coste entre el nodo de configuración actual a la configuración objetivo.
En una forma de realización adicional, la simulación de la máquina CNC incorpora características de máquina en la simulación del mecanizado en la máquina CNC, comprendiendo las características de máquina uno o más de entre: cinemática de la máquina; límites de velocidad; límites de aceleración; limitaciones de desplazamiento para cada eje de máquina; metodologías de posicionamiento; configuración de pieza de trabajo; ubicación de componentes o accesorios de máquina; y ubicación de dispositivos sujetadores.
En una forma de realización adicional, la simulación de la máquina CNC simula unas piezas de trabajo que cambian de forma dinámica.
De acuerdo con la presente divulgación, está previsto además un dispositivo de cómputo para generar datos de ruta de posicionamiento para una máquina de control numérico computarizado (CNC), comprendiendo el sistema un procesador para ejecutar instrucciones; y una memoria para almacenar instrucciones, que cuando son ejecutadas por el procesador configuran el sistema para proporcionar un método para la generación de datos de ruta de posicionamiento para una máquina de control numérico computarizado (CNC), comprendiendo el método determinar una configuración de comienzo y una configuración objetivo de una herramienta en un espacio de configuración de máquina; identificar unas respectivas regiones que rodean una o más características relevantes de un lugar de mecanizado en el espacio de configuración de máquina para el muestreo de configuraciones posibles; determinar una pluralidad de configuraciones posibles a partir de cada una de dicha una o más regiones identificadas en el espacio de configuración de máquina; determinar una ruta de posicionamiento a partir de la pluralidad de configuraciones posibles que conectan la configuración de comienzo a la configuración objetivo; determinar si la ruta de posicionamiento determinada es válida utilizando una simulación de la máquina CNC; y generar unos datos de ruta de posicionamiento para mover la herramienta de la máquina CNC a lo largo de la ruta de posicionamiento determinada si se determina que la ruta de posicionamiento es válida.
De acuerdo con la presente divulgación, está previsto asimismo un sistema para mecanizar una pieza, comprendiendo el sistema un dispositivo de cómputo para generar datos de ruta de posicionamiento para una máquina de control numérico computarizado (CNC), comprendiendo el sistema un procesador para ejecutar instrucciones; y una memoria para almacenar instrucciones, que cuando se ejecutan por el procesador configuran el sistema para proporcionar un método para la generación de datos de ruta de posicionamiento para una máquina de control numérico computarizado (CNC), comprendiendo el método determinar una configuración de comienzo y una configuración objetivo de una herramienta en un espacio de configuración de máquina; identificar unas respectivas regiones que rodean una o más características relevantes de un lugar de mecanizado en el espacio de configuración de máquina para el muestreo de configuraciones posibles; determinar una pluralidad de configuraciones posibles a partir de cada una de entre dicha una o más regiones identificadas en el espacio de configuración de máquina; determinar una ruta de posicionamiento a partir de una pluralidad de configuraciones posibles que conectan la configuración de comienzo a la configuración objetivo; determinar si la ruta de posicionamiento determinada es válida utilizando una simulación de la máquina CNC; y generar unos datos de ruta de posicionamiento para mover la herramienta de la máquina CNC a lo largo de la ruta de posicionamiento determinada si se determina que es válida la ruta de posicionamiento; y una máquina de control numérico computarizado (CNC) para recibir el programa NC y mecanizar una pieza a partir de una pieza de trabajo de acuerdo con el programa NC.
Breve Descripción de las figuras
Las características y ventajas adicionales de la presente divulgación se pondrán de manifiesto a partir de la siguiente descripción detallada, tomada en combinación con las figuras adjuntas, en las cuales:
La figura 1 ilustra una máquina CNC multieje;
La figura 2A representa una configuración inicial de una herramienta de corte con respecto a una pieza de trabajo;
La figura 2B representa unas rutas de corte y de posicionamiento para producir una parte de la pieza de trabajo; La figura 3 representa el proceso de diseño y producción de una parte en una máquina CNC;
La figura 4A representa una ruta de posicionamiento en coordenadas de la pieza de trabajo;
La figura 4B representa la ruta de posicionamiento de 4A que representa la cinemática de la máquina;
La figura 5 representa un proceso de diseño y producción de una pieza en una máquina CNC que utiliza rutas de posicionamiento generadas de forma automática;
La figura 6 representa un método para el diseño y producción de una pieza en una máquina CNC que utiliza unas rutas de posicionamiento generadas de forma automática;
La figura 7 representa un método de generación de un programa NC para el mecanizado de una pieza; La figura 8 representa un método de generación automática de rutas de posicionamiento;
La figura 9 representa un método para la personalización de una ruta de posicionamiento;
Las figuras 10A, 10B, 10C, 10D representan una personalización de rutas de posicionamiento;
La figura 11 representa una ruta de posicionamiento inicial;
La figura 12 representa un método adicional de desarrollo de un programa NC;
La figura 13 representa el muestreo del espacio de máquina para el desarrollo de una ruta de posicionamiento; La figura 14 representa el desarrollo de la ruta de posicionamiento;
La figura 15 representa un método para generar rutas de posicionamiento; y
La figura 16 representa un sistema para el mecanizado de una pieza.
Descripción Detallada
Las máquinas de control numérico computarizado (CNC) permiten que se mecanice una pieza a partir de una pieza de trabajo de acuerdo con instrucciones específicas. Se puede diseñar una pieza en una aplicación de modelado 3D, a menudo denominada software de diseño asistido por computadora (c Ad ) el software de fabricación asistido por computadora puede tomar un modelo 3D y producir código o instrucciones para generar la pieza. El código generado por el software CAM específica el movimiento de una herramienta con respecto a una pieza de trabajo, en las coordenadas de la pieza de trabajo. Con el fin de mecanizar una pieza, las ubicaciones de herramienta especificadas en las coordenadas de la pieza de trabajo se necesitan convertir en ubicaciones de herramienta en coordenadas de máquina. En su forma más básica, esto se puede ver como una traslación de las coordenadas de la pieza de trabajo con base en la posición física de la pieza de trabajo en la máquina CNC. Sin embargo, en máquinas multieje que permiten movimiento rotacional, así como movimiento lineal, la conversión puede ser más compleja ya que la cinemática de la máquina CNC puede dar como resultado movimiento no lineal de la herramienta, en tanto que la generación de las rutas de herramienta en el software CAM adopta un movimiento lineal entre configuraciones de herramienta.
La figura 4A representa una ruta de posicionamiento en coordenadas de la pieza de trabajo. La ruta de posicionamiento comprende una configuración de comienzo de la herramienta 404 con respecto a la pieza de trabajo 402 y una configuración objetivo de la herramienta 406. La configuración incluye tanto la posición como la orientación de la herramienta. En las coordenadas de la pieza de trabajo, que no consideran cómo se implementa realmente el movimiento de herramienta, la ruta de posicionamiento entre la configuración de comienzo y objetivo es una ruta lineal 408. Sin embargo, si la ruta de posicionamiento se implementa en una máquina CNC, puede ser no lineal la ruta real de la herramienta que atraviesa entre las orientaciones de comienzo y objetivo. La figura 4B representa la ruta de posicionamiento de 4A que representa la cinemática de la máquina. Como se representa, la herramienta se mueve entre una configuración de comienzo 414, que corresponde a la configuración 404, a una configuración objetivo 416, que corresponde a la configuración objetivo 406. Sin embargo, la combinación del movimiento lineal y rotacional entre las dos configuraciones da como resultado una ruta no lineal 418, que puede dar como resultado movimiento no propuesto de la herramienta y posibles colisiones con la pieza de trabajo u otros objetos en el lugar de mecanizado.
La cinemática de la máquina afecta tanto a las rutas de corte como las rutas de posicionamiento. Sin embargo, las rutas de corte que implican tanto un cambio en la orientación como en la ubicación de la herramienta son convencionalmente muy cortas, y como tal la cinemática no cambia la ruta de herramienta deseada por una gran cantidad. En contraste, las rutas de posicionamiento pueden cambiar la orientación y ubicación a través de una distancia larga y como tal puede ser mayor la desviación de la ruta de herramienta.
La generación de rutas de posicionamiento seguras, o válidas, se describe de forma adicional en la presente memoria. Una ruta insegura, o inválida puede ser una ruta que viole una limitación. Por ejemplo, puede ser inválida una ruta de posicionamiento si la herramienta entra en contacto con los objetos en un lugar de mecanizado tal como la pieza de trabajo, accesorios, configuración, dispositivos sujetadores o una estructura de la máquina CNC. Las limitaciones pueden resultar de la máquina CNC. Por ejemplo, las rutas de herramienta pueden ser inválidas si se mueven más de la cantidad de desplazamiento máxima para un eje, o si entran en contacto con piezas de la máquina. Las limitaciones pueden depender de la pieza que se mecaniza, por ejemplo, las rutas de posicionamiento pueden ser inválidas si entran en contacto con la parte de la pieza de trabajo. Además, las limitaciones se pueden especificar por el usuario, por ejemplo, una ruta puede ser inválida si una herramienta entra dentro de una distancia de seguridad definida de la pieza de trabajo cuando viaja a una velocidad rápida tal como durante movimientos de posicionamiento. Como se describe de forma adicional en la presente memoria, se pueden generar automáticamente rutas de posicionamiento válidas que se ajustan a las limitaciones de máquina con base en características de máquina tal como la cinemática de la máquina, velocidad y aceleración de máquina, y metodología de posicionamiento de máquina. Ya que las rutas de posicionamiento se generan automáticamente tomando en cuenta las características de máquina, es posible generar las rutas de posicionamiento sin requerir que el usuario realice ninguna prueba y error.
Como se describe de forma adicional en la presente memoria, la generación automática de la ruta de posicionamiento, tomando en cuenta la cinemática de la máquina puede proporcionar diferentes ventajas posibles, además de proporcionar una técnica alternativa para la generación de rutas de posicionamiento. La generación automática de las rutas de posicionamiento para máquinas CNC multieje puede reducir el tiempo de ciclo de fabricación de producto al eliminar el proceso de prueba y error para ajustar y verificar las rutas de posicionamiento multieje en la aplicación CAM así como que minimiza el tiempo improductivo de las rutas de posicionamiento con base en la cinemática de la máquina herramienta, lo límites de desplazamiento de ejes de máquina, los límites de aceleración y velocidad de ejes de máquina, y metodologías de posicionamiento de máquina. Además, al generar de forma automática rutas de posicionamiento multieje de seguridad, que están libres de colisiones basadas en la cinemática real de la máquina herramienta, productos en proceso que cambian de forma dinámica, configuraciones/accesorios de la pieza de trabajo, y entorno del mecanizado, es posible generar programas NC dependientes de la máquina para diferentes máquinas sin requerir esfuerzo adicional del usuario. En consecuencia, el mecanizado de una pieza se puede cambiar fácilmente a diferentes tipos de máquina sin requerir que el usuario realice el proceso de prueba y error de nuevo. Además, la generación automática de rutas de posicionamiento puede facilitar la maximización de la accesibilidad de la pieza al buscar el espacio de configuración de máquina y aprovechando completamente el espacio de trabajo de la máquina CNC para adaptar movimientos multieje. Al generar automáticamente rutas de posicionamiento multieje seguras, el usuario no necesita definir planos de espacio libre o zonas de seguridad.
La divulgación actual presenta dispositivos, sistema y métodos automáticos para desarrollo y optimización de rutas de posicionamiento (es decir no de corte). La planificación automática de rutas para rutas de posicionamiento se realiza para generar rutas seguras óptimas en tanto que se reduce al mínimo el tiempo no de corte, que es improductivo. Las rutas de posicionamiento se desarrollan sobre la base de la cinemática de la máquina herramienta, los límites de desplazamiento de ejes de la máquina, los límites de aceleración y velocidad de ejes de la máquina, y las metodologías de posicionamiento de la máquina. Las rutas de posicionamiento desarrolladas no violan las limitaciones de desplazamiento de ejes de la máquina y no provocan colisiones con los productos en proceso que cambian de forma dinámica de la pieza de trabajo y todas las otras áreas rodeantes, que incluyen accesorios y los componentes móviles y no móviles de la máquina. Estos métodos no requieren que se definan por el usuario planos de espacio libre o zonas de seguridad geométricas. Los presentes métodos pueden aplicar una estrategia de posicionamiento segura al respetar una distancia mínima especificada por el usuario entre la herramienta y los otros objetos en el lugar. Una estrategia de retracción y aproximación predefinida también se puede respetar en el comienzo y fin de la secuencia de posicionamiento, en donde la herramienta está cerca o en contacto con la pieza de trabajo. Además, el contacto entre la herramienta y los productos en proceso se puede analizar para minimizar el tiempo de no corte en proximidad entre el mecanizado y los productos en proceso para eliminar tiempos de permanencia. El resultado de la optimización serán movimientos de posicionamiento reducidos al mínimo y seguros en el sistema de coordenadas de la máquina que se pueden ejecutar directamente en la máquina CNC.
La figura 5 representa un proceso de diseño y producción de una pieza en una máquina CNC que utiliza unas rutas de posicionamiento generadas de forma automática. El proceso implica la generación de un modelo 3D de una pieza que se va a fabricar y describe datos de ubicación de cortador (datos CL) para producir la pieza a partir de una pieza de trabajo utilizando software CAD/CAM 502. Los datos CL 504 sólo necesitan especificar las rutas de corte 506, 508, 510 para producir la pieza. No es necesario que el usuario especifique rutas de posicionamiento. Aunque se representan como que no tienen rutas de posicionamiento, los datos CL pueden incluir rutas de posicionamiento, en cuyo caso se definen y eliminan o ignoran ya que se generarán automáticamente las rutas de posicionamiento.
Los datos CL 504 son procesados por un postprocesador controlado de forma numérica (NC). El postprocesador 512 recibe unos ajustes de controlador 514 y una indicación de la máquina CNC 516 en la cual se producirá la pieza. Además de la generación de datos NC para las rutas de corte, que se puede hacer utilizando técnicas existentes conocidas, el postprocesador también desarrolla unas rutas de posicionamiento 518 para mover la herramienta entre rutas de corte. El desarrollo de las rutas de posicionamiento 518 utiliza la cinemática de la máquina 520 y un simulador 522 de la máquina CNC para desarrollar las rutas de posicionamiento. El postprocesador 512 recibe los datos CL independientes de la máquina y genera el programa NC dependiente de la máquina 524 para producir la pieza en la máquina seleccionada. El programa NC 524 se puede ejecutar en un simulador de máquina CNC 526 para asegurar que se logre el rendimiento deseado. Ya que las rutas de posicionamiento han sido generadas automáticamente y optimizadas teniendo en cuenta las características de la máquina, serán válidas las rutas de posicionamiento. Sin embargo, es posible que las rutas de corte sean inválidas, y como tal se puede necesitar ajuste en el software CAD/CAM antes de ejecutar el programa NC en la máquina CNC física 532. Los simuladores de máquina CNC 522, 526 se pueden proporcionar por los mismos o componentes separados. Las rutas de corte y las rutas de posicionamiento válidas 530 pueden ser ejecutadas en la máquina CNC 532 para producir la pieza.
El postprocesamiento 512 puede transformar los datos CL independientes de la máquina 504 al programa NC dependiente de la máquina 524 con menos interacción con el usuario. Solamente se necesita que el usuario especifique ajustes de controlador, así como que seleccione la máquina particular en la cual se producirá la pieza. En consecuencia, el mecanizado de las piezas se puede mover fácilmente entre diferentes máquinas para cumplir los requerimientos del taller. Además, se pueden añadir máquinas CNC adicionales a un taller sin preocuparse del esfuerzo necesario para generar programas NC de piezas existentes para la nueva máquina.
La figura 6 representa un método para diseño y producción de una pieza en una máquina CNC que utiliza las rutas de posicionamiento generadas de forma automática. El método 600 comienza con la generación de un modelo 3D de la pieza que se va a mecanizar (602). El modelo se puede desarrollar en cualquier aplicación de software adecuada, convencionalmente llamada como software CAD. El modelo 3D se utiliza para generar rutas de corte (604) que se especifican como ubicaciones de cortador (datos CL). Las rutas de corte pueden ser generadas por software CAM. La funcionalidad de software CAD y CAM se puede incorporar en una sola aplicación de software. Los datos CL producidos por el software CAM se procesan a fin de convertir los datos CL en instrucciones o código específico para controlar una máquina CNC para producir la pieza, que salen como datos NC (606). Los datos NC pueden formar un programa NC. El procesamiento de los datos CL convierte las rutas de corte en instrucciones de máquina específicas para mover la herramienta a lo largo de las rutas de corte necesarias. De forma adicional, el procesamiento determina las rutas de posicionamiento (608) y simula las rutas de posicionamiento (610) para mover la herramienta entre las rutas de corte para verificar que es válida la ruta. Una vez que se convierten los datos CL en datos NC, para ambas de las rutas de corte especificadas y las rutas de posicionamiento optimizadas, desarrolladas, los datos NC se pueden ejecutar en un simulador de la máquina CNC (612), por ejemplo, para verificar que los datos NC se ejecutan como se desea. El método determina si los datos NC son aceptables con base en los resultados de simulador (614). Aunque los resultados pueden ser válidos los resultados, es decir las rutas de posicionamiento no provocan colisiones y no violan los límites de desplazamiento de máquina u otras limitaciones, aún se pueden considerar aceptables. Por ejemplo, un usuario puede determinar que una ruta de corte no produce el resultado deseado. Si los datos NC son aceptables (si en 614), es decir producen los resultados deseados sin violar ninguna limitación, los datos NC se pueden ejecutar en la máquina CNC para controlar la máquina CNC a fin de producir la pieza (616). Si los datos NC no son aceptables (no en 614), es decir no producen los resultados deseados o violan una limitación, el método puede regresar a la generación de rutas de corte (604) o al propio modelo (602) para producir los resultados deseados.
La figura 7 representa un método de generación de un programa NC para el mecanizado de una pieza. Como se representa, el método 700 tiene 3 secciones generales. La primera 702, genera datos NC para mover la herramienta de una configuración inicial o de inicio a la configuración de comienzo de la primera ruta de corte, así como los datos NC para la primera ruta de corte. La segunda sección 704 genera unos datos NC de rutas de posicionamiento y corte para las rutas de corte restantes. Finalmente 706, el método genera los datos NC para mover la herramienta de la última orientación de corte a una orientación de acabado, que puede ser la orientación de inicio. El método 700 recibe unos datos CL que especifican una o más rutas de corte (708). Si los datos CL recibidos también especifican rutas de corte, se pueden eliminar o ignorar. Se determina una ruta de posicionamiento para mover de forma segura de una configuración de máquina inicial a una configuración de comienzo de la primera ruta de corte (710). Una vez que se determina la ruta de posicionamiento, los datos NC de la ruta de posicionamiento se añaden al programa NC (712). Los datos NC para la ruta de corte se determinan y se añaden al programa NC (714). El método determina si existen unas rutas de corte adicionales (716) y si existen (Sí en 716) se recupera la siguiente ruta de corte (718). Se determina una ruta de posicionamiento para moverse de la configuración de fin de la ruta de corte anterior a la configuración de comienzo de la ruta de corte recuperada (720). Se determinan los datos NC de la ruta de posicionamiento y se anexan al programa NC (722). Los datos NC para la ruta de corte actual se determinan y anexan al programa NC (724), y de nuevo se determina si existen rutas de corte adicionales para procesar (716). Si no hay más rutas de corte (No en 716), el método determina una ruta de posicionamiento para mover la herramienta de la configuración de fin de la última ruta de corte a una configuración de máquina de terminación (726), que puede ser la misma que la configuración de máquina inicial. Los datos NC para la última ruta de posicionamiento se anexan al programa NC (728) y el programa NC es devuelto o almacenado (730).
La figura 8 representa el desarrollo automático de rutas de posicionamiento. La funcionalidad de optimización y desarrollo de rutas de posicionamiento 802 genera rutas de posicionamiento optimizadas y válidas entre una configuración de comienzo de la máquina y una configuración objetivo de la máquina. Como se muestra en la figura 8, la funcionalidad de optimización y desarrollo de rutas de posicionamiento 802 depende de la funcionalidad de simulación de máquina 804. La funcionalidad de simulación 804 es utilizada por la funcionalidad de desarrollo de rutas 802 para simular un movimiento de herramienta basado en la cinemática de la máquina herramienta y las metodologías de posicionamiento, tal como programación de la información sobre la herramienta y etc. La funcionalidad de simulación de máquina 804 incluye una funcionalidad para realizar una prueba de colisión 812, funcionalidad para realizar una prueba de desplazamiento 814, y funcionalidad para realizar un cálculo de tiempo de desplazamiento 816. El uso de la funcionalidad de simulación 804 permite que el proceso de desarrollo de rutas permanezca genérico e independiente de las características de máquina. La funcionalidad de simulación de máquina 804 puede ser proporcionada por cualquiera de los componentes o productos disponibles que proporcionan funcionalidad de prueba de colisión 812, prueba de desplazamiento 814, y cálculo de tiempo de desplazamiento 816. La simulación debería ser capaz de simular de forma precisa un movimiento en el espacio de máquina con base en la cinemática de la máquina, la velocidad y aceleración de máquina, y la metodología de posicionamiento de máquina con el fin de verificar si las rutas de posicionamiento violan las limitaciones de desplazamiento de los ejes de la máquina y provocan colisiones con productos en proceso que cambian de forma dinámica de la pieza de trabajo y todas las otras áreas circundantes, que incluyen accesorios y los componentes móviles o no móviles de la máquina para proporcionar resultados de prueba apropiados. La funcionalidad de optimización y desarrollo de rutas 802 depende de consultas de prueba de colisión simples (es decir, consultas de sí/no). La funcionalidad de optimización y desarrollo de rutas de posicionamiento 802 no requiere que ningún cálculo de distancias u otras estrategias de prueba de colisión computacionalmente costosas sea realizado por la funcionalidad de prueba de colisión 812.
Como se representa, la optimización y desarrollo automático basado en la cinemática de las rutas de posicionamiento 802 implica tres etapas principales. La entrada a la funcionalidad de desarrollo de rutas de posicionamiento 802 comprende una configuración de comienzo inicial de la herramienta y la configuración objetivo de la herramienta, junto con una selección de la cinemática de máquina y diferentes ajustes de controlador. La optimización y desarrollo de rutas de posicionamiento utiliza funcionalidad de personalización de rutas 806 para personalizar de forma inicial configuraciones de comienzo y objetivo de acuerdo con las preferencias del usuario. La planificación de rutas iniciales mediante la funcionalidad de reducción al mínimo y búsqueda direccional 808 se utiliza para proporcionar, o intentar proporcionar, una ruta de posicionamiento inicial entre las configuraciones de comienzo y objetivo personalizadas. La funcionalidad de planificación de rutas basada en muestreo determinístico 810 utiliza un enfoque basado en muestreo para optimizar la ruta de posicionamiento entre las configuraciones de comienzo y objetivo.
Inicialmente, las configuraciones de comienzo y objetivo se proporcionan a la funcionalidad de personalización de rutas 806. Para adaptar las opciones de personalización solicitadas por el usuario, primero se planifican rutas de posicionamiento en las configuraciones de comienzo y objetivo iniciales. Estas rutas entonces se guardan y sus configuraciones de fin son las nuevas configuraciones de comienzo y objetivo. En consecuencia, la funcionalidad de personalización de rutas 806 ajusta las configuraciones de comienzo y objetivo y las configuraciones ajustadas se utilizan en etapas posteriores de la funcionalidad de desarrollo de rutas.
La funcionalidad de planificación de rutas iniciales 808 utiliza un método de búsqueda direccional para encontrar una solución subóptima para la planificación de rutas entre las configuraciones de comienzo y objetivo, que pueden haber sido ajustadas por la funcionalidad de personalización de rutas 806. La funcionalidad de planificación de rutas iniciales intenta encontrar rápidamente una solución inicial a la planificación de rutas al buscar en el espacio de máquina algunas direcciones potencialmente buenas. El resultado de esta etapa es una ruta de posicionamiento entre las configuraciones de comienzo y objetivo; sin embargo, esta ruta puede no ser la mejor. De forma adicional, la funcionalidad de planificación de rutas iniciales puede fallar para encontrar una ruta válida entre las configuraciones de comienzo y objetivo.
Las configuraciones de comienzo y objetivo ajustadas y la ruta de solución encontrada por la funcionalidad de planificación de rutas iniciales 808 se proporcionan a la funcionalidad de planificación de rutas basada en muestreo 810. Se utiliza una técnica de búsqueda basada en muestreo determinístico y estratégico permanente para intentar encontrar una ruta de posicionamiento mejor entre las configuraciones de comienzo y objetivo. La ruta inicial puede ser utilizada por por la funcionalidad de planificación de rutas basada en muestreo determinístico 810 con el fin de reducir la cantidad de tiempo necesario para encontrar una ruta de posicionamiento entre las configuraciones de comienzo y objetivo. Sin embargo, la funcionalidad de planificación de rutas basada en muestreo determinístico 810 puede encontrar aún una ruta de posicionamiento válida incluso si no se encontró ruta de posicionamiento inicial.
Como se representa en la figura 8, la funcionalidad de ruta de posicionamiento 802 proporciona una ruta de prueba 818 a la funcionalidad de simulación de máquina 804, que puede probar la ruta para determinar si es válida. La ruta de prueba se puede validar utilizando la funcionalidad de prueba de colisión y la funcionalidad de prueba de sobrecarrera. La funcionalidad de simulación de máquina puede devolver el resultado de la validez de ruta 820 al desarrollo de rutas de posicionamiento. Aunque no se representa en la figura 8, la funcionalidad de simulación de máquina 804 también se puede utilizar para proporcionar una cantidad de tiempo que una máquina particular necesitará para realizar la ruta de prueba.
La figura 9 representa un método para personalización de una ruta de posicionamiento. Las opciones de personalización de rutas pueden incluir tres opciones principales. El método de personalización de rutas 900 ajusta las configuraciones de comienzo y objetivo con base en la proximidad de la pieza de trabajo y detección de paredes (902). Cuando las configuraciones de comienzo y objetivo se pasan a proximidad y detección de paredes, se verifica si la herramienta está en contacto con los productos en proceso o está junto a una pared. Esto se verifica utilizando una prueba de colisión para verificar si la herramienta choca con los productos en proceso. En el caso de que la herramienta esté en contacto con los productos en proceso o junto a una pared, se genera un movimiento de avance para reducir al mínimo de no corte en la proximidad entre la herramienta y la pieza de trabajo para eliminar tiempos de permanencia. En el caso de paredes, es deseable evitar moverse a lo largo de direcciones a lo largo de las cuales la herramienta puede dejar marcas de permanencia indeseadas en la superficie de la parte final. Por lo tanto, las configuraciones de comienzo y objetivo se ajustan para desacoplar la herramienta del contacto con los productos en proceso a lo largo de una dirección que no está en contacto con los productos en proceso. La ruta para ajustar las configuraciones de comienzo y objetivo entonces se sacarán como un movimiento de avance que se puede utilizar en el programa NC para generar la pieza. Las configuraciones de comienzo y objetivo ajustadas se ajustan de forma adicional utilizando rutas de retracción y aproximación con base en una estrategia predefinida en estas posiciones (904). Un ejemplo puede ser la generación de una ruta a lo largo de una dirección definida por el usuario o dirección de eje de herramienta en estas posiciones. Estas rutas se pueden sacar como movimientos de avance o rápidos con base en la solicitud del usuario. La seguridad de estas rutas se verifica por simulación antes de que se guarden. Las posiciones de comienzo y objetivo ajustadas de forma adicional se ajustan de nuevo sobre la base de la distancia de seguridad mínima (906). El propósito de esta opción es el diseño de una ruta que no ponga a la herramienta más cerca de una distancia mínima a cualquier objeto en el lugar. Con el fin de lograr esto, se crea una herramienta de compensación que tiene una distancia de compensación con base en la distancia de seguridad mínima necesaria y se utiliza en la simulación para verificar la seguridad de la ruta. Esto provocará que las rutas que están más cerca de los objetos que la distancia de seguridad mínima sean declaradas rutas inseguras y sean omitidas por los algoritmos de planificación de rutas. Sin embargo, la opción de distancia de seguridad mínima necesita encontrar una posición en el comienzo y objetivo que adapte la herramienta de compensación más grande antes de que comience la planificación de rutas.
Las figuras 10A, 10B, 10C, 10D representan personalizaciones de rutas de posicionamiento. La figura 10A representa las configuraciones de comienzo y objetivo iniciales 1004, 1006 con respecto a la pieza de trabajo 1002. Como se representa, se determinan unas configuraciones adicionales 1008, 1010 para establecer una ruta de posicionamiento, que comprende movimientos entre las configuraciones 1012, 1014, 1016. La figura 10B representa el ajuste de las configuraciones de comienzo y objetivo 1004, 1006. El ajuste a las configuraciones del comienzo y objetivo se puede hacer de la misma forma. Una esfera, representada como un círculo 1018 en la figura 10B, con un radio pequeño se establece primero en un centro de herramienta. La superficie de la esfera 1018 se muestrea para coordenadas XYZ en tanto que se mantiene constante la orientación de herramienta. Se buscan las muestras para determinar si el movimiento de la herramienta al punto 1020, por ejemplo, a lo largo de la ruta 1022, no provoca que la herramienta esté en contacto con los productos en proceso 1002. Se recogen las muestras para un radio de esfera específico y el movimiento entre la posición de herramienta actual y estas muestras se verifican mediante la funcionalidad de simulación. El movimiento aceptable es aquel a lo largo del cual la herramienta no está en contacto con los productos en proceso excepto en la posición de herramienta actual. Si todos estos movimientos fallan, significa que ninguna de las muestras en la esfera pueden dirigir la herramienta a lo largo de una buena dirección con el radio de esfera actual. A continuación, se deben recoger nuevas muestras de la esfera. Las muestras en la esfera se pueden controlar por sus ángulos con respecto a la dirección de eje de herramienta. Una vez que se han probado sin éxito todas las muestras para un radio de esfera constante, se incrementa el radio de esfera de forma incremental y se repiten los pasos descritos para encontrar una solución. La mejor solución es la que se encuentra por el radio de esfera mínimo. El resultado es una ruta 1022, 1026 con la longitud equivalente al radio de esfera.
De forma alternativa, también puede ser aplicada una longitud determinada por el usuario a lo largo de la mejor dirección en la esfera.
La figura 10C representa el ajuste de las configuraciones 1020, 1024 para utilizar rutas de retracción y aproximación. Las posiciones de comienzo y objetivo 1020, 1024 ajustadas se utilizan para desarrollar rutas de retracción y aproximación con base en una estrategia predefinida en estas posiciones. Por ejemplo, las rutas de retracción y aproximación se pueden generar a lo largo de una dirección definida por el usuario o dirección de eje de herramienta en estas posiciones. Estas rutas se pueden sacar con movimientos rápidos o de avance en la solicitud del usuario. Se verifica la seguridad de estas rutas mediante simulación antes de que se guarden o se saquen. El resultado del ajuste de las configuraciones que utilizan rutas de retracción y/o aproximación serán nuevas posiciones 1028, 1032 basadas en la estrategia de retracción/aproximación implementada en el comienzo y objetivo.
Como se representa en la figura 10D, las posiciones de comienzo y objetivo 1028, 1032 entonces se pueden ajustar con el fin de representar una opción de distancia de seguridad mínima. La opción de distancia de seguridad mínima diseña una ruta que no pone a la herramienta más cerca de una distancia mínima a cualquier objeto en el lugar. Con el fin de lograr este objetivo una herramienta de compensación 1036 que tiene una compensación con base en la distancia de seguridad mínima se crea y utiliza en la simulación para verificar la seguridad de ruta. Un tipo similar de búsqueda que utiliza una esfera como se describió anteriormente con respecto a la figura 10B se puede utilizar para ajustar las configuraciones de comienzo y objetivo a lo largo de las rutas 1040, 1044 a fin de adaptar la herramienta de compensación más grande, sin embargo, la herramienta de compensación más grande se utiliza a fin de probar la seguridad de los movimientos. El resultado de este algoritmo serán nuevas posiciones 1038, 1042 en las configuraciones de comienzo y objetivo que adaptan la herramienta de compensación más grande. Ahora, se puede realizar la planificación de rutas utilizando la herramienta de compensación más grande para garantizar la seguridad solicitada por el usuario.
Como se describió anteriormente, se pueden ajustar las configuraciones de comienzo y objetivo para representar las personalizaciones del usuario. Aunque se describe como que se realizan todas las personalizaciones, se contempla que una o más de las personalizaciones se pueden aplicar sin aplicar todas las personalizaciones. Se pueden utilizar las configuraciones de comienzo y objetivo ajustadas para determinar la ruta de posicionamiento. Primero se determina una ruta de posicionamiento inicial y entonces se utiliza para determinar una ruta de posicionamiento optimizada.
La figura 11 representa una ruta de posicionamiento inicial en el espacio de configuración de máquina. Se señala que el espacio de configuración de máquina representado en la figura 11 es bidimensional. Se apreciará que el espacio de configuración de máquina convencionalmente será de una dimensión más grande, tal como 3, 4, 5 o más dimensiones. Sin embargo, las figuras se representan en 2D con el fin de facilitar la descripción. Un experto en la materia apreciará fácilmente cómo aplicar las enseñanzas a dimensiones más grandes. La ruta de posicionamiento inicial se puede desarrollar mediante una búsqueda direccional y reducción al mínimo utilizando las configuraciones de comienzo y objetivo a fin de planificar una ruta entre ellas. Estas configuraciones pueden ser las determinadas por las opciones de personalización del usuario como se describió anteriormente, o pueden ser las configuraciones de comienzo y objetivo sin ajustar. El problema de planificación de rutas para mecanizado multieje es un problema multidimensional que depende del número de ejes activos en la máquina. En general, la resolución de este problema puede volverse consumidora de tiempo. La ruta de posicionamiento inicial se determina al reducir la dimensión de problema por una búsqueda limitada a lo largo de algunas direcciones predefinidas para encontrar una solución subóptima para el problema. La estrategia de desarrollo de rutas de posicionamiento utilizada en la presente memoria comprende tres movimientos de la herramienta en el espacio de máquina. La ruta de posicionamiento se mueve a lo largo de la ruta 1112 a una configuración intermedia 1108, a lo largo de la ruta 1116 a otra configuración intermedia 1110, y finalmente a lo largo de la ruta 1114 a la configuración objetivo 1106. Como se representa en la figura 11, la ruta de posicionamiento 1112, 1114, 1116 no pasa a través de la zona de obstáculos 1102, que puede ser, por ejemplo, la pieza de trabajo en proceso. Todas las configuraciones en la región de obstáculos 1102 violan los requerimientos de planificación por lo que no son aceptables. En el primer paso en el desarrollo de la ruta de posicionamiento inicial, se encuentra una configuración intermedia 1108 mediante el movimiento 1112 de la herramienta a lo largo de una dirección predefinida en el espacio de máquina, tal como dirección de eje de herramienta, de la configuración de comienzo 1104 sin cambiar la orientación de la herramienta. En el segundo paso, se determina la configuración intermedia 1110 mediante el movimiento 1114 a lo largo de una dirección predefinida en el espacio de máquina, tal como la dirección de eje de herramienta, de la configuración objetivo 1106.
En el tercer paso, las configuraciones intermedias 1108 y 1110 están conectadas 1116. Ya que las direcciones de eje de herramienta en la configuración intermedia 1108 y la configuración de comienzo 1104 son las mismas, como son las direcciones de eje de herramienta en las configuraciones intermedia y objetiva 1110, 1106, también permanecen iguales los valores de rotación de máquina en estas configuraciones. Por lo tanto, las distancias entre las configuraciones de comienzo e intermedia 1104, 1108 así como las configuraciones intermedias y objetivo 1110 y 1106 son distancias Euclidianas en el espacio de máquina y son denominadas ds y dg respectivamente. Con el fin de planificar una ruta entre las configuraciones de comienzo y objetivo 1104, 1106 se deben especificar ds y dg. Se puede idear una minimización bidimensional para identificar valores ds y dg que reducen al mínimo el tiempo de desplazamiento en tanto que aún se genera una ruta válida. La dimensión del problema se puede reducir además por un compromiso insignificante de la calidad de solución. Se puede asumir que ds=dg=d. La reducción al mínimo entonces se puede realizar por un método de búsqueda 1-D, tal como el método de búsqueda de razón áurea, para reducir al mínimo el tiempo de desplazamiento al reducir el valor d. La solución es un valor d que minimiza el tiempo de desplazamiento y conecta las configuraciones de comienzo y objetivo 1104 y 1106 en tanto que respeta todas las limitaciones definidas. El resultado de la búsqueda 1D es una ruta optimizada a lo largo de direcciones predefinidas. Esta ruta es una solución local al problema de hallazgo de rutas y se puede encontrar rápidamente.
Una vez que se determina la ruta de posicionamiento inicial, se puede desarrollar una ruta optimizada utilizando un enfoque basado en muestreo como se describe de forma adicional más adelante. Se obtiene un número de muestras del espacio de máquina, que se utilizan para construir una gráfica de rutas de posicionamiento posibles entre las configuraciones de comienzo y objetivo.
La figura 12 representa un método adicional de desarrollo de un programa NC. El método 1200 recibe unos datos CL para producir un componente (1202), e identifica las rutas de corte en los datos CL recibidos (1204). Para cada una de las rutas de corte identificadas (1206) se determina una ruta de posicionamiento para mover la herramienta de una configuración actual a una configuración objetivo (1208). Se determinan los datos NC para la ruta de posicionamiento y se anexan los datos NC a un programa NC (1210) para la generación del componente. Los datos NC para la ruta de corte se anexan al programa NC (1212). Los datos de movimiento que describen las rutas de corte y posicionamiento se proporcionan al simulador (1214) que utiliza los datos de movimiento para actualizar la pieza de trabajo simulada de acuerdo con la ruta de corte. Se actualiza la configuración a la configuración de tope de la ruta de corte, y se procesa la siguiente ruta de corte (1216). Se determina una ruta de posicionamiento para mover la herramienta de su configuración actual a una configuración de fin (1218), tal como una configuración de inicio de la máquina. Los datos NC para la ruta de posicionamiento final se determinan y se anexan al programa NC (1220).
Como se representa, la determinación de la ruta de posicionamiento entre una configuración de comienzo y una configuración objetivo puede implicar el ajuste de la configuración de comienzo con base en la detección de proximidad de paredes de pieza de trabajo (1222) y la configuración objetivo (1224). La configuración de comienzo y objetivo se puede ajustar de manera selectiva e independiente la una de la otra. La configuración de comienzo se puede ajustar utilizando una ruta de retracción no especificada (1226) y la configuración objetivo se puede ajustar utilizando una ruta de aproximación especificada (1228). De nuevo, estas configuraciones de comienzo y objetivo se pueden ajustar selectivamente de forma independientemente la una de la otra. Las configuraciones de comienzo y objetivo se pueden ajustar sobre la base de unas distancias seguras mínimas (1230) si es necesario. La configuración de comienzo u objetivo puede ya adaptar la herramienta de compensación más grande, en cuyo caso no cambiará la configuración; Sin embargo, las configuraciones aún se deben verificar contra la herramienta de compensación más grande. Cuando se ajustan las configuraciones de comienzo y objetivo para una distancia segura mínima, se deben considerar ambas de las configuraciones de comienzo y objetivo por lo que la herramienta de compensación más grande no estará en contacto con la pieza de trabajo en cualquiera de la configuración de comienzo o la configuración de fin.
Una vez que se ajustan las configuraciones de comienzo y objetivo, se determina una ruta de posicionamiento inicial que se mueve de la configuración de comienzo ajustada a la configuración objetivo (1232). La ruta de posicionamiento inicial se puede determinar cómo se describió anteriormente. La ruta de posicionamiento inicial se asocia con un costo de tiempo. Se pueden determinar costes de tiempo de rutas utilizando una simulación de la máquina o se pueden determinar sobre la base de la información disponible de la máquina. Por ejemplo, si se conoce la velocidad máxima de desplazamiento a lo largo de los diferentes ejes de máquina, se puede estimar el coste de tiempo utilizando las velocidades y distancia de la ruta. La simulación puede proporcionar una estimación de coste de tiempo más precisa, por ejemplo, al representar la aceleración a lo largo de los ejes de máquina.
Una vez que se determina la ruta de posicionamiento inicial, se determina una ruta de posicionamiento optimizada, es decir una ruta de posicionamiento que toma menos tiempo para completar. La ruta de posicionamiento se determina utilizando una técnica basada en muestreo. Se determina un muestreo determinístico y estratégico del espacio de máquina (1236). La eficiencia y calidad de la solución de un planificador de rutas basado en muestreo depende de qué tan bien el planificador muestree el espacio de configuración. El muestreo con resoluciones finas puede dar por resultado una ruta más óptima, pero también incrementa el tiempo de computación. Con el fin de lograr un equilibrio entre el rendimiento y la calidad de ruta, se utiliza un método de muestreo determinístico y estratégico.
La figura 13 representa el muestreo de espacio de máquina para el desarrollo de una ruta de posicionamiento. La figura representa el muestreo en 2D con el fin de facilitar la descripción. Un experto en la materia apreciará fácilmente cómo aplicar las enseñanzas a dimensiones más grandes. El muestreo determinístico y estratégico (1236) se realiza por muestreo individual de cada eje de movimiento. Las regiones estratégicas que rodean características relevantes de un lugar de mecanizado se identifican para muestreo. Las configuraciones de muestra se toman de las regiones identificadas para cada eje. Estas regiones que rodean las características relevantes del lugar de mecanizado pueden incluir regiones 1304c, 1304d que rodean configuraciones de comienzo y objetivo 1104, 1106, regiones 1304a, 1304b que rodean configuraciones óptimas 1108, 1110 de una ruta de posicionamiento conocida, y regiones 1304e que rodean cuadros delimitadores de objetos del lugar, uno de los cuales 1302 se representa en la figura 13, que incluye la pieza de trabajo como accesorios, abrazaderas de equipo, dispositivos sujetadores, partes de máquina, etc. Estos cuadros delimitadores se pueden proporcionar a partir de la simulación de la máquina CNC y de pueden utilizar para mejorar la calidad de muestreo. Cada eje de movimiento tiene un valor mínimo y máximo sobre la base de los límites de desplazamiento de máquina. La región entre el eje mínimo y máximo se divide en extensiones diferentes utilizando ubicaciones que corresponden a las configuraciones de comienzo y objetivo. Las configuraciones de muestra representadas como puntos negros, una de las cuales se cita como 1306, se recolectan de las regiones identificadas. Cada extensión entonces se verifica para comprobar si se ha muestreado por las ubicaciones estratégicas. Se pueden recoger más muestras a partir de una extensión, si no se ha muestreado una sección grande de la misma. Una resolución de muestreo mínima define la diferencia posible mínima entre las muestras a lo largo de cada eje. El método determina si el muestreo tuvo éxito (1238). Si ya no se puede muestrear el eje con la resolución especificada (no en 1238), el muestreo se declara sin éxito y si no se pueden muestrear las muestras a una resolución más baja, el proceso finaliza (1240). Si el muestreo determinístico y estratégico (1236) no muestreó el eje de máquina a la resolución de muestreo mínima, se puede reducir la resolución y se determinan muestras adicionales. Aunque lo anterior ha descrito el uso de muestreo determinístico para tener muestras de regiones identificadas, se contempla que se pueden utilizar otras técnicas de muestreo. Por ejemplo, se puede utilizar muestreo aleatorio del espacio de máquina; sin embargo, este muestreo puede dar como resultado la consideración de un número más grande de muestras y como tal, puede requerir tiempo de computación adicional para determinar la ruta.
Si tuvo éxito el muestreo (Sí en 1238), las muestras recogidas 1306 para cada eje se utilizan para construir una gráfica de búsqueda (1242). Las ubicaciones de las muestras recogidas en cada eje se utilizan para construir una red de cuadrícula de muestras como una gráfica de búsqueda. La red de cuadrícula se construye sobre la base de una definición de vecindad. En general, un vecino de una configuración Q puede tener 1 a P coordenadas que difieren de aquellas de Q, en donde P es la dimensión espacial. Por ejemplo, en un espacio 2D (es decir P=2) para un punto Q, se puede definir un total de ocho vecinos. Cuatro de estos vecinos tienen una coordenada diferente de Q y los otros cuatro tienen dos coordenadas diferentes de Q. Una vez que se define la vecindad, la red de cuadrícula de muestras se crea al conectar ubicaciones muestreadas cercanas. La red de cuadrícula entonces se proporciona como una gráfica de búsqueda. Entonces se busca en la gráfica generada utilizando un método discreto de búsqueda heurística tal como A* (1244). La búsqueda A* encuentra una ruta de coste mínimo en la gráfica entre las configuraciones de comienzo y objetivo. El coste de la solución conocida se utiliza en el algoritmo A* como un límite superior para la solución. Por lo tanto, el algoritmo A* se vuelve más rápido al cortar aquellos nodos que darían por resultado una ruta más costosa que la solución conocida.
El resultado de llevar a cabo la búsqueda de gráfica es ya sea una ruta más rápida que la solución conocida o ninguna ruta. El método determina si existe alguna ruta a través de la gráfica que proporcione una ruta más rápida que la ruta inicial. Puede no encontrarse alguna ruta cuando todas las rutas posibles a través de los nodos de la gráfica entre el comienzo y objetivo son más tardadas que la solución conocida. Esto significa que el muestreo no fue suficientemente bueno para generar una solución mejor que la solución conocida. Por lo tanto, si no existen rutas más rápidas (no en 1246), se pueden recoger más muestras (1236) o intentar recoger. El muestreo estratégico se puede realizar en la resolución de muestreo utilizada previamente, o se puede reducir la resolución de muestreo. En esta etapa, se recogen más muestras de regiones no muestreadas de cada extensión a lo largo de cada eje, y si tiene éxito el muestreo, se construye una nueva gráfica que incluye las nuevas muestras (1242). De forma alternativa, se pueden añadir las nuevas muestras a la gráfica existente. Una vez que el algoritmo A* identifica una ruta más rápida que la solución anterior, se necesita comprobar y verificar (1948) por la funcionalidad de simulación y verificación. Si la ruta (No en 1248) es inválida, se identifican segmentos de rutas inválidos y se eliminan de la gráfica (1254). Se determina si se agota la gráfica (1256). Si la gráfica ya no es capaz de generar una ruta entre el comienzo y objetivo, se declara agotada (Sí en 1256) y el procesamiento regresa para recoger más muestras (1236). De otra forma, la gráfica no está agotada (No en 1256) y por lo que se busca en la gráfica (1244) para encontrar la siguiente ruta de coste mínimo. Si la verificación no reporta problemas para la ruta (Sí en 1248), se declara válida y el método puede determinar si se debe optimizar de forma opcional la ruta (1250). Si la ruta no se tiene que optimizar de forma opcional (No en 1250) se regresa a la ruta de posicionamiento (1258). Si la ruta se va a optimizar de forma opcional (Sí en 1250), el coste asociado con la ruta de posicionamiento actual se establece como el límite superior (1252) y se pueden recuperar (1236) nuevas muestras en un intento de encontrar una ruta mejorada.
La figura 14 representa el desarrollo de la ruta de posicionamiento. La figura representa las rutas de posicionamiento en 2D con el fin de facilitar la descripción. Un experto ordinario en la materia apreciará fácilmente cómo aplicar las enseñanzas a mayores dimensiones. Se representan mediante líneas punteadas un número de rutas de posicionamiento potenciales entre la configuración de comienzo 1104 y la configuración objetivo 1106. Se representan tres rutas de posicionamiento potenciales. La primera ruta 1402 puede no proporcionar una mejor ruta de posicionamiento ya que puede tener un coste de tiempo más grande que la ruta de posicionamiento inicial. Otra ruta potencial 1404 puede proporcionar una ruta de coste menor; sin embargo, puede no proporcionar la ruta de coste más bajo de todas las rutas válidas y como tal no es óptima. Otra ruta de posicionamiento posible 1406 puede proporcionar la ruta de coste más bajo, sin embargo, no es válida ya que viola las limitaciones ya que requiere que la herramienta se mueva a través de la pieza de trabajo. Finalmente, la ruta 1408 es válida ya que no viola ninguna limitación y conecta las configuraciones de comienzo y objetivo. La ruta 1408 también tiene un coste de tiempo menor asociado con la misma que la ruta de posicionamiento inicial y la ruta de posicionamiento determinada 1404 y como tal proporciona una ruta de posicionamiento mejor que la ruta determinada de forma inicial. Las configuraciones de comienzo y objetivo 1104, 1106 pueden ser ya sea configuraciones recibidas de forma inicial, o pueden ser las configuraciones de comienzo y objetivo como se ajustan sobre la base de las personalizaciones de rutas especificadas de forma opcional.
Lo anterior ha descrito la generación automática de una ruta de posicionamiento optimizada al generar una ruta de posicionamiento inicial utilizando una técnica de reducción al mínimo y búsqueda direccional rápida. La ruta de posicionamiento inicial entonces se puede utilizar para generar una ruta de posicionamiento optimizada utilizando un enfoque basado en muestreo determinístico. Aunque la ruta de posicionamiento inicial puede reducir el tiempo necesario para generar la ruta de posicionamiento optimizada utilizando el enfoque basado en muestreo determinístico, no es necesario tener una ruta de posicionamiento inicial. En este caso, la primera ruta de posicionamiento válida encontrada por el enfoque basado en muestreo determinístico se puede utilizar como el límite superior en los costos para la optimización de la ruta de posicionamiento.
La figura 15 representa un método para la generación de datos de ruta de posicionamiento para una máquina CNC. El método 1500 determina una configuración de comienzo de máquina y una configuración objetivo de máquina de una herramienta en un espacio de configuración de máquina (1502). La determinación de las respectivas configuraciones de máquina puede comprender desplazar una ubicación de herramienta recibida especificada en un espacio de coordenadas de la pieza de trabajo en el espacio de máquina. Además, las configuraciones de máquina se pueden ajustar con base en personalizaciones de las rutas especificadas de forma opcional. El método identifica unas respectivas regiones que rodean una o más características relevantes de un lugar de mecanizado (1504) en el espacio de configuración de máquina para muestreo de configuraciones de máquina posibles y determina una pluralidad de configuraciones de máquina posibles a partir de cada una de dicha una o más regiones identificadas en el espacio de configuración de máquina (1506). El método determina una ruta de posicionamiento a partir de la pluralidad de configuraciones de máquina posibles que conectan la configuración de comienzo a la configuración objetivo (1508). La ruta se puede determinar usando diferentes técnicas que incluyen, por ejemplo, una técnica de búsqueda heurística de gráfica tal como un enfoque de búsqueda A*. Una vez que se determina una ruta de posicionamiento, el método determina si la ruta de posicionamiento determinada es válida usando una simulación de la máquina CNC (1510). La simulación de la máquina CNC determina si la ruta de posicionamiento viola cualquier limitación de mecanizado al simular la ruta utilizando los productos en proceso de la pieza de trabajo y las características de máquina, que incluyen la cinemática de la máquina, límites de velocidades y aceleración de desplazamiento de ejes de la máquina, limitaciones de desplazamiento para cada eje de control, metodologías de posicionamiento, configuración de la pieza de trabajo, ubicación de componentes o accesorios de máquina, y ubicación de abrazaderas. Si es válida la ruta de posicionamiento, el método genera datos de ruta de posicionamiento para mover la herramienta de la máquina CNC a lo largo de la ruta de posicionamiento determinada (1512). Los datos de la ruta de posicionamiento pueden comprender datos NC, o se pueden especificar en cualquier otro formato adecuado.
La figura 16 representa un sistema para mecanizar una pieza. El sistema 1600 comprende un dispositivo de cómputo CAD/CAM 1602 que se utiliza para especificar la geometría de la pieza que se va a mecanizar. El dispositivo CAD/CAM se puede proporcionar por una computadora de escritorio o servidor o dispositivo de cómputo similar. El dispositivo de cómputo CAD/CAM 1602 puede producir información de ruta de herramienta para el mecanizado de la pieza. La información de ruta de herramienta se proporciona a un dispositivo de cómputo de postprocesador NC 1606. La información se puede proporcionar a través de una red 1604, o se puede proporcionar usando medios transferibles u otros tipos de comunicación adecuada para transferir la información del dispositivo de cómputo CAD/CAM 1602 al dispositivo de cómputo de postprocesador NC 1606. Además, aunque se representa como situada en computadoras físicas separadas, es posible que el postprocesador NC esté previsto sobre la misma computadora como el software CAD/CAM. El postprocesador NC genera código específico de máquina para controlar una máquina CNC particular 1610, 1612. El código específico de la máquina se puede especificar como un programa NC que se puede proporcionar a la máquina CNC particular a través de una red 1608 u otro medio de comunicación adecuado tal como medios transferibles.
El postprocesador NC puede incluir una funcionalidad de planificación de rutas de posicionamiento 1616 para la generación automática de rutas de posicionamiento para máquinas basada en configuraciones de comienzo y objetivo y utilizando una simulación de la máquina como se describió anteriormente. De forma adicional o alternativa, el dispositivo de cómputo CAD/CAM 1602 puede incorporar una funcionalidad de planificación de rutas de posicionamiento similar 1614 para la generación de rutas de posicionamiento como se describió anteriormente dentro del dispositivo CAD/CAM. La funcionalidad de postprocesador NC se puede incorporar al software CAD/CAM con el fin de simplificar la generación del código para el mecanizado de la pieza en una máquina CNC particular. Como se representa, la generación automática de la ruta de posicionamiento permite que se genere automáticamente un código específico para diferentes tipos de máquinas CNC 1610, 1612 sin requerir una entrada adicional del usuario, aparte de especificar qué máquina CNC se va a utilizar. De forma adicional, o alternativa, las máquinas CNC 1618, 1620, o de forma más particular los controladores de la máquina CNC, pueden incorporar una funcionalidad de planificación de rutas de posicionamiento similar 1618, 1620 para la generación de rutas de posicionamiento como se describió anteriormente.
Lo anterior ha descrito diferentes formas de realización particulares con respecto a la generación de rutas de posicionamiento para máquinas CNC de 3, 4 o 5 ejes. Se contempla que se pueden aplicar las mismas técnicas como se enseña en la presente memoria a otros dispositivos de mecanizado que incorporan grados de libertad adicionales o superiores. Por ejemplo, se pueden generar rutas de posicionamiento para el mecanizado de una pieza en una máquina CNC que tiene 6 ejes, o utilizando un dispositivo de mecanizado robot que tiene más grados de libertad.
Independientemente de si se implementa la funcionalidad de planificación de rutas de posicionamiento en el dispositivo de cómputo CAD/CAM, el dispositivo de cómputo de procesador NC o el controlador de una de las máquinas CNC, se proporciona la funcionalidad de planificación de rutas de posicionamiento al ejecutar instrucciones almacenadas en una memoria utilizando un procesador del dispositivo de cómputo respectivo. Las instrucciones cuando son ejecutadas por el procesador, configuran el dispositivo de cómputo para proporcionar la funcionalidad de planificación de rutas de posicionamiento descrita anteriormente.
Aunque la descripción divulga métodos, sistemas y aparatos de ejemplo que incluyen, entre otros, componentes, software ejecutado en hardware, se debe señalar que estos métodos y aparatos son simplemente ilustrativos y no se deben considerar como limitativos. Por ejemplo, se contempla que estos componentes de hardware y software se pueden incorporar exclusivamente en hardware, exclusivamente en software, exclusivamente en firmware, o en cualquier combinación de hardware, software, y/o firmware. Además, la funcionalidad descrita se puede proporcionar como código o instrucciones almacenadas en medios transitorios o no transitorios. Además, aunque se representan ciertos componentes o aparatos como un solo componente físico, se contempla que se pueden implementar como múltiples componentes separados. Más aún, se contempla que la funcionalidad de múltiples componentes separados descrita en la presente se pueda proporcionar en un solo componente. En consecuencia, en tanto que lo siguiente describe sistemas, métodos y aparatos de ejemplo, los expertos en la materia apreciarán fácilmente que los ejemplos proporcionados no son la única forma de implementar estos sistemas, métodos y aparatos.
Aunque se ha descrito la presente invención junto con una o más formas preferidas para ponerla en práctica, los expertos ordinarios en la materia entenderán que se pueden realizar muchas modificaciones a la misma dentro del alcance de las reivindicaciones siguientes. En consecuencia, no se propone que el alcance de la invención sea limitado y alguna forma por la descripción anterior.

Claims (24)

REIVINDICACIONES
1. Método para la generación de datos de ruta de posicionamiento para un programa NC para una máquina (1610, 1612) de control numérico computarizado (CNC), comprendiendo el método:
determinar, mediante un dispositivo de cómputo (1602, 1606), una configuración de máquina de comienzo (1104) y una configuración de máquina objetivo (1106) en un espacio de configuración de máquina; identificar, mediante el dispositivo de cómputo (1602, 1606), unas respectivas regiones que rodean una o más características relevantes de un lugar de mecanizado en el espacio de configuración de máquina para muestreo de configuraciones de máquina posibles;
determinar, mediante el dispositivo de cómputo (1602, 1606), una pluralidad de configuraciones de máquina posibles a partir de cada una de dicha una o más regiones identificadas en el espacio de configuración de máquina; determinar, mediante el dispositivo de cómputo (1602, 1606), una ruta de posicionamiento (1112, 1114, 1116) a partir de la pluralidad de configuraciones de máquina posibles que conectan la configuración de máquina de comienzo (1104) con la configuración de máquina objetivo (1106);
determinar, mediante el dispositivo de cómputo (1602, 1606), si la ruta de posicionamiento (1112, 1114, 1116) determinada es válida utilizando una simulación de la máquina CNC (1610, 1612), donde la ruta de posicionamiento es válida cuando las limitaciones de mecanizado no son violadas; y
generar, mediante el dispositivo de cómputo (1602, 1606), unos datos de ruta de posicionamiento para mover una herramienta de la máquina CNC (1610, 1612) a lo largo de la ruta de posicionamiento determinada, si se determina que la ruta de posicionamiento es válida.
2. Método según la reivindicación 1, que comprende asimismo:
determinar una ruta de posicionamiento inicial que conecta la configuración de máquina de comienzo (1104) con la configuración de máquina objetivo (1106) sin violar las limitaciones de mecanizado; y
en el que se determina que la ruta de posicionamiento (1112, 1114, 1116, 1408) determinada a partir de la pluralidad de configuraciones de máquina posibles tiene un coste de tiempo asociado menor que un coste de tiempo de la ruta de posicionamiento inicial, representando el coste de tiempo un tiempo de desplazamiento de una respectiva ruta de posicionamiento.
3. Método según la reivindicación 2, en el que la determinación de la ruta de posicionamiento inicial comprende: determinar una primera ruta de posicionamiento (1112) entre la configuración de máquina de comienzo (1104) y una primera configuración intermedia (1108) que está definida por la traslación de la configuración de máquina de comienzo (1104) una primera distancia (1108) en una primera dirección predefinida;
determinar una segunda ruta de posicionamiento (1114) entre la configuración de máquina objetivo (1106) y una segunda configuración intermedia (1110) que es definida por la traslación de la configuración de máquina objetivo (1106) una segunda distancia (1110) en una segunda dirección predefinida;
determinar una tercera ruta de posicionamiento (1116) que conecta la primera configuración intermedia (1108) y la segunda configuración intermedia (110); y
optimizar el coste de tiempo asociado con la ruta de posicionamiento inicial como la primera, segunda y tercera rutas de posicionamiento mediante la reducción de la primera distancia y la segunda distancia sin provocar que la ruta de posicionamiento inicial viole las limitaciones de mecanizado.
4. Método según la reivindicación 3, en el que la primera distancia y la segunda distancia que se reducen son las mismas distancias.
5. Método según la reivindicación 3 o 4, que comprende asimismo:
determinar si la ruta de posicionamiento inicial viola las limitaciones de mecanizado; y
si la ruta de posicionamiento inicial viola las limitaciones de mecanizado:
trasladar la configuración de máquina de comienzo (1104) y la configuración de máquina objetivo (1106) en otras respectivas direcciones predefinidas que son diferentes de las respectivas primera y segunda direcciones; y
determinar la tercera ruta de posicionamiento que conecta la primera configuración intermedia y la segunda configuración intermedia.
6. Método según cualquiera de las reivindicaciones 3 a 5, en el que la primera dirección predefinida, la segunda dirección predefinida, y las otras direcciones predefinidas se seleccionan de entre una o más de entre:
una dirección basada en una orientación de eje de herramienta de la configuración de comienzo;
una dirección basada en una orientación de eje de herramienta de la configuración objetivo; y
una dirección basada en un eje de control de la máquina CNC (1610, 1612).
7. Método según cualquiera de las reivindicaciones 2 a 6, en el que se determina un coste de tiempo asociado con una ruta de posicionamiento mediante la simulación del movimiento de la máquina CNC (1610, 1612).
8. Método según cualquiera de las reivindicaciones 2 a 7, en el que la determinación de si una ruta viola las limitaciones de mecanizado comprende utilizar un simulador de la máquina CNC (1610, 1612) para determinar si la ruta es válida o no.
9. Método según cualquiera de las reivindicaciones 1 a 8, en el que la determinación de la configuración de máquina de comienzo (1104) y la configuración de máquina objetivo (1106) en el espacio de configuración de máquina comprende ajustar por lo menos una de entre la configuración de máquina de comienzo y la configuración de máquina objetivo con respecto a una respectiva configuración inicial (1004, 1006) basada en una o más preferencias del usuario.
10. Método según la reivindicación 9, en el que el ajuste de por lo menos una de entre la configuración de máquina de comienzo y la configuración de máquina objetivo comprende, para la respectiva configuración que se ajusta: trasladar la respectiva configuración inicial (1004, 1006) a lo largo de una ruta (1022, 1026) con el fin de mover la herramienta de la máquina CNC (1610, 16012) fuera de contacto con la pieza de trabajo (1002); y añadir la ruta de traslación (1022, 1026) de la respectiva configuración a los datos de ruta de posicionamiento.
11. Método según la reivindicación 10, en el que la traslación de la respectiva configuración inicial se determina al: muestrear una pluralidad de ubicaciones de esfera de una superficie de una esfera (1018) centrada alrededor de la respectiva configuración inicial (1004, 1006);
identificar una ubicación de esfera muestreada que no provoca que la herramienta esté en contacto con la pieza de trabajo (1002) cuando la herramienta es trasladada a la ubicación de esfera muestreada; y determinar que la ruta de traslación de la herramienta a la ubicación de esfera muestreada es válida.
12. Método según cualquiera de las reivindicaciones 9 a 11, en el que el ajuste de por lo menos una de entre la configuración de máquina de comienzo y la configuración de máquina objetivo comprende por lo menos uno de entre: ajustar la configuración de máquina de comienzo basada en una ruta de retracción especificada por el usuario; ajustar la configuración de máquina objetivo basada en una ruta de aproximación especificada por el usuario; determinar que las rutas que ajustan la configuración de máquina de comienzo y la configuración de máquina objetivo basada en la ruta de retracción y/o aproximación especificada por el usuario son válidas; y añadir los movimientos de los ajustes a las configuraciones de máquina de comienzo y objetivo (1106) a los datos de ruta de posicionamiento.
13. Método según cualquiera de las reivindicaciones 9 a 12, en el que el ajuste de por lo menos una de entre la configuración de máquina de comienzo (1104) y la configuración objetivo (1106) comprende:
ajustar la configuración de máquina de comienzo (1104) en una ubicación que aloja un tamaño de herramienta ampliado por una distancia de seguridad mínima especificada por el usuario;
ajustar la configuración de máquina objetivo (1106) en una ubicación que aloja el tamaño de herramienta ampliado;
determinar que las rutas que ajustan la configuración de máquina de comienzo (1104) y la configuración de máquina objetivo (1106) en una ubicación que aloja el tamaño de herramienta ampliado son válidas; añadir los movimientos de los ajustes a las configuraciones de máquina de comienzo y objetivo (1106) a los datos de ruta de posicionamiento; y
ajustar la simulación de la máquina CNC (1610, 1612) para utilizar una herramienta de compensación con una compensación basada en la distancia de seguridad mínima especificada por el usuario cuando se determina si la ruta de posicionamiento es válida.
14. Método según cualquiera de las reivindicaciones 1 a 13, en el que las características relevantes del lugar de mecanizado en el espacio de configuración de máquina comprenden uno o más de entre:
unas configuraciones conocidas a lo largo de una ruta de posicionamiento; y
unos respectivos cuadros delimitadores de uno o más objetos en el lugar de mecanizado.
15. Método según cualquiera de las reivindicaciones 1 a 14, que comprende asimismo:
dividir unos ejes de control de la máquina CNC (1610, 1612) en unas extensiones basadas en valores de desplazamiento máximos y mínimos para el respectivo eje de control y las configuraciones de máquina de comienzo y objetivo (1104, 1106);
determinar si cada una de las extensiones ha sido muestreada por la pluralidad de posibles configuraciones de las regiones identificadas; y
recoger una pluralidad de configuraciones de máquina posibles adicionales desde el exterior de las regiones identificadas para proporcionar muestras de posibles configuraciones de máquina de cada una de las extensiones.
16. Método según la reivindicación 15, en el que se define una resolución de muestreo mínima para cada uno de los ejes de control de la máquina CNC (1610, 1612), definiendo la resolución de muestreo mínima la distancia mínima entre muestras del respectivo eje de control.
17. Método según cualquiera de las reivindicaciones 1 a 16, en el que la determinación de la ruta de posicionamiento comprende:
generar un gráfico que comprende una red de cuadrícula de la pluralidad de posibles configuraciones de máquina, la configuración de máquina de comienzo (1104) y la configuración de máquina objetivo (1106); y buscar en la gráfica una ruta de la configuración de máquina de comienzo (1104) a la configuración de máquina objetivo (1106).
18. Método según la reivindicación 17, en el que se busca en la gráfica utilizando una técnica de búsqueda basada en heurística que encuentra una ruta de coste más bajo que es menor que un límite superior a través de la gráfica si existe dicha ruta.
19. Método según la reivindicación 18, en el que, cuando existe la ruta a través de la gráfica, la ruta se utiliza como la ruta de posicionamiento, y en el que la determinación de si la ruta de posicionamiento es válida comprende: recibir una indicación de la simulación de la máquina CNC (1610, 1612) de que la ruta de posicionamiento es válida o no, comprendiendo la indicación una indicación de una configuración que provocó la invalidez de la ruta de posicionamiento cuando la ruta de posicionamiento es inválida;
determinar un segmento de la gráfica asociado con la configuración indicada que provocó la invalidez de la ruta de posicionamiento; y
eliminar el segmento determinado de la gráfica.
20. Método según la reivindicación 19, que comprende asimismo:
determinar si la búsqueda de la gráfica ha agotado todas las rutas posibles cuando la ruta de posicionamiento no es válida; y
buscar en la gráfica de nuevo, cuando la búsqueda de la gráfica no está agotada, una ruta de la configuración de máquina de comienzo (1104) a la configuración de máquina objetivo (1106).
21. Método según cualquiera de las reivindicaciones 18 a 20, que comprende asimismo:
recoger una pluralidad adicional de configuraciones de máquina posibles del espacio de configuración de máquina cuando no se encuentra ninguna ruta a través de la gráfica que tiene un coste asociado menor que el límite superior o cuando la búsqueda de la gráfica está agotada; y
generar la gráfica que comprende una red de cuadrícula de entre la pluralidad de posibles configuraciones de máquina, la configuración de máquina de comienzo (1104), la configuración de máquina objetivo (1106) y la pluralidad adicional de posibles configuraciones; y
buscar en la gráfica una ruta de la configuración de máquina de comienzo (1104) a la configuración de máquina objetivo (1106).
22. Método según cualquiera de las reivindicaciones 1 a 21, en el que la simulación de la máquina CNC (1610, 1612) incorpora características de máquina en la simulación del mecanizado en la máquina CNC (1610, 1612), comprendiendo las características de máquina uno o más de entre:
cinemática de la máquina;
límites de velocidad;
límites de aceleración;
limitaciones de desplazamiento para cada eje de máquina;
metodologías de posicionamiento;
configuración de pieza de trabajo (1002);
ubicación de componentes o accesorios de máquina; y
ubicación de dispositivos sujetadores, y
en el que la simulación de la máquina CNC (1610, 1612) simula unas piezas de trabajo (1002) que cambian de forma dinámica.
23. Dispositivo de cómputo (1602, 1606) para la generación de datos de ruta de posicionamiento para un programa NC para una máquina de control numérico computarizado (CNC) (1610, 1612), que comprende:
un procesador para ejecutar instrucciones; y
una memoria para almacenar instrucciones, que cuando son ejecutadas por el procesador configuran el sistema (1602, 1606) para proporcionar un método según cualquiera de las reivindicaciones 1 a 22.
24. Sistema para el mecanizado de una pieza, comprendiendo el sistema:
el dispositivo de cómputo (1602, 1606) según la reivindicación 23 para generar datos de ruta de posicionamiento para un programa NC para una máquina de control numérico computarizado (CNC) (1610, 1612); y
la máquina CNC (1610, 1612) para recibir el programa NC y mecanizar una parte de una pieza de trabajo (1002) de acuerdo con el programa NC.
ES14832853T 2013-08-02 2014-05-26 Dispositivo, sistema y métodos para la optimización y el desarrollo automáticos de rutas de posicionamiento para mecanizado multieje controlado numéricamente Active ES2855179T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/957,949 US9465380B2 (en) 2013-08-02 2013-08-02 Device, system and methods for automatic development and optimization of positioning paths for multi-axis numerically controlled machining
CA2822563A CA2822563C (en) 2013-08-02 2013-08-02 Device, system and methods for automatic development and optimization of positioning paths for multi-axis numerically controlled machining
PCT/CA2014/000452 WO2015013800A1 (en) 2013-08-02 2014-05-26 Device, system and methods for automatic development and optimization of positioning paths for multi-axis numerically controlled machining

Publications (2)

Publication Number Publication Date
ES2855179T3 true ES2855179T3 (es) 2021-09-23
ES2855179T8 ES2855179T8 (es) 2021-11-17

Family

ID=52430778

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14832853T Active ES2855179T3 (es) 2013-08-02 2014-05-26 Dispositivo, sistema y métodos para la optimización y el desarrollo automáticos de rutas de posicionamiento para mecanizado multieje controlado numéricamente

Country Status (6)

Country Link
EP (1) EP3028103B1 (es)
JP (1) JP6438023B2 (es)
CA (1) CA2920046C (es)
ES (1) ES2855179T3 (es)
MX (1) MX356290B (es)
WO (1) WO2015013800A1 (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10564626B2 (en) * 2016-01-29 2020-02-18 Sandvik Intellectual Property Ab Planning of computer numerical control (CNC) machining operations with the aid of a digital computer
JP6450732B2 (ja) * 2016-11-11 2019-01-09 ファナック株式会社 数値制御装置
CN108549328B (zh) * 2018-03-22 2020-05-26 汇川技术(东莞)有限公司 自适应速度规划方法及系统
CN109162407B (zh) * 2018-09-25 2020-08-04 重庆大学产业技术研究院 一种基于人工势场法的钢筋混凝土构件交叉区域钢筋自动避障方法
JP7042209B2 (ja) * 2018-12-25 2022-03-25 株式会社日立製作所 軌道生成装置、軌道生成方法、及びロボットシステム
EP3964904A4 (en) * 2019-06-28 2022-07-06 DMG Mori Co., Ltd. INFORMATION PROCESSING DEVICE, METHOD AND PROGRAM
CN110757457A (zh) * 2019-10-31 2020-02-07 重庆大学 一种物联网机器人的加工仿真方法、装置及系统
JP7505877B2 (ja) * 2019-12-02 2024-06-25 ファナック株式会社 制御システム
CN112157484B (zh) * 2020-09-09 2022-05-20 华中科技大学 一种树脂基复合材料的磨削方法
JP6988017B1 (ja) * 2021-06-07 2022-01-05 Dmg森精機株式会社 情報処理装置および工作機械

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60023516T2 (de) * 2000-11-21 2006-04-20 Mori Seiki Co., Ltd., Yamatokoriyama Gerät zur Erzeugung von Werkzeugbahndaten für NC-Maschine und mit diesem Gerät ausgerüstete numerische Steuerung
JP2004145544A (ja) * 2002-10-23 2004-05-20 Sumitomo Heavy Ind Ltd 加工計画方法及び装置
US8538574B2 (en) * 2009-04-02 2013-09-17 Dmg Electronics Gmbh Method and apparatus for generating control data for controlling a tool on a machine tool
US8244386B2 (en) * 2009-10-08 2012-08-14 Hurco Companies, Inc. Machine tool system control having automatic safe repositioning
JP5149421B2 (ja) * 2011-05-20 2013-02-20 ファナック株式会社 加工時間予測部および加工誤差予測部を有する数値制御装置
JP6164917B2 (ja) * 2013-05-10 2017-07-19 キヤノン株式会社 物品処理装置、生成方法およびプログラム

Also Published As

Publication number Publication date
CA2920046C (en) 2019-07-16
MX356290B (es) 2018-05-22
EP3028103B1 (en) 2020-12-09
MX2016000986A (es) 2016-07-19
ES2855179T8 (es) 2021-11-17
JP6438023B2 (ja) 2018-12-12
EP3028103A1 (en) 2016-06-08
JP2016528620A (ja) 2016-09-15
EP3028103A4 (en) 2017-08-02
CA2920046A1 (en) 2015-02-05
WO2015013800A1 (en) 2015-02-05

Similar Documents

Publication Publication Date Title
ES2855179T3 (es) Dispositivo, sistema y métodos para la optimización y el desarrollo automáticos de rutas de posicionamiento para mecanizado multieje controlado numéricamente
US10078321B2 (en) Device, system and methods for automatic development and optimization of positioning paths for multi-axis numerically controlled machining
JP2016528620A5 (es)
JP5562430B2 (ja) 工具経路の生成方法および生成装置
US20130338807A1 (en) Cam integrated cnc control of machines
US10564626B2 (en) Planning of computer numerical control (CNC) machining operations with the aid of a digital computer
US10732604B2 (en) System and method for virtually calibrating a computer numeric controlled machine to compensate for surface distortions
Hu et al. Global obstacle avoidance and minimum workpiece setups in five-axis machining
US11307555B2 (en) Numerical control method and processing device
CN204584869U (zh) 曲面零件的加工设备
Makhanov et al. Advanced numerical methods to optimize cutting operations of five axis milling machines
JP2021072121A (ja) Cnc機械加工のための適応性経路生成
Saito et al. Accurate estimation of cutting time based on control principle of machine tool
CA2822563C (en) Device, system and methods for automatic development and optimization of positioning paths for multi-axis numerically controlled machining
US12117809B2 (en) Planning device, planning method, and planning program
US11397423B2 (en) Control system
Kobayashi et al. Tool motion control referring to voxel information of removal volume voxel model to achieve autonomous milling operation
Agrawal et al. Development of integrated CNC-RP system through CAD/CAM environment
EP3876050A1 (en) Processing support system
Nagata et al. CLS Data Interpolation along Spline Curves and Post Processing for FANUC Industrial Robots
Lin et al. An Optimization Research On Four-axis NC Machining Using UG Programming and VERICUT Simulation
Nagata et al. Post processor for industrial robots—Circular arc interpolation of CLS data to generate FANUC robotic program—
Jiang Modeling And Manufacturing Of Freeform Curved Surface Based On Five-coordinate Numerical Control
Feng A CAD based computer-aided tolerancing model for the machining process
Vavruška Creating a Multi-axis Machining Postprocessor