ITRM20070575A1 - Apparato di simulazione real-time di manipolatore robotico e macchina a controllo numerico - Google Patents

Apparato di simulazione real-time di manipolatore robotico e macchina a controllo numerico Download PDF

Info

Publication number
ITRM20070575A1
ITRM20070575A1 ITRM20070575A ITRM20070575A1 IT RM20070575 A1 ITRM20070575 A1 IT RM20070575A1 IT RM20070575 A ITRM20070575 A IT RM20070575A IT RM20070575 A1 ITRM20070575 A1 IT RM20070575A1
Authority
IT
Italy
Prior art keywords
signals
fast
slow
encoder
equal
Prior art date
Application number
Other languages
English (en)
Inventor
Francesco Sabbioni
Luca Zaccarian
Original Assignee
Uni Degli Studi Di Roma To R V
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 Uni Degli Studi Di Roma To R V filed Critical Uni Degli Studi Di Roma To R V
Priority to ITRM20070575 priority Critical patent/ITRM20070575A1/it
Priority to PCT/IB2008/054516 priority patent/WO2009057066A2/en
Publication of ITRM20070575A1 publication Critical patent/ITRM20070575A1/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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23445Real time simulation
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23446HIL hardware in the loop, simulates equipment to which a control module is fixed
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23449Use of an additional dedicated processor for emulating sensor output

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Description

DESCRIZIONE
dell’invenzione industriale dal titolo: “Apparato di simulazione real-time di manipolatore robotico e macchina a controllo numerico”
Campo dell’invenzione
La presente invenzione si riferisce ad un apparato di simulazione in tempo reale di manipolatori robotici e/o macchine a controllo numerico muniti di sensori interfacciati tramite segnali encoder e ad un relativo metodo di simulazione.
Stato della tecnica
La simulazione dei robot, ed in genere dei sistemi meccanici motorizzati, è ormai da tempo consolidata con varie tecniche matematiche e tramite l’uso di diversi programmi software.
Inoltre, in anni recenti e con l’avvento di computer sempre più veloci, è diventato possibile rendere i tempi di simulazione più veloci del trascorrere del tempo reale, permettendo così soluzioni con simulazioni cosiddette in real-time.
Visti i ridotti tempi simulativi, nei casi in cui il modello matematico del sistema da simulare è molto semplice, è possibile generare direttamente nell’ambiente software di simulazione i segnali encoder in fase e quadratura, che normalmente sarebbero generati dai sensori di cui i manipolatori robotici o le macchine a controllo numerico sono normalmente dotati.
Tuttavia, quando il modello matematico da simulare diventa più complesso come ad esempio nel caso di un robot avente più assi concatenati, cioè nel caso di un manipolatore robotico, la generazione dei segnali encoder in fase e quadratura risulta impossibile da parte di una stessa macchina in cui è implementato l’ambiente software di simulazione, in quanto ci sono fino a tre o quattro ordini di grandezza di differenza, se non di più, a seconda della risoluzione degli encoder da simulare, tra la frequenza di calcolo del simulatore robotico e la frequenza dei segnali encoder.
Una soluzione adottata dalla tecnica nota prevede di generare i segnali encoder in modo alternativo, ad esempio equipaggiando il sistema simulativo con un hardware dedicato su cui sono montati dei veri encoder che generano i segnali desiderati, ma questo ha lo svantaggio di essere una soluzione costosa e poco flessibile perché l’hardware aggiuntivo introduce delle dinamiche non cancellabili vincolando dunque la simulazione a solo alcune classi di sistemi.
Un’altra alternativa proposta dalla tecnica nota è di separare il sistema in due unità: una lenta ed una veloce. In particolare, l’unità lenta si occupa della simulazione di equazioni matematiche anche molto complesse con tempi di calcolo più lenti ed insufficienti per la generazione dei segnali encoder. L’unità veloce invece riceve dei segnali analogici corrispondenti alle velocità su ogni asse e genera sulla base di questi segnali i segnali encoder in fase e quadratura: quest’ultima unità può essere molto veloce perché non è soggetta ai calcoli onerosi legati alla simulazione del modello matematico. E’ stata altresì presentata una possibile soluzione circuitale per l’unità veloce sopra citata.
La problematica fondamentale derivante da questa soluzione con doppia unità è che risulta necessario allineare l’informazione di posizione fornita dall’unità veloce e l’informazione di posizione presente nell’unità lenta, quella cioè che risulta dalla simulazione delle equazioni matematiche definenti il modello matematico. Infatti la trasmissione dei segnali di velocità dall’unità lenta a quella veloce è soggetta a rumore proveniente da 1) interferenze sulla linea di trasmissione, 2) incertezze sul valore di tensione corrispondente allo zero, 3) incertezze sul guadagno del convertitore D/A nel quale avviene la trasmissione.
Questi disturbi di varia natura rappresentano una importante fonte di incertezza quando attraversano i circuiti encoder, atti ad effettuare l’integrazione della variabile definente la velocità al fine di ottenere la posizione, dunque una soluzione che non prevede una correzione efficace di questi disturbi non può risultare affidabile in quanto la simulazione esula dal modello matematico che descrive il moto del sistema.
Dunque, il problema fondamentale è da individuarsi nella scarsa efficacia rappresentativa della simulazione quando intervengono disturbi che esulano dal modello matematico, inducendosi la mancanza di allineamento della posizione angolare prodotta dall’unità veloce e quella presente all’interno dell’unità lenta.
Sommario dell’invenzione
Scopo della presente invenzione è quello di fornire un apparato di simulazione real-time di manipolatori robotici e/o macchine a controllo numerico atto a consentire la verifica delle funzionalità e prestazioni di schede di controllo assi, già nella fase di predisposizione e prototipazione delle stesse, senza attendere la disponibilità del prodotto finale a cui sono destinate, cioè robot o macchine utensili a controllo numerico, determinandosi un indubbio risparmio economico.
La presente invenzione, pertanto, si propone di raggiungere gli scopi sopra discussi realizzando un apparato di simulazione real-time di manipolatori robotici e/o macchine a controllo numerico conformemente alla rivendicazione 1.
Secondo un altro aspetto dell'invenzione, si rende possibile l’allineamento delle variabili definenti la posizione angolare prodotta dall’unità veloce e quella calcolata dall’unità lenta, simulante il sistema robotico, grazie ad un metodo adattativo di simulazione secondo cui opera detta unità lenta, atto a garantire che anche in presenza dei tre tipi di disturbi sopra citati, l’informazione di posizione ricostruita dai segnali encoder prodotti dall’unità veloce corrisponde esattamente all’informazione di posizione presente nell’unità lenta.
La presente invenzione, pertanto, si propone di raggiungere gli scopi sopra discussi realizzando un metodo di simulazione di un apparato di simulazione real-time di manipolatori robotici e/o macchine a controllo numerico muniti di sensori interfacciati tramite segnali encoder conformemente alla rivendicazione 7.
Detto dispositivo trova applicazione quando si intende operare la verifica delle funzionalità e prestazioni di schede di controllo assi, già nella fase di predisposizione e prototipazione delle stesse, senza attendere la disponibilità del prodotto finale a cui sono destinate, cioè robot e/o macchine utensili a controllo numerico determinandosi un ingente risparmio di tempo e denaro, per la predisposizione dei detti robot e/o macchine utensili a controllo numerico.
Le rivendicazioni dipendenti descrivono realizzazioni preferite dell’invenzione.
Breve descrizione delle Figure
Ulteriori caratteristiche e vantaggi dell’invenzione risulteranno maggiormente evidenti alla luce della descrizione dettagliata di una forma di realizzazione preferita, ma non esclusiva, di un apparato e metodo di simulazione real-time di manipolatori robotici e/o macchine a controllo numerico, illustrato a titolo esemplificativo e non limitativo, con l’ausilio delle unite tavole di disegno in cui:
la Fig. 1 raffigura lo schema logico a blocchi dell’invenzione e consente di riassumere la logica di funzionamento dell’intero sistema HIL;
la Fig. 2 raffigura uno schema funzionale a blocchi dello schema precedente;
la Fig. 3 raffigura uno schema a blocchi esplicitante il blocco relativo al sistema lento di figura 1 ;
la Fig. 4 raffigura i canali A e B relativi ai segnali encoder;
la Fig. 5 raffigura uno schema a blocchi esplicitante il blocco relativo al metodo di controllo adattativo di figura 1 ;
la Fig. 6 raffigura in dettaglio il blocco PI della figura precedente;
la Fig. 7 raffigura in dettaglio il Blocco Adattativo della figura 5;
la Fig. 8 uno schema di validazione del metodo di controllo adattativo proposto.
Descrizione in dettaglio di una forma di realizzazione preferita dell’invenzione
Un apparato di simulazione real-time secondo la presente invenzione comprende due unità di calcolo:
1. Una unità lenta, definente il cosiddetto sistema lento 1, ad esempio costituita da un PC 11, munito di almeno una scheda di acquisizione 12, atto ad effettuare la simulazione in tempo reale di un modello matematico rappresentativo di un sistema complesso; a tale scopo si utilizzano tecniche basate sulla formulazione Newton-Eulero e ci si avvale di soluzioni presenti in letteratura in base alle quali i tempi di calcolo diventano minori del tempo reale, cioè il normale scorrere del tempo risulta più lento della velocità con cui viene simulata la realtà;
2. Una unità veloce, definente il cosiddetto sistema veloce 2, ad esempio comprendente un microcontrollore 21 munito di opportuno programma di calcolo, che riceve i segnali di velocità su ogni asse dall’unità lenta 1 e sulla base di questi produce i segnali encoder in fase e quadratura, riuscendo a garantire il necessario allineamento tra le due unità.
La sincronia tra le due unità di calcolo sopra citate è garantita da blocco logico atto ad implementare un metodo di controllo adattativo, denominato in inglese “adaptive control law”, il quale, compreso in detta unità lenta, provvede a che l’informazione riguardante la posizione ricostruita dai segnali di velocità scambiati tra l’unità lenta 1 e l’unità veloce 2 coincide con la posizione calcolata dall’unità lenta 1.
3. Almeno una unità di comando 3 incorporante una scheda di controllo assi e definente il blocco logico Hardware di controllo assi e/o numerico.
Conformemente alla figura 1, lo schema a blocchi dell’invenzione consente di riassumere la logica di funzionamento dell’intero sistema HIL. Questo sistema HIL è ottenuto combinando in modo complementare:
- un sistema denominato “Sistema Lento” col quale vengono implementati il modello virtuale definito dall’utente ed un metodo di controllo adattativo; - un sistema definito “Sistema Veloce”, che, nella fattispecie, comprende un microcontrollore 21 ;
- un Hardware di controllo assi e/o numerico 3;
Il sistema HIL permette di simulare il modello di un sistema robotico, quale un manipolatore robotico o di una catena cinematica aperta provvisti o meno di un effettore atto a manipolare oggetti esterni, oppure di una macchina a controllo numerico, quali, per es., macchine utensili come frese, torni, etc.
Il sistema lento, conformemente ad un modello matematico rappresentativo di detto sistema robotico, genera dei segnali analogici in relazione ai singoli elementi e/o organi definenti il sistema robotico stesso, relativi, in particolare alla posizione e alla velocità degli stessi.
La presenza di detto sistema veloce, come riferito sopra, risolve il problema legato alla limitata potenza di calcolo, oggi a disposizione, che si rivela insufficiente a generare direttamente i segnali encoder in fase e quadratura, essendo digitali ad alta frequenza, descriventi il suddetto movimento di detti organi ed elementi definenti, virtualmente, detto modello matematico.
Il blocco Hardware di controllo assi e/o numerico 3, rappresenta l’insieme delle schede di controllo assi sotto esame. Questo genera segnali di comando in relazione ad una certa traiettoria pianificata. Detti segnali piuttosto che ad organi reali vengono trasmessi a detto sistema lento che simula, secondo un modello matematico aderente alle caratteristiche dinamiche del sistema robotico, segnali di posizione e di velocità, i quali vengono trasmessi, a loro volta, ad un blocco logico denominato Blocco Adattativo, compreso nel sistema lento, che formula valori di velocità corretti, i quali vengono trasmessi al sistema veloce, che genera i relativi segnali in fase e quadratura associati al moto simulato. Questi segnali, a loro volta, vengono trasmessi a detto Hardware di controllo assi e/o numerico 3, che, chiudendo l’anello di controllo, definisce le correzioni da apportare per inseguire la traiettoria pianificata.
Tutti i blocchi in figura, a parte il sistema veloce, sono dotati di contatori encoder, infatti la ricostruzione dell’informazione di posizione corrente dei singoli organi in movimento da parte dei contatori encoder, avviene contando i fronti di salita e di discesa dei corrispondenti segnali in fase e quadratura prodotti dal sistema veloce.
Le figure 3, 5, 6, 7, 8 rappresentano i blocchi logico-funzionali realizzati secondo la formulazione di Newton-Eulero ed implementabili in un qualunque ambiente di simulazione real-time grafico, in particolare viene impiegato un prodotto commerciale quale il Simulink.
Definito il modello virtuale aderente al sistema robotico reale da simulare, si fissa il tempo di campionamento tc con cui viene avviata una simulazione real-time del sistema robotico.
Il sistema lento, in modo strettamente aderente alla realtà, genera gli opportuni segnali digitali atti a determinare il fine corsa dei singoli attuatori definenti gli organi mobili e la loro posizione di zero, cioè la posizione in cui si effettua il reset del conteggio di ciascun contatore encoder presente nell’intero sistema HIL, essendo la posizione angolare di ciascun asse individuata contando il numero degli impulsi generati dal relativo encoder. In particolare, la definizione della posizione di zero, denominata in linguaggio tecnico posizione di Home, degli encoder è necessaria per consentire all’hardware di controllo di portare, dopo l’accensione del simulatore real-time del modello virtuale sottoposto all’azione di controllo, in una determinata e prefissata configurazione spaziale nota, cioè la posizione in cui ogni asse è in posizione zero.
Raggiunta detta posizione, infatti, il controllore ha un’informazione esatta della configurazione spaziale del sistema robotico, cioè dell’orientamento e della posizione nello spazio tridimensionale di elementi ed organi rappresentati dal modello matematico, e può quindi produrre l’azione di controllo che garantisce il corretto inseguimento della traiettoria di moto pianificata.
Raggiunta la posizione di zero, il sistema HIL esegue ciclicamente, e con detto passo di campionamento tc, le seguenti operazioni:
1. il sistema lento riceve i segnali analogici di comando, prodotti dal blocco Hardware di controllo assi e/o numerico;
2. il sistema lento, ed in particolare, il blocco logico 111, compreso nel sistema lento, calcola la dinamica diretta del modello matematico a mezzo di un algoritmo basato sulla formulazione di Newton-Eulero e aggiorna i segnali analogici di posizione e velocità degli assi, inviandoli al blocco adattativo che implementa detto modello adattativo;
3. il blocco adattativo 112 filtra correggendoli detti segnali analogici di posizione e velocità generati dal blocco simulante il modello del robot e li invia al sistema veloce;
4. il sistema veloce riceve i segnali analogici di velocità corretti, e per ogni segnale analogico di velocità ricevuto, produce i segnali elettrici encoder in fase e quadratura;
5. il sistema veloce invia, dunque, i segnali elettrici in fase e quadratura di tipo encoder, contemporaneamente, sia ai contatori encoder dell’hardware di controllo numerico assi, che ai contatori encoder del sistema lento, atti a ricostruire l’informazione di posizione dei singoli organi in movimento;
6. il sistema lento incorporante il blocco adattativo 112, dapprima calcola l’errore di posizione per ciascun organo mobile modellato, dato dalla differenza tra la posizione P1 calcolata da detto blocco 111 e la posizione P2 ricostruita dai segnali encoder prodotti dal sistema veloce 2, conformemente agli schemi di Figg. 5, 6 e 7. Successivamente, i segnali definenti detto errore vengono inviati al suddetto blocco adattativo 112, che li filtra generando i segnali di velocità corretti da inviare al sistema veloce. In particolare, tali segnali corretti di velocità sono atti a garantire che detto errore di posizione, dopo un breve transitorio, risulta nullo a regime.
Gli ultimi due blocchi 4 e 5 di figura 1 non sono essenziali per il funzionamento del sistema HIL ma possono essere presenti per aumentare le funzionalità del sistema stesso. Essi rappresentano dispositivi ausiliari atti a ricevere in ingresso i segnali encoder simulati della configurazione simulata nel sistema lento e a fornire funzionalità aggiuntive, per es., il blocco 5 consente all’utente di visualizzare in tempo reale, a mezzo di un dispositivo di visualizzazione, per es., un monitor, una animazione del movimento eseguito dal modello simulato. Il blocco logico 4, denominato Monitoraggio Robot, rappresenta un mezzo atto a ricevere segnali encoder ed effettuare ulteriori elaborazioni in loco od in remoto, per es., per la verifica di compatibilità della configurazione dal punto di vista della sicurezza e/o dell’interazione con altri dispositivi meccanici e/o di valutazione di parametri di prestazione. In detta realizzazione preferita, detto sistema lento 1 comprende:
• un PC 11;
• almeno una scheda 12 dotata di ingressi e uscite analogiche e di contatori di tipo encoder, per es., una Sensoray modello 626.
Un sistema veloce 2 comprende:
• una scheda di programmazione e prototipazione per microcontrollore; • un microcontrollore 21 , per es., un MICROCHIP dsPIC30F4013.
Dunque, il sistema lento è definito da un Personal Computer (PC), munito di software di simulazione e schede per acquisizione e generazione di segnali analogici e digitali, dotate di contatori di tipo encoder. A mezzo di detto software, si simula in real-time detto sistema lento comprendente il comportamento dinamico di un modello di robot sotto il controllo esterno delle schede di controllo assi, e comprendente il modello adattativo atto ad allineare i valori di posizione e velocità calcolati sulla base del modello matematico e sulla base del sistema veloce.
Il sistema veloce comprende un microcontrollore ed almeno una interfaccia industriale, per es., una morsettiera a vite dotata di connettori per cavo fiat, per il collegamento con il primo sistema e con l’hardware di controllo esterno.
Un metodo preferito di predisposizione di un simulatore prevede i seguenti passi:
- predisposizione, per es., in codice C e blocchi Simulink C-MEX S-Function, di un sistema lento, atto a calcolare in real-time posizione e velocità dei giunti di un robot modellato con la formulazione di Newton-Eulero;
- predisposizione di un sistema veloce a mezzo della redazione in linguaggio Microchip C30 compatibile con detto microcontrollore Microchip dsPIC30F4013 atto a produrre i segnali elettrici in fase e quadratura di tipo encoder sulla base dell’ingresso analogico rappresentante la velocità dei giunti e proveniente dal PC;
- predisposizione di un filtro implementante un metodo adattativo atto a garantire che l’informazione di posizione ricostruita sulla base del conteggio dei segnali encoder in fase e quadratura coincide con la posizione prodotta dal simulatore real-time: in seguito viene illustrato un esempio preferito di metodo adattativo.
Qui di seguito vengono forniti i dettagli di una realizzazione preferita sia del sistema lento che del sistema veloce.
In particolare, detta formulazione di Newton-Eulero consente di dedurre un modello ricorsivo, caratterizzato dal fatto di essere molto efficiente dal punto di vista computazionale. Tale modello è particolarmente adatto ad essere implementato al calcolatore, in quanto sfrutta la natura seriale, a catena aperta, tipica di un manipolatore. Gli ambienti software di simulazione realtime, noti in sé, gestiscono la compilazione real-time compliant in codice C, a partire da blocchi logici rappresentanti operazioni polinomiali, fornendo i driver di comunicazione tra la suddetta almeno una scheda hardware di I/O A/D 12 e consentendo di inviare verso l’esterno, in particolare al sistema veloce 2 e alle schede di controllo assi 3 i segnali analogici di velocità dei giunti.
Con riferimento alla figura 4, viene presentato un metodo ideato per simulare il funzionamento di un encoder incrementale compreso in un sistema veloce, cioè usato per generare a partire da un segnale analogico di velocità angolare, segnali digitali a due livelli, 0 e 1, che corrispondono ai canali A e B forniti da un encoder reale:
1. si definisce la risoluzione dell’encoder, cioè il numero N di settori angolari, cioè parti o riferimenti, in cui si vuole suddividere l'angolo giro di 2 π radianti o 360 gradi;
1. si pone pari ad R l'ampiezza del settore angolare, cioè l’ampiezza della zona trasparente o opaca: R = 2π / N;
2. si pone At pari al tempo di campionamento tc scelto per le simulazioni real-time: At = tc;
3. si introduce un guadagno Kout che è necessario successivamente per ricostruire l'ampiezza del segnale analogico acquisito dall'esterno;
4. si pone u pari all'ampiezza del segnale analogico in ingresso;
5. si definisce Θ una variabile atta a memorizzare l'informazione angolare di posizione via via ricostruita;
6. si definisce yf, quale componente in fase, come variabile binaria per rappresentare un canale A;
7. si definisce yq, quale componente inquadratura, come variabile binaria per rappresentare un canale B;
8. La variabile Θ viene aggiornata secondo l'equazione:
θ = Θ u*Kout*At
quindi la posizione angolare attuale è pari alla somma della posizione angolare precedente e dell'Incremento di posizione avvenuto nell'Intervallo di tempo At, dato dal prodotto della velocità angolare u per il tempo di campionamento tc per il guadagno Kout.;
9. si fa in modo che il valore Θ calcolato è sempre compreso nell'Intervallo chiuso [0; 2R], dato che i due canali A e B sono periodici con periodo pari a 2R, per es., nel modo seguente:
if (Θ > 2.0*R)
0 = 0 - 2.0*R
if (Θ < 0.0)
θ = Θ 2.0*R;
10. con riferimento alla figura 4, si confronta il valore Θ ottenuto precedentemente con il valore assunto dal canale A in funzione del valore della variabile Θ: se il canale A ha valore alto, cioè pari ad 1, si pone yf pari ad 1 , altrimenti yf viene posto a 0, per es., nel modo seguente:
if (Θ <= R)
yf = 1.0 else yf = 0.0;
11. allo stesso modo con riferimento alla figura 4, si confronta il valore Θ ottenuto precedentemente con il valore assunto dal canale B in funzione del valore della variabile Θ. Se il canale B ha valore alto (cioè pari ad 1) si pone yq pari ad 1, altrimenti yq sarà pari a 0, per es., nel modo seguente:
if ( (R/2.0 < θ) && (Θ < (3.0/2.0)R) )
yq = 0.0 else yq = 1.0;
I due segnali yf ed yq così generati possono essere inviati alle uscite digitali e tramite esse ad un contatore encoder.
Di seguito, con particolare riferimento alle figure 5, 6 e 7, viene illustrato una realizzazione preferita di metodo adattativo operato dal sistema lento.
Si definisce X la derivata prima rispetto al tempo di una variabile X. All’interno delle figure, per semplificare la notazione, la dipendenza dei simboli dalla variabile temporale t non viene indicata e l’operatore derivativo nel tempo è indicato col simbolo s, mentre l’operatore di integrazione è indicato dal simbolo 1/s.
All’interno delle figure, per semplificare la notazione, la dipendenza dei simboli dalla variabile temporale t non viene indicata.
Con riferimento alla figure 5, 6 e 7, il metodo di controllo adattativo è riassunto dalla seguente espressione:
dove i vettori q(t) e qd(t) sono rispettivamente la posizione e la velocità generate dal simulatore del modello operato dal secondo blocco da sinistra in figura 3; il vettore 0(t) rappresenta la posizione ricostruita dal conteggio dei segnali encoder prodotti dal sistema veloce; Ka, Kl e KP sono costanti positive, il vettore e(t) è l’errore di posizione all’istante di tempo t, dato dalla differenza tra q(t) e 0(t), i vettori b(t), xC(t) e v(t) sono variabili interne al metodo adattativo ed il vettore Vout(t) è la tensione fornita tramite i convertitori D/A al sistema veloce, con riferimento ai segnali di velocità corretti indicati in figura 1.
L’introduzione di un controllo di tipo adattativo garantisce che l’informazione di posizione Q(t) ricostruita sulla base del conteggio dei segnali encoder prodotti dal microcontrollore coincide con la posizione q(t) prodotta dal simulatore del modello compreso nel sistema lento, risolvendo il problema dell’errore introdotto da vari fattori, tra i quali l’incertezza sul guadagno e sull’offset intrinseci nei convertitori D/A che inviano i segnali di velocità corretti Vout(t) al microcontrollore.
Tale risultato industriale viene ulteriormente avvalorato dalla dimostrazione teorica rappresentata dal seguente teorema, concepito dagli stessi inventori del presente trovato.
Teorema: Modellando una catena convertitore D/A-Microcontrollore-Interfaccia encoder con il blocco blu in figura 8, e corrispondente all’equazione vettoriale:
dove a > 0 ( abar > 0) e d (dbar) sono costanti incognite dipendenti dall’hardware, valgono le seguenti proprietà:
1.
2.
Dimostrazione: Usando la funzione di Lyapunov
f
si dimostra per sostituzione che
Integrando ambo i membri (dell’ultima espressione) tra t=0 e t=+∞ e usando il fatto che V(t) è limitata per ogni t (infatti V(t)>0 e V(0 < 0), si ottiene il punto 1 .
Infine, poiché V(t) è limitata, lo sono di conseguenza anche e(t), xc(t) e b(t). Dunque se qd(t) è limitata, per sostituzione, saranno limitate
quindi sarà limitata anche
e similmente Da ciò, usando il Lemma di Barbalat, si dimostra che e du
come indicato al punto 2.
Vantaggiosamente, la presente invenzione consente la possibilità di simulare in tempo reale e con costi ridotti il comportamento dinamico del modello virtuale di un manipolatore robotico e/o di una macchina utensile a controllo numerico sottoposto/a all’azione di controllo di schede (e/o hardware) di controllo assi interfacciate tramite segnali encoder, poiché la simulazione avviene connettendo i segnali elettrici della scheda controllo assi (o hardware equivalente) all’apparato oggetto della presente invenzione. I vantaggi sono:
- di natura economica, in quanto i sistemi che si possono simulare sono molto costosi da realizzare realmente;
- legati alla sicurezza degli operatori, in quanto i sistemi simulati possono, a volte, essere pericolosi per l’uomo in caso di malfunzionamento durante la fase di sviluppo del software di gestione delle schede di controllo assi; - di flessibilità ed efficienza, in quanto l’apparato presentato permette di effettuare svariate prove su sistemi di tipo diverso semplicemente apportando aggiornamenti al software di gestione dell’apparato medesimo operante secondo il metodo sopra esposto, piuttosto che dover trasportare, installare e collegare dispositivi meccanici reali pesanti e ingombranti.
I modi particolari di realizzazione qui descritti non limitano il contenuto di questa domanda che copre tutte le varianti dell’invenzione definite dalle rivendicazioni.

Claims (9)

  1. RIVENDICAZIONI 1. Apparato di simulazione real-time di manipolatore robotico e/o macchina a controllo numerico muniti di sensori interfacciati tramite segnali encoder comprendente (i) mezzi veloci (2) atti a produrre segnali encoder (P2) in fase e quadratura di velocità e posizione degli assi definenti detto manipolatore robotico, connesso con (ii) mezzi di controllo assi (3), atti ad elaborare comandi di traiettoria di ciascun asse e connessi con (iii) mezzi lenti (1) atti a simulare detto manipolatore robotico, calcolando ulteriori valori di posizione e velocità degli assi (3), caratterizzato dal fatto che detti mezzi lenti (1) comprendono mezzi adattativi (112) atti a filtrare detti ulteriori valori (P1) di posizione degli assi, prima di essere inviati a detto sistema veloce (2), in modo da minimizzare, a regime, la differenza tra detti valori di posizione (P2) e detti ulteriori valori di posizione (P1).
  2. 2. Apparato secondo la rivendicazione 1, in cui detti mezzi lenti (1) sono un computer (11) munito di almeno una scheda di acquisizione (12).
  3. 3. Apparato secondo la rivendicazione 2, in cui detta scheda di acquisizione (12) è una Sensoray modello 626.
  4. 4. Apparato secondo la rivendicazione 1, in cui detti mezzi lenti (1) sono atti a simulare un robot a mezzi di un modello matematico secondo la formulazione di Newton-Eulero.
  5. 5. Apparato secondo la rivendicazione 1, in cui detti mezzi veloci (2) comprendono un microcontrollore 21 munito di opportuno programma di calcolo ed una scheda di programmazione di detto microcontrollore.
  6. 6. Apparato secondo la rivendicazione 5, in cui detto microcontrollore è un MICROCHIP dsPIC30F4013.
  7. 7. Metodo di simulazione real-time di manipolatori robotici e macchine a controllo numerico secondo la rivendicazione 1, comprendente le seguenti fasi: - (passo 1) si fissa un tempo di campionamento tc di una simulazione; - (passo 2) si portano in posizione zero gli assi definenti il robot o manipolatore meccanico e simulati da detti mezzi lenti (1) a mezzo di un relativo modello matematico seconda la formulazione di Newton-Eulero; - (passo 3) detti mezzi lenti (1) ricevono i segnali analogici di comando, prodotti da detti mezzi di controllo assi (3) ; - (passo 4) detti mezzi lenti (1), calcolano la dinamica diretta del modello matematico a mezzo di detto modello e aggiornano i segnali analogici di posizione e velocità degli assi (3); - (passo 5) detti segnali analogici di posizione e velocità, calcolati al passo precedente, vengono filtrati e corretti ed inviati a detti mezzi veloci (2); - (passo 6) detti mezzi veloci, allora, ricevuti detti segnali analogici di velocità corretti, producono segnali (P2) elettrici encoder in fase e quadratura; - (passo 7) allora, detti mezzi veloci (2) inviano detti segnali elettrici in fase e quadratura di tipo encoder, calcolati al passo precedente, contemporaneamente, sia a detti mezzi di controllo assi che a detti mezzi lenti (1); - dunque, (passo 8) detti mezzi lenti (1) calcolano l’errore di posizione per ciascun organo mobile modellato, come differenza tra detti valori (P1) di posizione calcolati precedentemente (al passo 4) e quelli (P2) ricevuti da detti mezzi veloci (2), allora filtra tali segnali di errore a mezzo di un metodo adattativo generando segnali di velocità corretti da inviare al sistema veloce.
  8. 8. Metodo secondo la rivendicazione 7, in cui detti mezzi veloci (3) calcolano (passo 6) producono segnali (P2) elettrici encoder in fase e quadratura secondo il seguente procedimento: i. si definisce la risoluzione dell’encoder, cioè il numero N di settori angolari, cioè parti o riferimenti, in cui si vuole suddividere l'angolo giro di 2 π radianti o 360 gradi; ii. si pone pari ad R l'ampiezza del settore angolare, cioè l’ampiezza della zona trasparente o opaca: R = 2π / N; iii. si pone At pari al tempo di campionamento tc scelto per le simulazioni real-time: At = tc; iv. si introduce un guadagno Kout che è necessario successivamente per ricostruire l'ampiezza del segnale analogico acquisito dall'esterno; v. si pone u pari all'ampiezza del segnale analogico in ingresso; vi. si definisce Θ una variabile atta a memorizzare l'informazione angolare di posizione via via ricostruita; vii. si definisce yf, quale componente in fase, come variabile binaria per rappresentare un canale A; viii. si definisce yq, quale componente inquadratura, come variabile binaria per rappresentare un canale B; ix. La variabile Θ viene aggiornata secondo l'equazione: θ = Θ u<*>Kout<*>At quindi la posizione angolare attuale è pari alla somma della posizione angolare precedente e dell'incremento di posizione avvenuto nell'intervallo di tempo At, dato dal prodotto della velocità angolare u per il tempo di campionamento tc per il guadagno Kout.; x. si fa in modo che il valore Θ calcolato è sempre compreso nell'intervallo chiuso [0; 2R], dato che i due canali A e B sono periodici con periodo pari a 2R, per es., nel modo seguente: if (Θ > 2.0*R) 0 = 0 - 2.0*R if (Θ < 0.0) θ = Θ 2.0*R; xi. si confronta il valore Θ ottenuto precedentemente con il valore assunto dal canale A in funzione del valore della variabile Θ: se il canale A ha valore alto, cioè pari ad 1 , si pone yf pari ad 1 , altrimenti yf viene posto a 0, per es., nel modo seguente: if (Θ <= R) yf = 1.0 else yf = 0.0; xii. allo stesso modo, si confronta il valore Θ ottenuto precedentemente con il valore assunto dal canale B in funzione del valore della variabile Θ. Se il canale B ha valore alto (cioè pari ad 1) si pone yq pari ad 1 , altrimenti yq sarà pari a 0, per es., nel modo seguente:
  9. 9. Metodo secondo la rivendicazione 7, in cui, detto metodo adattativo (passo 6) comprende il seguente insieme di equazioni integrodifferenziali:
    essendo i vettori q(t) e qd(t) rispettivamente la posizione e la velocità generate da detti mezzi lenti; rappresentando il vettore 0(t) la posizione ricostruita dal conteggio dei segnali encoder generati da detti mezzi veloci; essendo Ka, Kl e KP costanti positive; essendo il vettore e(t) l’errore di posizione all’istante di tempo t, dato dalla differenza tra q(t) e 0(t); essendo i vettori b(t), xC(t) e v(t) variabili interne al set di equazioni definenti il metodo adattativo; essendo il vettore Vout(t) la tensione fornita tramite convertitori D/A a detti mezzi veloci (2).
ITRM20070575 2007-10-31 2007-10-31 Apparato di simulazione real-time di manipolatore robotico e macchina a controllo numerico ITRM20070575A1 (it)

Priority Applications (2)

Application Number Priority Date Filing Date Title
ITRM20070575 ITRM20070575A1 (it) 2007-10-31 2007-10-31 Apparato di simulazione real-time di manipolatore robotico e macchina a controllo numerico
PCT/IB2008/054516 WO2009057066A2 (en) 2007-10-31 2008-10-30 Real-time simulation system for a robotic manipulator and a computer numerical controlled device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ITRM20070575 ITRM20070575A1 (it) 2007-10-31 2007-10-31 Apparato di simulazione real-time di manipolatore robotico e macchina a controllo numerico

Publications (1)

Publication Number Publication Date
ITRM20070575A1 true ITRM20070575A1 (it) 2009-05-01

Family

ID=40314104

Family Applications (1)

Application Number Title Priority Date Filing Date
ITRM20070575 ITRM20070575A1 (it) 2007-10-31 2007-10-31 Apparato di simulazione real-time di manipolatore robotico e macchina a controllo numerico

Country Status (2)

Country Link
IT (1) ITRM20070575A1 (it)
WO (1) WO2009057066A2 (it)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2372079B1 (es) * 2010-02-02 2012-11-19 Asociación Industrial De Óptica, Color E Imagen - Aido Método de auto-sincronización y compensación de desviaciones temporales en la recepción de datos emitidos periódicamente y dispositivo conversor a señales de tipo codificador incremental que lo implementa.
CN105252769B (zh) * 2015-10-09 2017-05-31 深圳市七号科技有限公司 一种用于fdm3d打印机的故障测试‑定位方法
CN112017499B (zh) * 2020-07-17 2023-05-16 中国核电工程有限公司 一种基于仿真技术的半实物装卸料机模拟机系统

Also Published As

Publication number Publication date
WO2009057066A2 (en) 2009-05-07
WO2009057066A3 (en) 2009-11-19

Similar Documents

Publication Publication Date Title
CN101598939B (zh) 多轴运动伺服控制与保护系统
Vyatkin et al. Closed-loop modeling in future automation system engineering and validation
US7596417B2 (en) System and method for configuring and parametrizing a machine used in automation technology
US9436172B2 (en) Test installation for testing control programs for a robot installation
WO2021053855A1 (ja) シミュレーション装置、シミュレーションプログラムおよびシミュレーション方法
CN103926847A (zh) 一种机器人仿真系统
CN105700465A (zh) 基于EtherCAT总线的机器人柔顺控制系统和方法
Correa et al. A modular-architecture controller for CNC systems based on open-source electronics
CN101598944B (zh) 硬件在环仿真装置和硬件在环仿真方法
ITRM20070575A1 (it) Apparato di simulazione real-time di manipolatore robotico e macchina a controllo numerico
WO2022017827A1 (de) Verfahren zur simulation eines roboterarms
JP2010218036A (ja) ロボットオフラインプログラミング装置
CN111819507A (zh) 信息处理系统、信息处理方法及信息处理程序
CN109213306B (zh) 一种机器人远程控制平台及其设计方法
KR101439929B1 (ko) 로봇의 삼차원 시뮬레이션 방법 및 시스템
Hayn et al. Control concept for a hydraulic mobile machine using a haptic operating device
Roberts et al. Design and implementation of a bond-graph observer for robot control
Pellicciari et al. Hardware-in-the-Loop Mechatronic Virtual Prototyping of a high-speed capsule filling machine
CN113848731A (zh) 多关节协作机器人微机电系统故障容错控制方法及系统
Alexander et al. Virtual Commissioning of an industrialwood cutter machine: A software in the loop simulation
Ahmed et al. A co-simulation framework for design, test and parameter optimization of robotic systems
Tiemann et al. A concept for secure interaction with large scale haptic devices in virtual reality environments
Mihelj et al. yControl-open architecture controller for Yaskawa Motoman MH5 robot
Galiana et al. New control architecture based on PXI for a 3-finger haptic device applied to virtual manipulation
Prica et al. Complex Modeling for Feed Forward Control System for Furnace Temperature Optimization