ITMI991877A1 - Metodo per eseguire la programmazione fuori linea di un robot industriale - Google Patents

Metodo per eseguire la programmazione fuori linea di un robot industriale Download PDF

Info

Publication number
ITMI991877A1
ITMI991877A1 IT1999MI001877A ITMI991877A ITMI991877A1 IT MI991877 A1 ITMI991877 A1 IT MI991877A1 IT 1999MI001877 A IT1999MI001877 A IT 1999MI001877A IT MI991877 A ITMI991877 A IT MI991877A IT MI991877 A1 ITMI991877 A1 IT MI991877A1
Authority
IT
Italy
Prior art keywords
data
data acquired
sequences
predefined
industrial robot
Prior art date
Application number
IT1999MI001877A
Other languages
English (en)
Inventor
Paolo Conca
Leonardo Leani
Original Assignee
Abb Ricerca Spa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Abb Ricerca Spa filed Critical Abb Ricerca Spa
Priority to IT1999MI001877A priority Critical patent/IT1313346B1/it
Publication of ITMI991877A0 publication Critical patent/ITMI991877A0/it
Priority to AU72754/00A priority patent/AU7275400A/en
Priority to EP00960449A priority patent/EP1214178B1/en
Priority to PCT/EP2000/007893 priority patent/WO2001017729A1/en
Priority to DE60042079T priority patent/DE60042079D1/de
Priority to AT00960449T priority patent/ATE429311T1/de
Priority to US10/070,158 priority patent/US6522950B1/en
Publication of ITMI991877A1 publication Critical patent/ITMI991877A1/it
Application granted granted Critical
Publication of IT1313346B1 publication Critical patent/IT1313346B1/it

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/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • 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/4093Numerical 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 part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36249Generate automatically a balance program for workpiece, dynamic balance
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40107Offline task learning knowledge base, static planner controls dynamic online
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40507Distributed planning, offline trajectory, online motion, avoid collision
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Description

DESCRIZIONE
La presente invenzione si riferisce ad un metodo per eseguire la programmazione fuori linea della movimentazione di un robot industriale, dedicato ad un apparato industriale per la lavorazione di prodotti. Più in particolare, la presente invenzione si riferisce ad un metodo che consente di effettuare la programmazione fuori linea della movimentazione di un robot, utilizzando sequenze di istruzioni caratterizzate da un livello relativamente elevato di astrazione, in modo da aumentare notevolmente la flessibilità di utilizzo del robot riducendo, nel contempo, i tempi ed i costi di programmazione.
Sono noti nello stato dell'arte numerosi metodi per la programmazione della movimentazione di robot industriali. Con il termine "programmazione" si intende l'insieme di operazioni necessarie per generare sequenze di istruzioni di basso livello eseguibili dall'unità di comando e controllo del robot industriale. Queste sequenze di istruzioni di basso livello sono atte a controllare la movimentazione del robot in uno spazio libero, internamente all'isola di lavoro, in cui il robot è posizionato. Il tipo di movimentazione prescelto dipende in definitiva dal tipo di apparato cui il robot industriale è dedicato.
I metodi più diffusi prevedono la programmazione diretta dell'unità di comando e controllo, utilizzando dispositivi dedicati a facilitare l'autoapprendimento sul campo. In pratica, vengono memorizzate direttamente nell'unità di comando e controllo sequenze di istruzioni eseguibili di basso livello, implementate in uno dei linguaggi noti, come ad esempio il linguaggio RAPID® . Queste metodologie, sebbene soddisfino gli scopi cui esse sono destinate, presentano alcuni inconvenienti.
Vi è infatti la necessità di un periodo relativamente lungo di fermomacchina del robot, durante la sua programmazione. Questo fatto implica un notevole aumento dei costi di esercizio, con conseguente riduzione degli ambiti applicativi in cui esso può venire utilizzato con profitto.
Inoltre, la programmazione avviene sostanzialmente in modo manuale: i dati, seppure con relativa rapidità grazie all'utilizzo dei dispositivi dedicati descritti, devono essere inseriti uno ad uno. L'assenza di automatismi nell'inserimento dei dati implica un aumento notevole delle possibilità di errore. Inoltre, viene limitata la possibilità di scaricare questi dati da supporti informatici predefiniti. Per ovviare a questi inconvenienti si sono diffuse metodologie che prevedono la programmazione fuori linea della movimentazione del robot. Invece di essere memorizzate direttamente nell'unità di comando e controllo, le sequenze di istruzioni eseguibili sono generate in un supporto computerizzato separato dall'unità di comando e controllo. Le sequenze di istruzioni eseguibili vengono quindi scaricate nell'unità di comando e controllo, riducendo notevolmente il tempo di fermo-macchina.
Anche queste metodologie note dello stato dell'arte presentano però alcuni inconvenienti.
Innanzitutto, dato che, in genere, sono comunque utilizzate sequenze di istruzioni di basso livello, la programmazione risulta comunque complessa ed onerosa: in particolare, il codice risulta essere di difficile lettura e correzione. Questo richiede la presenza di personale altamente specializzato. Inoltre, sempre a causa dell'utilizzo di un linguaggio caratterizzato da un ridotto livello di astrazione, vi e la necessità di programmare il robot ogni qualvolta vi sia una variazione della lavorazione industriale operata dall'apparato cui il robot è dedicato. In pratica, anche per la lavorazione di prodotti lievemente dissimili tra loro, è necessario riprogrammare il robot. L’utilizzo di un linguaggio di basso livello, rende, in questi casi, difficoltoso il riutilizzo di sequenze di istruzioni già codificate. Infine, la pratica delle metodologie di questo tipo note dello stato dell'arte ha dimostrato che risulta comunque molto difficoltosa l'acquisizione di dati da supporti informatici predefiniti in cui il prodotto soggetto a lavorazione sia stato progettato con l'utilizzo di strumenti grafici dedicati, ad esempio un ambiente CAD (Computer Aided Design) . Ovviamente ciò costituisce un notevole limite in termini di flessibilità.
Compito precipuo della presente invenzione è la realizzazione di un metodo, per la programmazione fuori linea della movimentazione di un robot industriale, che consenta all'utente di operare, utilizzando sequenze di istruzioni caratterizzate da un grado relativamente elevato di astrazione.
Nell'ambito di questo compito, uno scopo della presente invenzione è quello di realizzare un metodo che consenta di utilizzare per la programmazione moduli applicativi standard, di facile utilizzo.
Un altro scopo della presente invenzione è quello di realizzare un metodo che consenta una facile e semplice acquisizione di dati da supporti informatici predefiniti, in particolare da ambienti informatici di progettazione tipo CAD.
Un ulteriore scopo della presente invenzione è quello di realizzare un metodo che consenta un facile riutilizzo di sequenze di istruzioni e/o dati già codificate e/o utilizzate in precedenza.
Un ulteriore scopo della presente invenzione è quello di realizzare un metodo che consenta di effettuare la programmazione fuori linea del robot anche da personale non altamente specializzato.
Non ultimo scopo della presente invenzione è quello di realizzare un metodo, per la programmazione fuori linea della movimentazione di un robot industriale, che sia di facile implementazione ed a costi competitivi.
Questo compito, questi ed altri scopi che meglio appariranno in seguito, sono pienamente raggiunti da un metodo per eseguire la programmazione fuori linea della movimentazione di un robot industriale, detto robot industriale essendo dedicato ad un apparato industriale per la lavorazione di prodotti e comprendendo almeno un'unità di comando e controllo, caratterizzato dal fatto di comprendere le fasi che consistono nel:
a) acquisire in un supporto computerizzato primi dati indicativi della configurazione di un'isola di lavoro relativa a detto robot industriale; b) acquisire, in detto supporto computerizzato, secondi dati indicativi della geometria di un prodotto sottoposto a lavorazione da detto apparato industriale;
c) acquisire, in detto supporto computerizzato, terzi dati indicativi di una sequenza di passi eseguita da detto apparato industriale per la lavorazione di detto prodotto;
d) acquisire, in detto supporto computerizzato, quarti dati indicativi della geometria di utensili utilizzati da detto apparato industriale durante la lavorazione di detto prodotto;
e) generare automaticamente, in detto supporto computerizzato, in base ai dati acquisiti in dette fasi a) e/o b) e/o c) e/o d), una o più prime sequenze di istruzioni di alto livello e una o più seconde sequenze di istruzioni di basso livello, dette prime e seconde sequenze di istruzioni essendo atte a gestire uno o più moduli applicativi memorizzati preventivamente a bordo di detta unità di comando e controllo; e
f) eseguire automaticamente, in detta unità di comando e controllo, dette prime e seconde sequenze di istruzioni.
Ulteriori caratteristiche e vantaggi dell'invenzione risulteranno maggiormente dalla descrizione di una forma di realizzazione preferita ma non esclusiva del metodo secondo la presente invenzione, illustrato a titolo indicativo e non limitativo negli uniti disegni, in cui:
la figura 1 illustra schematicamente la struttura di un’isola di lavoro di un robot industriale, dedicato ad un apparato industriale, in particolare di presso-piegatura;
la figura 2 illustra uno schema a blocchi che descrive schematicamente la successione di fasi implementate dal metodo secondo l'invenzione.
Con riferimento alla figura 1, viene descritta schematicamente una tipica configurazione di un'isola di lavoro per un robot dedicato ad un apparato di presso-piegatura. Il metodo secondo l'invenzione sarà descritto nel seguito, per ragioni di semplicità e senza volerne in alcun modo limitare gli scopi e l'ambito inventivo, facendo particolare riferimento a questo tipo di apparato industriale.
L'isola di lavoro 100 consiste in un'area (linea tratteggiata di figura 1) che comprende un robot industriale 1 connesso ad un'unità di comando e controllo 6 e dotato di organi meccanici (non illustrati in figura), per l'effettuazione di tutte le manovre necessarie. Per esempio, il robot 1 può essere di tipo antropomorfo e la sua movimentazione può avvenire con sei gradi di libertà.
Elementi costitutivi dell'isola di lavoro possono essere inoltre l'apparato di presso-piegatura 2, una stazione di prelievo 3, una stazione di ribaltamento 4 ed una stazione di scarico 5. Elementi ulteriori che sono importanti nella gestione della movimentazione di un robot industriale, sono gli utensili di lavorazione (non illustrati in figura) utilizzati dall'apparato industriale cui il robot è dedicato.
Con riferimento ora alla figura 2, il metodo secondo l'invenzione prevede nella fase a) di acquisire, in un supporto computerizzato 10, primi dati 11 indicativi della configurazione dell'isola di lavoro 100. In questa fase, sono acquisiti nel supporto computerizzato 10 dati indicativi della posizione relativa, rispetto alla posizione robot 1, dei vari elementi che costituiscono l'isola di lavoro, ad esempio gli elementi 2, 3, 4 e 5 di figura 1 descritti in precedenza. Il supporto computerizzato 10 può essere costituito da uno dei comuni sistemi computerizzati commerciali disponibili, opportunamente configurati utilizzando uno dei sistemi operativi diffusi. In una realizzazione preferita, al fine di assicurare una semplice ed efficace implementazione del metodo secondo l'invenzione, detto supporto computerizzato può utilizzare un sistema operativo di tipo WINDOWS NT<®>.
Il supporto computerizzato 10 è comunque reso interfacciabile con l'unità di comando e controllo 6 di figura 1: ciò può essere ottenuto mediante l'utilizzo di software dedicato.
In una forma realizzativa preferita del metodo secondo l’invenzione, la fase a) comprende i seguenti passi:
a.l) acquisire automaticamente una prima parte 12 dei dati 11 da uno o più supporti informatici predefiniti (non illustrati in figura 2);
a.2) integrare i dati acquisiti nel passo a.l) con una seconda parte 13 dei dati 11 acquisita mediante misurazioni nell'isola di lavoro 100, automaticamente eseguite da detto robot industriale. La seconda parte 13 di dati 11 e cioè acquisita, utilizzando preliminarmente il robot come sonda, accertando l'effettiva posizione relativa degli elementi dell'isola di lavoro. Ciò può essere ottenuto dotando il robot di sensori opportunamente posizionati. La seconda parte di dati 13 viene memorizzata nell'unità di comando e controllo 6 del robot 1 e successivamente acquisita dal supporto computerizzato 10. Il passo a.2) è particolarmente vantaggioso dato che, in questo modo, si allinea la configurazione della cella virtuale, disponibile grazie alla prima parte 12 dei dati 11, con la configurazione della cella reale, così come misurata dal robot 1;
a.3) integrare, se necessario, i dati acquisiti nei passi a.l) e/o a.2) con una terza parte 14 di detti primi dati 11 acquisita mediante misurazioni manuali nell'isola di lavoro 100;
a.4) integrare, se necessario, i dati acquisiti nei passi a.l) e/o a.2) e/o a.3) con una quarta parte 15 di detti primi dati 11 acquisita mediante editazione manuale da parte dell'utente.
I passi a.2)...a.4) assicurano l'integrazione della parte 12 di dati 11 acquisita automaticamente mediante una o più delle modalità note dello stato dell'arte. In una forma di realizzazione ulteriore, particolarmente vantaggiosa, detti dati 11 possono essere verificati (passo a.5)) con uno o più procedimenti di simulazione della movimentazione del robot industriale. In pratica, nel medesimo supporto computerizzato 10 o in altri supporti ad esso compatibili sono eseguite procedure per la simulazione del comportamento del robot. Vantaggiosamente, queste procedure di simulazione possono comprendere procedimenti di calcolo dei tempi di ciclo e della probabilità di collisione del robot industriale, contro gli ostacoli che ne delimitano eventualmente lo spazio libero di movimentazione.
Nella fase b) il metodo secondo l'invenzione prevede di acquisire, nel supporto computerizzato 10, secondi dati 20 indicativi della geometria del prodotto sottoposto a lavorazione. Possono essere acquisiti dati che forniscono indicazioni sulla struttura, geometria, dimensioni, ecc., del prodotto oggetto di lavorazione.
In una forma realizzativa preferita la fase b) comprende i passi: b.l) acquisire automaticamente una prima parte 21 dei secondi dati 20 da uno o più supporti informatici predefiniti. Particolarmente vantaggiosa risulta l'acquisizione da ambienti CAD disponibili commercialmente. In particolare, è possibile l'acquisizione da ambienti CAD che implementano rappresentazioni grafiche in due o tre dimensioni;
b.2) integrare, se necessario, i dati acquisiti nel passo b.l) con una seconda parte 22 di detti secondi dati 20, acquisita mediante il supporto di strumenti grafici predefiniti e/o editazione manuale. In particolare, ciò può essere ottenuto con notevole semplicità mediante la configurazione, nel supporto computerizzato 10, di un ambiente CAD dedicato.
Nella fase c) il metodo secondo l'invenzione prevede di acquisire, nel supporto computerizzato 10, terzi dati 30 indicativi della sequenza di passi eseguita da parte dell'apparato industriale, cui il robot è dedicato, per la lavorazione di detto prodotto. Ad esempio, nel caso, prima descritto, di asservimento del robot industriale ad un apparato di pressopiegatura, i terzi dati 30 possono comprendere dati indicativi della geometria della superficie esterna del pezzo prima del processo di piegatura e dati indicativi della posizione ed entità delle piegature da effettuare per ottenere il prodotto finito. I terzi dati 30 sono acquisiti con modalità sostanzialmente analoghe ai secondi dati 20. Cosi, la fase c) prevede, in una forma realizzativa preferita, i seguenti passi:
c.l) acquisire automaticamente una prima parte 31 dei terzi dati 30 da uno o più supporti informatici predefiniti;
c.2) integrare, se necessario, i dati acquisiti nel passo c.l) con una seconda parte 32 di detti terzi dati 30, acquisita mediante il supporto di strumenti grafici predefiniti e/o editazione manuale.
Nella fase d) il metodo secondo l'invenzione prevede di acquisire, nel supporto computerizzato 10, quarti dati 40, indicativi della geometria e posizionamento degli utensili utilizzati dall'apparato industriale, cui il robot 1 è dedicato.
Anche l'acquisizione dei quarti dati 40 può avvenire con modalità sostanzialmente analoghe all'acquisizione dei dati 20 e/o 30. La fase d) prevede quindi preferibilmente i seguenti passi:
d.1) acquisire automaticamente una prima parte 41 dei quarti dati 40 da uno o più supporti informatici predefiniti;
d.2) integrare, se necessario, i dati acquisiti nel passo d.l) con una seconda parte 42 di detti quarti dati 40, acquisita mediante il supporto di strumenti grafici predefiniti e/o editazione manuale.
Alternativamente i dati 20 e/o i dati 30 e/o i dati 40 possono venire acquisiti interamente mediante l'utilizzo di detti supporti grafici predefiniti, compresi nel supporto computerizzato 10.
In seguito alle fasi a)...d) di acquisizione dati, il metodo secondo l'invenzione prevede, nella fase e), di generare automaticamente, in base ai dati 11 e/o 20 e/o 30 e/o 40, una o più prime sequenze di istruzioni di alto livello 50 e una o più sequenze di istruzioni di basso livello 53. Le prime e le seconde sequenze 50 e 53 sono atte a gestire uno o più moduli applicativi 51, memorizzati preventivamente a bordo di detta unità di comando e controllo 6. I moduli applicativi 51 comprendono preferibilmente una o più procedure eseguibili predefinite, scritte ad esempio in linguaggio RAPID®, atte a controllare sequenze predefinite di movimenti del robot 1
In una forma alternativa particolarmente vantaggiosa il metodo secondo l'invenzione prevede, dopo le fasi a)...d) prima descritte, le fasi: e.l) determinare, in base ai dati 11 e/o 20 e/o 30 e/o 40, valori 90 indicativi della configurazione ottimale dell'isola di lavoro, per diverse tipologie di prodotti lavorati. Ciò può essere ottenuto utilizzando opportunamente un motore di simulazione, atto a riprodurre regole euristiche predefinite;
e.2) generare automaticamente, in base ai dati 11 e/o 20 e/o 30 e/o 40 e/o i valori 90, una o più prime sequenze di istruzioni di alto livello SO e una o più sequenze di istruzioni di basso livello 53. Come descritto in precedenza, le prime e le seconde sequenze 50 e 53 sono atte a gestire uno o più moduli applicativi 51, memorizzati preventivamente a bordo di detta unità di comando e controllo 6.
Questa forma alternativa del metodo secondo l’invenzione è particolarmente vantaggiosa, dato che consente di utilizzare il supporto computerizzato 10 come uno strumento di progettazione e/o base di dati, in grado di fornire indicazioni sulla configurazione ottimale dell'isola di lavoro.
Il metodo secondo l'invenzione prevede quindi, nella fase f), di eseguire automaticamente, nell'unità di comando e controllo 6, le prime e seconde sequenze di istruzioni 50 e 53. Le sequenze di istruzioni 50 e 53 possono essere inviate e memorizzate a bordo dell'unità di comando e controllo in modo automatico oppure secondo altri metodi noti. L'esecuzione delle sequenze di istruzioni 50 richiama ed utilizza le procedure eseguibili predefinite, comprese nei moduli applicativi 51. Il coordinamento e la combinazione dell'esecuzione di queste procedure eseguibili predefinite, secondo le modalità desiderate, viene invece assicurato dall'esecuzione delle seconde sequenze di istruzioni di basso livello 53.
In pratica, par la lavorazione di un determinato prodotto, in base ai dati acquisiti in detta fasi a) e/o b) e/o c) e/o d), nella fase e), sono eseguite automaticamente, sequenze di istruzioni (di alto e basso livello) che utilizzano, secondo determinate modalità, le procedure eseguibili predefinite comprese nei moduli applicativi 51. Per la lavorazione di un altro prodotto sono generate altre sequenze di istruzioni di alto livello che utilizzano le medesime procedure, secondo modalità o combinazioni diverse. Questo fatto è particolarmente vantaggioso dato che permette di ottenere un'elevata standardizzazione della programmazione della movimentazione del robot 1. Ciò limita notevolmente la possibilità di introdurre errori nella programmazione, dato che l'utente non ha accesso diretto ai moduli applicativi 51 ma solo alle istruzioni di alto livello. Una volta messe a punto le procedure in essi comprese, i moduli applicativi 51, memorizzati a bordo dell’unità di comando e controllo, assicurano un'affidabile e ripetibile esecuzione di istruzioni per la movimentazione del robot, In una forma realizzativa ulteriore del metodo secondo l'invenzione è prevista anche la fase f.l) che consiste nel generare automaticamente, mediante l’esecuzione di una o più sequenze delle istruzioni di alto livello 50, nell'unità di comando e controllo 6, una o più terze sequenze di istruzioni di basso livello 54, atte a controllare la movimentazione di detto robot. In questo caso, l'esecuzione delle istruzioni di alto livello 50 non consiste solo in un richiamo di una procedura eseguibile predefinita ma anche nella compilazione di una o più procedure compilabili predefinite comprese nei moduli applicativi 51. La compilazione di una o più procedure di dette procedure compilabili genera le sequenze di istruzioni 54. In pratica, viene generato automaticamente, in questa fase, almeno una parte del cosiddetto "Part Program" in linguaggio di basso livello, utilizzato dall'unità di comandi e controllo 6 per controllare la movimentazione del robot 1.
Si è in pratica verificato che il metodo secondo l'invenzione soddisfa pienamente gli scopi prefissati.
L'utilizzo di istruzioni di alto livello per la programmazione consente di risolvere pienamente gli inconvenienti propri dei metodi noti dello stato dell'arte, assicurando, grazie all'utilizzo di moduli applicativi predefiniti, elevati livelli di affidabilità e ripetibilità. Inoltre è aumentata in maniera considerevole la cosiddetta portabilità della programmazione effettuata: il codice utilizzato non dipende dal singolo apparato industriale cui il robot è dedicato. In questo modo si aumenta notevolmente la flessibilità di utilizzo del robot industriale. Per programmare la movimentazione del robot per la lavorazione di diversi prodotti è sufficiente operare l'acquisizione dei dati necessari senza dover per questo riscrivere il cosiddetto "Part Program" in un linguaggio di basso livello .
Il metodo secondo l'invenzione prevede inoltre l'acquisizione da ambienti informatici di progettazione CAD. Questo fatto permette di ridurre ulteriormente i tempi ed i costi per acquisire i dati riducendo nel contempo le probabilità di errore. Inoltre, grazie alla possibilità di utilizzare ambienti CAD e di simulazione a bordo del supporto computerizzato il metodo secondo l'invenzione consente anche di operare una vera e propria attività locale di progettazione, aumentando in questo modo la flessibilità dell'attività di programmazione.
Il metodo secondo l'invenzione è risultato di facile implementazione su supporti informatici commercialmente noti e utilizzabili facilmente anche da personale privo di particolare addestramento.
Il metodo così concepito è suscettibile di numerose modifiche e varianti, tutte rientranti nell'ambito del concetto inventivo.
Inoltre, tutti i dettagli potranno essere sostituiti da altri elementi tecnicamente equivalenti.

Claims (15)

  1. RIVENDICAZIONI 1. Metodo per eseguire la programmazione fuori linea della movimentazione di un robot industriale, detto robot industriale essendo dedicato ad un apparato industriale per la lavorazione di prodotti e comprendendo almeno un'unità di comando e controllo, caratterizzato dal fatto di comprendere le fasi che consistono nel: a) acquisire in un supporto computerizzato primi dati indicativi della configurazione di un'isola di lavoro relativa a detto robot industriale; b) acquisire, in detto supporto computerizzato, secondi dati indicativi della geometria di un prodotto sottoposto a lavorazione da parte di detto apparato industriale; c) acquisire, in detto supporto computerizzato, terzi dati indicativi di una sequenza di passi eseguita da detto apparato industriale per la lavorazione di detto prodotto; d) acquisire, in detto supporto computerizzato, quarti dati indicativi della geometria e posizionamento di utensili utilizzati da detto apparato industriale durante la lavorazione di detto prodotto; e) generare automaticamente, in detto supporto computerizzato, in base ai dati acquisiti in dette fasi a) e/o b) e/o c) e/o d), una o più prime sequenze di istruzioni di alto livello e una o più seconde sequenze di istruzioni di basso livello, dette prime e seconde sequenze di istruzioni essendo atte a gestire uno o più moduli applicativi memorizzati preventivamente a bordo di detta unità di comando e controllo; e f) eseguire automaticamente, in detta unità di comando e controllo, dette prime e seconde sequenze di istruzioni.
  2. 2. Metodo secondo la rivendicazione 1, caratterizzato dal fatto che detta fase e) comprende i seguenti passi: e.l) determinare, in detto supporto computerizzato, in base ai dati acquisiti in dette fasi a) e/o b) e/o c) e/o d), primi valori indicativi della configurazione ottimale dell'isola di lavoro, per una o più tipologie di prodotti lavorati; e.2) generare automaticamente, in detto supporto computerizzato, in base ai dati acquisiti in dette fasi a) e/o b) e/o c) e/o d) e/o detti primi valori, dette prime e seconde sequenze di istruzioni.
  3. 3. Metodo secondo una o più delle rivendicazioni precedenti, caratterizzato dal fatto che detta fase f) comprende inoltre il seguente passo: f.l) generare automaticamente, mediante l'esecuzione di una o più di dette prime sequenze di istruzioni, una o più terze sequenze di istruzioni di basso livello, atte a controllare la movimentazione di detto robot industriale.
  4. 4. Metodo secondo una o più delle rivendicazioni precedenti, caratterizzato dal fatto che detta fase a) comprende i seguenti passi: a.l) acquisire automaticamente una prima parte di detti primi dati da uno o più supporti informatici predefiniti; a.2) integrare, se necessario, i dati acquisiti nel passo a.l) con una seconda parte di detti primi dati acquisita mediante misurazioni in detta isola di lavoro, automaticamente eseguite da detto robot industriale; a.3) integrare, se necessario, i dati acquisiti nei passi a.l) e/o a.2) con una terza parte di detti primi dati acquisita mediante misurazioni manuali in detta isola di lavoro; a.4) integrare, se necessario, i dati acquisiti nei passi a.l) e/o a.2) e/o a.3) con una quarta parte di detti primi dati acquisita mediante editazione manuale da parte dell'utente.
  5. 5. Metodo secondo la rivendicazione 4, caratterizzato dal fatto che detta fase a) comprende il seguente passo: a.5) verificare i dati acquisiti nei passi a.l) e/o a.2) e/o a.3) e/o a.4) mediante l'esecuzione di una o più procedure di simulazione della movimentazione di detto robot industriale in detta isola di lavoro.
  6. 6. Metodo secondo la rivendicazione 5, caratterizzato dal fatto che dette una o più procedure di simulazione comprendono procedimenti di calcolo dei tempi di ciclo e della probabilità di collisione di detto robot industriale.
  7. 7. Metodo secondo una o più delle rivendicazioni da 1 a 3, caratterizzato dal fatto che detta fase b) comprende uno o più dei seguenti passi: b.l) acquisire automaticamente una prima parte di detti secondi dati da detti uno o più supporti informatici predefiniti; b.2) integrare, se necessario, i dati acquisiti nel passo b.l) con una seconda parte di detti secondi dati acquisita mediante il supporto di strumenti grafici predefiniti e/o editazione manuale.
  8. 8. Metodo secondo una o più delle rivendicazioni da 1 a 3, caratterizzato dal fatto che detta fase c) comprende uno o più dei seguenti passi: c.l) acquisire automaticamente una prima parte di detti terzi dati da uno o più supporti informatici predefiniti; c.2) integrare, se necessario, i dati acquisiti nel passo c.l) con una seconda parte di detti secondi dati acquisita mediante il supporto di strumenti grafici predefiniti e/o editazione manuale.
  9. 9. Metodo secondo una o più delle rivendicazioni da 1 a 3, caratterizzato dal fatto che detti secondi, terzi e quarti dati sono acquisiti mediante l'utilizzo di supporti grafici predefiniti, compresi in detto supporto computerizzato.
  10. 10. Metodo secondo una o più delle rivendicazioni da 1 a 3, caratterizzato dal fatto che detta fase d) comprende uno o più dei seguenti passi: d.l) acquisire automaticamente una prima parte di detti quarti dati da uno o più supporti informatici predefiniti; d.2) integrare, se necessario, i dati acquisiti nel passo d.l) con una seconda parte di detti quarti dati acquisita mediante il supporto di strumenti grafici predefiniti e/o editazione manuale.
  11. 11. Metodo secondo una o più delle rivendicazioni da 1 a 3, caratterizzato dal fatto che detti uno o più moduli applicativi comprendono una o più procedure eseguibili predefinite atte a controllare sequenze predefinite di movimenti di detto robot industriale.
  12. 12. Metodo secondo la rivendicazione 3, caratterizzato dal fatto che detti uno o più moduli applicativi comprendono una o più procedure compilabili predefinite atte a generare dette una o più terze istruzioni di basso livello, atte a controllare la movimentazione di detto robot.
  13. 13. Metodo secondo una o più delle rivendicazioni precedenti, caratterizzato dal fatto che detto robot industriale è dedicato ad apparati di presso-piegatura per la lavorazione di manufatti metallici.
  14. 14. Metodo secondo una o più delle rivendicazioni precedenti, caratterizzato dal fatto che detto robot industriale è di tipo antropomorfo.
  15. 15. Sistema di elaborazione dati comprendente un supporto computerizzato connesso ad un'unità di comando e controllo di un robot industriale, caratterizzato dal fatto di implementare il metodo secondo una o più delle rivendicazioni precedenti, per eseguire una programmazione fuori linea della movimentazione di detto robot industriale.
IT1999MI001877A 1999-09-06 1999-09-06 Metodo per eseguire la programmazione fuori linea di un robotindustriale. IT1313346B1 (it)

Priority Applications (7)

Application Number Priority Date Filing Date Title
IT1999MI001877A IT1313346B1 (it) 1999-09-06 1999-09-06 Metodo per eseguire la programmazione fuori linea di un robotindustriale.
AU72754/00A AU7275400A (en) 1999-09-06 2000-08-04 Method for off-line programming an industrial robot
EP00960449A EP1214178B1 (en) 1999-09-06 2000-08-04 Method for off-line programming an industrial robot
PCT/EP2000/007893 WO2001017729A1 (en) 1999-09-06 2000-08-04 Method for off-line programming an industrial robot
DE60042079T DE60042079D1 (de) 1999-09-06 2000-08-04 Verfahren zum off-line programmieren eines industrieroboters
AT00960449T ATE429311T1 (de) 1999-09-06 2000-08-04 Verfahren zum off-line programmieren eines industrieroboters
US10/070,158 US6522950B1 (en) 1999-09-06 2000-08-04 Method for off-line programming an industrial robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT1999MI001877A IT1313346B1 (it) 1999-09-06 1999-09-06 Metodo per eseguire la programmazione fuori linea di un robotindustriale.

Publications (3)

Publication Number Publication Date
ITMI991877A0 ITMI991877A0 (it) 1999-09-06
ITMI991877A1 true ITMI991877A1 (it) 2001-03-06
IT1313346B1 IT1313346B1 (it) 2002-07-23

Family

ID=11383580

Family Applications (1)

Application Number Title Priority Date Filing Date
IT1999MI001877A IT1313346B1 (it) 1999-09-06 1999-09-06 Metodo per eseguire la programmazione fuori linea di un robotindustriale.

Country Status (7)

Country Link
US (1) US6522950B1 (it)
EP (1) EP1214178B1 (it)
AT (1) ATE429311T1 (it)
AU (1) AU7275400A (it)
DE (1) DE60042079D1 (it)
IT (1) IT1313346B1 (it)
WO (1) WO2001017729A1 (it)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004056537A2 (en) * 2002-12-19 2004-07-08 Koninklijke Philips Electronics N.V. System and method for controlling a robot
JP2004299010A (ja) * 2003-03-31 2004-10-28 Fanuc Ltd ロボットのたわみ補正装置及びたわみ補正方法
JP2005148789A (ja) * 2003-11-11 2005-06-09 Fanuc Ltd 音声入力によるロボット教示プログラム編集装置
JP3946753B2 (ja) * 2005-07-25 2007-07-18 ファナック株式会社 ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置
JP4271232B2 (ja) * 2006-12-20 2009-06-03 ファナック株式会社 ロボットのオフラインプログラミングを実行するための装置、方法、プログラム及び記録媒体
US8002716B2 (en) 2007-05-07 2011-08-23 Raytheon Company Method for manufacturing a complex structure
US20080281468A1 (en) * 2007-05-08 2008-11-13 Raytheon Sarcos, Llc Variable primitive mapping for a robotic crawler
US8571711B2 (en) * 2007-07-10 2013-10-29 Raytheon Company Modular robotic crawler
US8392036B2 (en) * 2009-01-08 2013-03-05 Raytheon Company Point and go navigation system and method
US8935014B2 (en) * 2009-06-11 2015-01-13 Sarcos, Lc Method and system for deploying a surveillance network
US8393422B1 (en) 2012-05-25 2013-03-12 Raytheon Company Serpentine robotic crawler
US9031698B2 (en) 2012-10-31 2015-05-12 Sarcos Lc Serpentine robotic crawler
US9409292B2 (en) 2013-09-13 2016-08-09 Sarcos Lc Serpentine robotic crawler for performing dexterous operations
US9566711B2 (en) 2014-03-04 2017-02-14 Sarcos Lc Coordinated robotic control
US10071303B2 (en) 2015-08-26 2018-09-11 Malibu Innovations, LLC Mobilized cooler device with fork hanger assembly
US10807659B2 (en) 2016-05-27 2020-10-20 Joseph L. Pikulski Motorized platforms
CN107844334B (zh) * 2017-09-28 2020-12-08 广州明珞汽车装备有限公司 一种自动配置机器人rcs的方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0772844B2 (ja) * 1985-10-23 1995-08-02 株式会社日立製作所 ロボット教示装置
US5046022A (en) * 1988-03-10 1991-09-03 The Regents Of The University Of Michigan Tele-autonomous system and method employing time/position synchrony/desynchrony
US5203005A (en) * 1989-05-02 1993-04-13 Horst Robert W Cell structure for linear array wafer scale integration architecture with capability to open boundary i/o bus without neighbor acknowledgement
US5495410A (en) 1994-08-12 1996-02-27 Minnesota Mining And Manufacturing Company Lead-through robot programming system
IT1283019B1 (it) 1996-05-16 1998-04-03 Salvagnini Italia Spa Metodo di gestione di un'isola di lavoro comprendente un robot asser- vito ad una pressa piegatrice per lavorazione di fogli di lamiera.
US5787484A (en) * 1996-08-08 1998-07-28 Micron Technology, Inc. System and method which compares data preread from memory cells to data to be written to the cells
DE19739559A1 (de) 1997-09-09 1999-03-18 Traub Drehmaschinen Gmbh I L Verfahren und System zum Erstellen oder Visualisieren von Steuerdatensätzen

Also Published As

Publication number Publication date
DE60042079D1 (de) 2009-06-04
WO2001017729A1 (en) 2001-03-15
AU7275400A (en) 2001-04-10
IT1313346B1 (it) 2002-07-23
ITMI991877A0 (it) 1999-09-06
EP1214178B1 (en) 2009-04-22
EP1214178A1 (en) 2002-06-19
ATE429311T1 (de) 2009-05-15
US6522950B1 (en) 2003-02-18

Similar Documents

Publication Publication Date Title
ITMI991877A1 (it) Metodo per eseguire la programmazione fuori linea di un robot industriale
US6714831B2 (en) Paint defect automated seek and repair assembly and method
EP1936458B1 (en) Device, method, program and recording medium for robot offline programming
DK2285537T3 (en) Device and method for computer-assisted generation of a manipulatorbane
US10228681B2 (en) Method of generating a machining program
US8706302B2 (en) Method for offline programming of an NC-controlled manipulator
ITMI960982A1 (it) Metodo di gestione di un&#39;isola di lavoro comprendente un robot asser- vito ad una pressa piegatrice per lavorazione di fogli di lamiera.
US20060152533A1 (en) Program robots with off-line design
EP2916218A1 (en) Apparatus for generating and editing NC program
JP4024117B2 (ja) 測定支援装置
JP5181562B2 (ja) シミュレーション方法
Ulmer et al. Adapting Augmented Reality Systems to the users’ needs using Gamification and error solving methods
CN109760016A (zh) 示教装置、机器人系统以及示教方法
JPH10264058A (ja) ロボット干渉域設定プログラム作成方法
US10987799B2 (en) Workpiece processing system
JP2021186929A (ja) 多軸ロボットの制御方法
Mårdberg et al. Using a formal high-level language to instruct manikins to assemble cables
US10754321B2 (en) Automatic quality evaluation for a sequence of movement commands
Pulkkinen et al. 2D CAD based robot programming for processing metal profiles in short series manufacturing
Moutchiho A New Programming Approach for Robot-based Flexible Inspection Systems
WO2019021938A1 (ja) 設計情報生成装置及び設計支援システム
KR102225110B1 (ko) 로봇 작업장 구성을 위한 메타 데이터 생성 방법 및 이를 수행하는 장치들
Mok et al. A system for analyzing automatic assembly and disassembly operations
Khanolkar Reducing gauging lead times and optimizing layout design at GM Powertrain with 3D workcell simulation
KR101050720B1 (ko) 쓰리디 지그 모델링 자동화 방법 및 이를 실행할 수 있는 프로그램이 저장된 기록매체