[go: up one dir, main page]

ITPI20010007A1 - METHOD FOR THE CONTROL OF AN ARTICULATED AND / OR DEFORMABLE MECHANICAL SYSTEM AND ITS APPLICATIONS - Google Patents

METHOD FOR THE CONTROL OF AN ARTICULATED AND / OR DEFORMABLE MECHANICAL SYSTEM AND ITS APPLICATIONS Download PDF

Info

Publication number
ITPI20010007A1
ITPI20010007A1 ITPI20010007A ITPI20010007A1 IT PI20010007 A1 ITPI20010007 A1 IT PI20010007A1 IT PI20010007 A ITPI20010007 A IT PI20010007A IT PI20010007 A1 ITPI20010007 A1 IT PI20010007A1
Authority
IT
Italy
Prior art keywords
actuators
control
artificial
creation
virtual model
Prior art date
Application number
Other languages
Italian (it)
Inventor
Giovanni Pioggia
Luca Marano
Francesco Fabio Di
Original Assignee
Giovanni Pioggia
Luca Marano
Francesco Fabio Di
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 Giovanni Pioggia, Luca Marano, Francesco Fabio Di filed Critical Giovanni Pioggia
Priority to ITPI20010007 priority Critical patent/ITPI20010007A1/en
Priority to AU2002236201A priority patent/AU2002236201A1/en
Priority to PCT/IT2002/000072 priority patent/WO2002062535A2/en
Publication of ITPI20010007A1 publication Critical patent/ITPI20010007A1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40324Simulation, modeling of muscle, musculoskeletal dynamical system
    • 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/40527Modeling, identification of link parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Micromachines (AREA)
  • Processing Or Creating Images (AREA)
  • Numerical Control (AREA)

Description

Descrizione dell'Invenzione Industriale dal titolo: Description of the Industrial Invention entitled:

METODO PER IL CONTROLLO DI UN SISTEMA MECCANICO ARTICOLATO E/O METHOD FOR THE CONTROL OF AN ARTICULATED MECHANICAL SYSTEM AND / OR

DEFORMABILE E SUE APPLICAZIONI" DEFORMABLE AND ITS APPLICATIONS "

La presente invenzione ha per oggetto un metodo per il The present invention relates to a method for

controllo di un sistema meccanico articolato e/o deformabile, control of an articulated and / or deformable mechanical system,

quale ad esempio un'apparecchiatura per far compiere complessi such as for example an apparatus for making complexes

movimenti ad oggetti, un automa o un volto artificiale. movements to objects, an automaton or an artificial face.

L'invenzione riguarda inoltre le applicazioni operanti The invention also relates to operating applications

secondo il suddetto metodo. according to the above method.

Sono noti modelli matematici che, in base a dati Mathematical models are known which, based on data

preimpostati o rilevati da sensori, consentono di gestire preset or detected by sensors, allow you to manage

contemporaneamente un limitato numero di attuatori, correlati o simultaneously a limited number of actuators, correlated or

non correlati, in modo tale che con l'insieme delle loro unrelated, in such a way that with the set of them

azioni, sinergiche e/o concorrenti, sia possibile determinare, actions, synergistic and / or competing, it is possible to determine,

nello spazio e nel tempo, l'evoluzione voluta delle strutture è loro connesse e/o delle variabili da esse controllate. I in space and time, the desired evolution of the structures is connected to them and / or the variables controlled by them. THE

complessi modelli matematici che affrontano questi problemi complex mathematical models that address these problems

cercano di descrivere, per mezzo di sistemi di equazioni they try to describe, by means of systems of equations

integro-differenziali , le dinamiche degli attuatori e delle integro-differential, the dynamics of the actuators and of the

strutture ad essi collegate tenendo conto dei vincoli e della mutua influenza dei vari elementi che compongono il sistema controllato. Stabilita per quest'ultimo l'evoluzione desiderata, per esempio una sequenza di movimenti, il modello viene utilizzato per ricavare i valori da far assumere nel tempo alle variabili di giunto nei vari attuatori. I risultati dei calcoli vengono quindi tradotti in moto reale del sistema controllato, fornendo al loro sistema di pilotaggio i valori che devono assumere nello spazio e nel tempo le variabili di giunto dei vari attuatori. structures connected to them taking into account the constraints and mutual influence of the various elements that make up the controlled system. Once the desired evolution has been established for the latter, for example a sequence of movements, the model is used to derive the values to be assumed over time by the joint variables in the various actuators. The results of the calculations are then translated into real motion of the controlled system, providing their driving system with the values that the joint variables of the various actuators must assume in space and time.

A titolo di esempio di quanto esposto si cita l'attuazione della movimentazione di un esapodo, che rappresenta quanto di meglio è possibile fare con i sistemi di controllo tradizionali. Per la movimentazione di tale struttura è necessario realizzare un moto in cui i punti di contatto tra le estremità degli attuatori e la superficie variano nel tempo con discontinuità. Classicamente, per far sì che il robot effettui questa movimentazione, è necessario scrivere le equazioni che correlano le variabili di giunto di tutti gli attuatori e risolvere queste equazioni nel tempo per ottenere la successione degli stati dei vari motori istante per istante. Per una trattazione dettagliata si veda Haruhiko Asada, Jean-Jacques E. Slotine, Robot Analysis and Control, John Wiley & Sons, Aprile 1986. Riferimenti ad attuali androidi, gestiti con sistemi di controllo classici e quindi intrinsecamente limitati nelle loro funzioni, sono: l'umanoide "Cog" , inventato da Rodney Brooks del MIT di Boston, in grado di emulare i movimenti degli arti superiori umani, oppure "M2", sempre del MIT, in grado di camminare. Un altro esempio è "Robonaut" della Nasa, più precisamente del Johnson Space Center di Houston, che servirà per effettuare passeggiate nello spazio lavorando per riparare sonde e stazioni spaziali nello spazio al posto degli astronauti. Ancora si può citare "Jack", dell'Electrotechnical Lab di Tsukuba (Giappone), un androide capace di aiutare gli anziani a vivere da soli. Alla Science University di Tokyo stanno inoltre realizzando "Face Robot", un progetto guidato da Hideotoshi Akasawa. Questa faccia androide sarà capace di riconoscere e reagire alle differenti espressioni. As an example of what has been stated, the implementation of the movement of a hexapod is mentioned, which represents the best that can be done with traditional control systems. To move this structure it is necessary to create a motion in which the points of contact between the ends of the actuators and the surface vary over time with discontinuity. Classically, in order for the robot to carry out this movement, it is necessary to write the equations that correlate the joint variables of all the actuators and solve these equations over time to obtain the succession of the states of the various motors instant by instant. For a detailed discussion see Haruhiko Asada, Jean-Jacques E. Slotine, Robot Analysis and Control, John Wiley & Sons, April 1986. References to current androids, managed with classic control systems and therefore intrinsically limited in their functions, are: the humanoid "Cog", invented by Rodney Brooks of MIT in Boston, able to emulate the movements of the human upper limbs, or "M2", also of MIT, able to walk. Another example is NASA's "Robonaut", more precisely of the Johnson Space Center in Houston, which will be used to carry out spacewalks working to repair probes and space stations in space in place of astronauts. Again we can mention "Jack", from the Electrotechnical Lab of Tsukuba (Japan), an android capable of helping the elderly to live alone. At the Science University of Tokyo they are also making "Face Robot", a project led by Hideotoshi Akasawa. This android face will be able to recognize and react to different expressions.

Riferimenti bibliografici relativi agli androidi sopra citati sono contenuti in Peter Menzel, Faith D'Aluisio, Robosapiens, evolution of new species, MIT Press, 2000. Bibliographic references relating to the above mentioned androids are contained in Peter Menzel, Faith D'Aluisio, Robosapiens, evolution of new species, MIT Press, 2000.

Lo scopo della presente invenzione è di rendere possibile il controllo di sistemi meccanici articolati e/o deformabili di struttura anche complessa per i quali la descrizione con un sistema di equazioni secondo la tecnica nota sarebbe difficile o impossibile. The object of the present invention is to make possible the control of articulated and / or deformable mechanical systems of even complex structure for which the description with a system of equations according to the known art would be difficult or impossible.

Un altro scopo della presente invenzione è di fornire un metodo di controllo di sistemi meccanici articolati e/o deformabili utilizzante un ambiente di sviluppo di grafica virtuale grazie al quale è possibile interpretare i dati forniti da un insieme di sensori e gestire contemporaneamente un gran numero di attuatori, con possibilità di costruire un modello estremamente corrispondente alla realtà sia in termini di dinamiche degli attuatori che di deformazioni indotte, in modo tale da poter pianificare e controllare, nell'ambito dell'ambiente virtuale, quella che sarà la successione di movimentazioni che si desiderano ottenere. Another object of the present invention is to provide a control method for articulated and / or deformable mechanical systems using a virtual graphics development environment thanks to which it is possible to interpret the data provided by a set of sensors and simultaneously manage a large number of actuators, with the possibility of constructing a model that closely corresponds to reality both in terms of dynamics of the actuators and of induced deformations, in such a way as to be able to plan and control, within the virtual environment, what will be the succession of movements that will be they want to get.

Un ulteriore scopo della presente invenzione è di fornire un metodo di controllo del tipo summenzionato nel quale sia possibile costruire un database di configurazioni e/o movimentazioni illimitato. A further object of the present invention is to provide a control method of the aforementioned type in which it is possible to build an unlimited database of configurations and / or movements.

È ancora un altro scopo della presente invenzione di fornire un metodo di controllo del tipo summenzionato grazie al quale sia possibile ottenere movimentazioni nuove sulla base del database ottenuto senza necessariamente ricalcolarle con il modello virtuale, ossia studiare off-line la gamma di movimentazioni desiderata, salvarla nel database e con essa controllarne i movimenti e/o le deformazioni indotte degli attuatori reali. It is still another object of the present invention to provide a control method of the aforementioned type thanks to which it is possible to obtain new movements on the basis of the database obtained without necessarily recalculating them with the virtual model, that is to study off-line the desired range of movements, to save it in the database and with it control the movements and / or the induced deformations of the real actuators.

La caratteristica essenziale del metodo di controllo secondo la presente invenzione consiste nel fatto di sostituire i modelli matematici classici con modelli solidi 3D costruiti in ambiente virtuale, utilizzando, in modo concettualmente nuovo, software avanzato di grafica tridimensionale al posto dei sistemi di equazioni. In altre parole, l'idea basilare è quella di utilizzare informazioni e dati ricavati, da oggetti creati in un ambiente virtuale per pilotare analoghi oggetti reali . The essential characteristic of the control method according to the present invention consists in replacing the classical mathematical models with 3D solid models built in a virtual environment, using, in a conceptually new way, advanced three-dimensional graphics software instead of systems of equations. In other words, the basic idea is to use information and data obtained from objects created in a virtual environment to drive similar real objects.

Più precisamente, con un sistema di grafica avanzata viene riprodotto nei minimi particolari il modello di una struttura reale, anche complessa, e viene creato un modello virtuale per ognuno dei suoi attuatori. Al modello virtuale così creato vengono attribuiti i vincoli e ì limiti posseduti dall'oggetto reale, dato che nell'ambiente virtuale esiste il più ampio grado di libertà. Come nel caso classico, le informazioni chiave che il modello fornisce per il controllo degli attuatori sono i valori da assegnare nel tempo alle variabili di giunto, quali ad esempio le coordinate dell'estremità mobile di un attuatore lineare, oppure l'angolo di rotazione dell'asse di un motore. Queste informazioni, dopo essere state inviate ad un sistema di pilotaggio, consentono di realizzare nella realtà quanto simulato nell'ambiente virtuale. More precisely, with an advanced graphics system the model of a real structure, even a complex one, is reproduced in detail and a virtual model is created for each of its actuators. The constraints and limits possessed by the real object are attributed to the virtual model thus created, since the greatest degree of freedom exists in the virtual environment. As in the classic case, the key information that the model provides for controlling the actuators are the values to be assigned over time to the joint variables, such as the coordinates of the moving end of a linear actuator, or the angle of rotation of the axis of a motor. This information, after being sent to a piloting system, makes it possible to realize what is simulated in the virtual environment in reality.

I vantaggi e le potenzialità applicative di questo modo di operare sono notevoli. È possibile la modellazione di sistemi reali molto complessi per i quali la descrizione con un sistema di equazioni sarebbe difficile o impossibile, avendo come unico limite la capacità di calcolo del computer utilizzato per creare l'ambiente virtuale. Inoltre si possono eliminare tutti i problemi connessi alla scrittura e risoluzione di sistemi di equazioni molto complesse e quindi il numero di attuatori che è possibile controllare contemporaneamente aumenta in modo notevole. In questo modo quindi è possibile ottenere con maggiore facilità i risultati della robotica classica, risolvendo il problema della cinematica dei vari attuatori, dei quali è necessario trovare i valori assunti nel tempo di posizione, velocità ed accelerazione. The advantages and application potential of this way of operating are considerable. It is possible to model very complex real systems for which the description with a system of equations would be difficult or impossible, having as the only limit the computing capacity of the computer used to create the virtual environment. Furthermore, it is possible to eliminate all the problems connected with writing and solving very complex systems of equations and therefore the number of actuators that can be controlled at the same time increases considerably. In this way, therefore, it is possible to obtain the results of classical robotics with greater ease, solving the problem of the kinematics of the various actuators, of which it is necessary to find the values assumed in the time of position, speed and acceleration.

Ulteriori caratteristiche e vantaggi del metodo di controllo di sistemi meccanici articolati e/o deformabili secondo la presente invenzione risulteranno più chiaramente dalla descrizione che segue di una sua pratica applicazione, fornita a titolo esemplificativo e non limitativo. Further characteristics and advantages of the method for controlling articulated and / or deformable mechanical systems according to the present invention will become clearer from the following description of a practical application thereof, provided by way of non-limiting example.

Nei disegni annessi: In the accompanying drawings:

- le figure 1, 2 e 3 mostrano schematicamente il ciclo di operazioni attraverso cui è possibile ottenere la movimentazione di un sistema reale con il metodo di controllo secondo l'invenzione; Figures 1, 2 and 3 schematically show the cycle of operations through which it is possible to obtain the movement of a real system with the control method according to the invention;

la figura 4 mostra schematicamente i componenti di un'apparecchiatura operante secondo il metodo di controllo oggetto della presente invenzione; Figure 4 schematically shows the components of an apparatus operating according to the control method object of the present invention;

la figura 5 mostra schematicamente il sistema di motorizzazione dell'esempio di attuazione del metodo secondo l'invenzione ; figure 5 schematically shows the motorization system of the embodiment example of the method according to the invention;

- la figura 6 mostra schematicamente un attuatore impiegato in detto esempio; Figure 6 schematically shows an actuator used in said example;

le figure 7 e 8 mostrano in vista laterale ed in vista frontale un gruppo motori; Figures 7 and 8 show a side view and a front view of a motor unit;

- la figura 9 illustra schematicamente l'elettronica di pilotaggio dei motori; Figure 9 schematically illustrates the driving electronics of the motors;

la figura 10 mostra schematicamente la fase di modellazione dell'esempio di applicazione secondo la presente invenzione; Figure 10 schematically shows the modeling step of the application example according to the present invention;

- la figura 11 mostra un esempio di matrice usata per il pilotaggio dell'esempio di applicazione secondo la presente invenzione ; Figure 11 shows an example of a matrix used for driving the application example according to the present invention;

- la figura 12 mostra schematicamente la gerarchia degli ossi e dei locator. - figure 12 schematically shows the hierarchy of bones and locators.

Con riferimento alle figure 1 e 2, nella sua modalità di esecuzione più generale il metodo di controllo secondo la presente invenzione prevede una prima fase in cui si analizzano le componenti e le loro relazioni reciproche, in funzione degli obiettivi applicativi, di un sistema meccanico articolato e/o deformabile avente come interfaccia sensori e/o attuatori, nel seguito indicato con "sistema reale" per brevità, che dovrà essere gestito dal sistema di controllo. Successivamente viene creato un modello virtuale, tramite un software di grafica avanzata 3D, costruendo nell'ambiente virtuale i modelli tridimensionali di tutte le strutture e di tutti gli attuatori che compongono il sistema reale. Questi modelli vengono dettagliati parametrizzando le variabili che servono a movimentare i corrispondenti componenti reali e modellando vincoli e interdipendenze cui detti componenti sono soggetti. With reference to figures 1 and 2, in its more general execution mode, the control method according to the present invention provides a first phase in which the components and their mutual relationships are analyzed, according to the application objectives, of an articulated mechanical system and / or deformable having sensors and / or actuators as interface, hereinafter referred to as "real system" for brevity, which must be managed by the control system. A virtual model is then created, using advanced 3D graphics software, building the three-dimensional models of all the structures and all the actuators that make up the real system in the virtual environment. These models are detailed by parameterizing the variables that are used to move the corresponding real components and by modeling the constraints and interdependencies to which said components are subject.

Il modello virtuale così creato viene quindi graficamente "animato", cioè movimentato e/o deformato, nel modo voluto e dalle variabili precedentemente parametrizzate vengono estratte le informazioni necessarie per il controllo del sistema reale. In particolare, l'animazione del modello può essere semplificata con l'utilizzo di tecniche di cattura del movimento (motion capture). Secondo tali tecniche il movimento da riprodurre viene acquisito dal sistema reale con opportuni sistemi di rilevazione, elaborato con software appositi e le informazioni utili per la costruzione delle sequenze animate vengono fornite al modello virtuale che ricostruisce da esse le posizioni degli attuatori e gli andamenti delle variabili parametrizzate . The virtual model thus created is then graphically "animated", ie moved and / or deformed, in the desired way and the information necessary for the control of the real system is extracted from the previously parameterized variables. In particular, model animation can be simplified with the use of motion capture techniques. According to these techniques, the movement to be reproduced is acquired by the real system with appropriate detection systems, processed with special software and the information useful for the construction of the animated sequences is supplied to the virtual model which reconstructs the positions of the actuators and the trends of the variables from them. parameterized.

Le informazioni estratte dal modello vengono quindi poste in ingresso ai driver di controllo per il pilotaggio del sistema reale. The information extracted from the model is then input to the control drivers for driving the real system.

A titolo di esempio, come sistema di grafica avanzata 3D può essere impiegato il software denominato MAYA, posto in commercio da Alias/Wavefront, o equivalenti. Per le tecniche di cattura del movimento può essere impiegato il software denominato Gypsy Motion Capture System posto in commercio da Meta Motion, o equivalenti ed i sistemi di rilevazione per l'acquisizione del movimento da riprodurre possono essere costituiti da sensori magnetici, o equivalenti. Come software di elaborazione dei dati acquisiti con tali sistemi di rilevamento può essere impiegato lo stesso software MAYA oppure il software Filmbox Animation posto in commercio da Kaydara, o equivalenti . By way of example, the software called MAYA, marketed by Alias / Wavefront, or equivalent, can be used as an advanced 3D graphics system. For the motion capture techniques, the software called Gypsy Motion Capture System marketed by Meta Motion, or equivalent, can be used and the detection systems for the acquisition of the movement to be reproduced can be constituted by magnetic sensors, or equivalent. The MAYA software itself or the Filmbox Animation software marketed by Kaydara, or equivalent, can be used as processing software for the data acquired with these detection systems.

La realizzazione del modello virtuale è finalizzata all'ottenimento delle variabili necessarie al pilotaggio del sistema meccanico articolato e/o deformabile che, nella sua forma più generale, è composto da n attuatori, k vincoli, j giunti e p sottosistemi passivi movimentati e/o deformati dagli attuatori. Tali variabili rappresentano i parametri di controllo con i quali pilotare nello spazio e nel tempo in modo parallelo un gran numero di attuatori così da far assumere al sistema reale e/o ai sistemi fisici altamente complessi da esso dipendenti le movimentazioni e/o deformazioni desiderate. Per costruire al meglio il modello virtuale di tale sistema secondo il metodo oggetto dell'invenzione, si proiettano, definendone le proprietà di movimentazione e/o deformazione, i sottosistemi passivi nell'ambiente virtuale mantenendo inalterate le loro proporzioni e distanze reciproche (fase di modellazione). Gli attuatori, i vincoli ed i giunti vengono graficamente creati e localizzati nelle loro corrette posizioni spaziali. Si definiscono quindi le variabili di controllo del sistema, e cioè i valori da estrarre, nello spazio e nel tempo, dal modello virtuale per consentire il controllo del sistema reale (fase di parametrizzazione). Vengono creati i pattern motori spazio-temporali di ogni singolo attuatore (fase di animazione) secondo le possibili modalità: The realization of the virtual model is aimed at obtaining the variables necessary for driving the articulated and / or deformable mechanical system which, in its most general form, is composed of n actuators, k constraints, j joints and p passive subsystems moved and / or deformed by the actuators. These variables represent the control parameters with which to drive a large number of actuators in space and time in parallel so as to make the real system and / or the highly complex physical systems dependent on it assume the desired movements and / or deformations. To best construct the virtual model of this system according to the method object of the invention, the passive subsystems are projected into the virtual environment by defining their movement and / or deformation properties while maintaining their proportions and mutual distances unchanged (modeling phase ). The actuators, constraints and joints are graphically created and located in their correct spatial positions. The system control variables are then defined, ie the values to be extracted, in space and time, from the virtual model to allow the control of the real system (parameterization phase). The space-time motor patterns of each individual actuator (animation phase) are created according to the possible methods:

impostando un certo andamento delle variabili di controllo degli attuatori il modello restituisce le movimentazioni e/o deformazioni indotte sul sistema reale (cinematica diretta) ; by setting a certain trend of the control variables of the actuators, the model returns the movements and / or deformations induced on the real system (direct kinematics);

- da movimentazioni e/o deformazioni indotte graficamente sul modello virtuale è possibile ricavare l'andamento delle variabili di controllo degli attuatori che consentono di realizzarle nel sistema reale (cinematica inversa) ; - from movements and / or deformations induced graphically on the virtual model it is possible to derive the trend of the control variables of the actuators that allow them to be realized in the real system (inverse kinematics);

- da movimentazioni e/o deformazioni acquisite attraverso tecniche di cattura del movimento (motion capture) , sia offline che in reai time e proiettate sul modello virtuale è possibile ricavare l'andamento delle variabili di controllo degli attuatori che consentono di realizzarle, essendo il modello interfacciabile con i più comuni sistemi commerciali di motion capture. - from movements and / or deformations acquired through motion capture techniques, both offline and in real time and projected on the virtual model, it is possible to obtain the trend of the control variables of the actuators that allow them to be created, being the model interfaceable with the most common commercial motion capture systems.

I sottosistemi passivi movimentati e/o deformati dagli attuatori possono essere riprodotti in modo grafico avendo l'accortezza di crearli simili dal punto di vista geometrico (in scala), mantenendo proporzionali le distanze fra essi. The passive subsystems moved and / or deformed by the actuators can be reproduced in a graphic way having the foresight to create them similar from a geometric point of view (in scale), keeping the distances between them proportional.

Per la fase di parametrizzazione , in cui vengono creati i modelli di attuatori, vincoli e giunti, si eseguono i seguenti passi : For the parameterization phase, in which the models of actuators, constraints and joints are created, the following steps are carried out:

- viene realizzato uno scheletro di base; - a basic skeleton is made;

- vengono create le proprietà volumetriche di esso; - the volumetric properties of it are created;

- lo scheletro di base viene posizionato nello spazio; vengono definite le proprietà di movimentazione e/o deformazione ; - the base skeleton is placed in space; the handling and / or deformation properties are defined;

- viene definita l'influenza che ogni singolo attuatore e/o giunto ha sui sottosistemi passivi da essi dipendenti. - the influence that each individual actuator and / or joint has on the passive subsystems dependent on them is defined.

Per la creazione dello scheletro di base si crea quello che viene definito "osso" (skeleton) nei più comuni software di grafica 3D. Esso è un vettore orientato rispetto ad una terna di riferimento posta sul suo punto di applicazione. Per assegnargli delle proprietà volumetriche si traccia un cilindro che, posizionato in corrispondenza dell'osso, viene raggruppato in un'unica struttura con l'osso. Il comando generico è create group, questo gruppo può essere chiamato attuatore, il cui punto di applicazione rappresenta un giunto. Questo oggetto viene posizionato e scalato in base alla posizione e dimensione dell'oggetto reale. Il giunto di questo oggetto può essere vincolato o meno ad altre strutture definendo così la sua movimentazione. Per definire le singole proprietà di deformazione, ad ogni attuatore viene associato un flexor, caratteristica presente nei software di grafica; è uno dei caratteri (character) che possono essere assegnati agli elementi di un ambiente virtuale. Affinché i flexor abbiano influenza sui sottosistemi passivi da essi dipendenti, essi vengono interconnessi sia con questi ultimi che con l'attuatore, selezionandoli tutti contemporaneamente e correlandoli tramite il generico comando rigid bind. Le aree di effetto e dì influenza di ogni flexor sulle deformazioni e/o movimentazioni dei sottosistemi dipendenti vengono appositamente modificate tramite il pannello paint tool. Potendo adattare la struttura virtuale a qualsiasi sottosistema ed a qualsiasi configurazione reale di attuatori ne seguono potenzialità illimitate. To create the basic skeleton, what is called "bone" (skeleton) is created in the most common 3D graphics software. It is a vector oriented with respect to a reference frame placed on its application point. To assign volumetric properties to it, a cylinder is drawn which, positioned in correspondence with the bone, is grouped into a single structure with the bone. The generic command is create group, this group can be called an actuator, whose application point represents a joint. This object is positioned and scaled based on the position and size of the actual object. The joint of this object can be bound or not to other structures thus defining its movement. To define the individual deformation properties, each actuator is associated with a flexor, a feature found in graphics software; is one of the characters that can be assigned to elements of a virtual environment. In order for the flexors to have an influence on the passive subsystems dependent on them, they are interconnected both with the latter and with the actuator, selecting them all at the same time and correlating them through the generic rigid bind command. The areas of effect and influence of each flexor on the deformations and / or movements of the dependent subsystems are specially modified using the paint tool panel. Being able to adapt the virtual structure to any subsystem and any real configuration of actuators, it follows unlimited potential.

Nella fase di animazione, tramite le strutture precedentemente sviluppate, vengono implementati i pattern motori spazio-temporali di ogni singolo attuatore secondo le modalità precedentemente indicate. L'andamento nello spazio delle movimentazioni e/o deformazioni degli attuatori e delle strutture loro interconnesse può essere definito attraverso le chiavi spaziali del tool set driven key, presente in tutti gli ambienti dì sviluppo 3D. Tramite questo tool è possibile vincolare a valori noti (chiavi) i parametri geometrici corrispondenti a movimenti e/o deformazioni delle strutture virtuali create. Il software movimenterà il modello secondo le traiettorie che soddisfano le caratteristiche del modello creato fino a questo momento ed il passaggio per questi valori noti secondo una delle tre modalità precedentemente descritte. Le deformazioni associate vengono dunque fissate replicando i movimenti e/o deformazioni fisiche reali che avvengono nell'attuatore stesso. In the animation phase, through the structures previously developed, the space-time motor patterns of each individual actuator are implemented according to the methods previously indicated. The spatial trend of the movements and / or deformations of the actuators and their interconnected structures can be defined through the spatial keys of the tool set driven key, present in all 3D development environments. Using this tool, it is possible to constrain the geometric parameters corresponding to movements and / or deformations of the virtual structures created to known values (keys). The software will move the model according to the trajectories that satisfy the characteristics of the model created up to this moment and the passage through these known values according to one of the three methods previously described. The associated deformations are therefore fixed by replicating the real physical movements and / or deformations that occur in the actuator itself.

Le variabili di controllo dell'attuatore virtualizzato vengono associate ad un'altra struttura, il locator. È una struttura vincolo che può essere associata ad uno o più elementi e ne influenza i parametri. Si creano così degli attributi del locator (variabili di controllo) la cui variazione determina una variazione numerica dei corrispondenti parametri geometrici del flexor passando per le chiavi spaziali . The control variables of the virtualized actuator are associated with another structure, the locator. It is a constraint structure that can be associated with one or more elements and influences their parameters. In this way, attributes of the locator (control variables) are created, the variation of which determines a numerical variation of the corresponding geometric parameters of the flexor passing through the spatial keys.

L'andamento nel tempo delle movimentazioni e/o deformazioni degli attuatori e delle strutture loro interconnesse può essere deciso definendo le chiavi temporali con time slider, tool . presente in tutti gli ambienti di sviluppo 3D. Nel time slider vengono fissati gli stati del modello negli istanti desiderati per ogni movimentazione. Il software costruirà tutti gli stati intermedi dell'andamento della movimentazione degli attuatori nel tempo. The trend over time of the movements and / or deformations of the actuators and their interconnected structures can be decided by defining the time keys with a time slider, tool. present in all 3D development environments. The states of the model are fixed in the time slider at the desired instants for each movement. The software will build all the intermediate states of the movement of the actuators over time.

Agendo quindi su ogni singolo attuatore si ottengono movimentazioni e/o deformazioni spazio-temporali e le strutture loro interconnesse. Nel caso si volesse agire direttamente sulle strutture interconnesse agli attuatori ed ottenere le conseguenti movimentazioni e/o deformazioni degli attuatori sarà necessario racchiudere tali strutture in un'altra struttura presente nel software 3D, il lattice di deformazione. Therefore, by acting on each individual actuator, movements and / or spatial-temporal deformations and their interconnected structures are obtained. If you want to act directly on the structures interconnected to the actuators and obtain the consequent movements and / or deformations of the actuators, it will be necessary to enclose these structures in another structure present in the 3D software, the deformation lattice.

Durante l'effettuazione delle movimentazioni e/o deformazioni nel modello virtuale, si estraggono e si salvano i valori nel tempo delle variabili di controllo precedentemente definite. Questa procedura può essere semplicemente effettuata con i comandi appositi del software di grafica 3D, quali ad esempio getAttr e fwrite. Questi valori vengono salvati in un file ASCII e rappresentano i valori che devono assumere nel tempo (set points) le variabili di controllo del sistema reale. Il file conterrà sotto forma di matrice, i valori delimitati da tabulazione. In ogni colonna verranno rappresentate le variabili di controllo, attuatore per attuatore, mentre nelle righe viene rappresentato il tempo. Il file è dunque in un A formato standard comunemente accettato da qualsiasi sistema e rappresenta l'ingresso ai driver di controllo degli attuatori. I driver ricevono quindi in ingresso i set points nel tempo delle corrispondenti variabili che controllano e ne pilotano il moto. During the execution of the movements and / or deformations in the virtual model, the values over time of the previously defined control variables are extracted and saved. This procedure can be simply carried out with the appropriate commands of the 3D graphics software, such as getAttr and fwrite. These values are saved in an ASCII file and represent the values that the control variables of the real system must assume over time (set points). The file will contain tab delimited values in matrix form. In each column the control variables will be represented, actuator by actuator, while in the lines the time is represented. The file is therefore in a standard format commonly accepted by any system and represents the input to the actuator control drivers. The drivers therefore receive in input the set points over time of the corresponding variables that control and drive their motion.

L'insieme di tutti questi file costituisce un database da cui attingere. Qualsiasi algoritmo decisionale, software di intelligenza artificiale, analisi di dati ecc, o semplicemente un operatore, può aggiornare in tempo reale la movimentazione da effettuare attingendola dal database. Il pilotaggio può avvenire secondo due modalità: All these files together make up a database to draw from. Any decision-making algorithm, artificial intelligence software, data analysis, etc., or simply an operator, can update the movement to be carried out in real time by drawing it from the database. Piloting can take place in two ways:

- funzionamento off-line - off-line operation

- funzionamento on-line - online operation

Nel primo caso l'algoritmo decisionale opererà attingendo le movimentazioni da un supporto di memoria di massa di un computer. Nel secondo caso dalla movimentazione del modello virtuale verranno estratte in tempo reale le informazioni necessarie al pilotaggio degli attuatori ed inviate, sempre in tempo reale, ai driver di controllo. Quest'ultima procedura è illustrata nella figura 3. In the first case, the decision-making algorithm will operate by drawing the movements from a mass memory support of a computer. In the second case, the information necessary to drive the actuators will be extracted in real time from the movement of the virtual model and sent, again in real time, to the control drivers. The latter procedure is illustrated in Figure 3.

Nella figura 4 sono illustrate le modalità generali con le quali il metodo oggetto della presente invenzione può essere messo in pratica. In essa si è indicato con 1 un computer, in particolare un personal computer, su cui è implementato il software di grafica avanzata 3D, connesso tramite connessione seriale RS232 ad una elettronica di controllo complessivamente indicata con 2, a sua volta connessa a driver di un gruppo motori controllati in ciclo chiuso. Dal gruppo motori escono mezzi di trasmissione 3 dei comandi, in genere costituiti da cavi di trasmissione, che agiscono su un sistema 5 da controllare comprendente attuatori 6 e sottosistemi 7 da movimentare e/o deformare. Figure 4 illustrates the general ways in which the method object of the present invention can be put into practice. In it, 1 indicates a computer, in particular a personal computer, on which the advanced 3D graphics software is implemented, connected via RS232 serial connection to a control electronics indicated as a whole with 2, in turn connected to a driver of a closed-loop controlled motors unit. Control transmission means 3 exit from the motor unit, generally consisting of transmission cables, which act on a system 5 to be controlled comprising actuators 6 and subsystems 7 to be moved and / or deformed.

Nella descrizione che segue il sistema meccanico articolato e deformabile controllato con il metodo secondo l'invenzione è costituito, a titolo di esempio non limitativo, da un volto artificiale, chiamato per semplicità "testa androide", la cui estetica, espressività e mimica sono simili a quelle umane. Secondo il principio di funzionamento generale sopra descritto compatibilmente con le tecnologie disponibili, con riferimento anche alla figura 5, la testa androide, genericamente indicata con 10, comprende una struttura scheletrica di supporto 11 a cui sono fissati muscoli artificiali (attuatori) 12 connessi ad una pelle artificiale 13 che riveste l'assieme. Gli attuatori 12 sono operativamente connessi, attraverso mezzi di trasmissione di potenza meccanica 14, ad un gruppo motori 15 ed encoder 16, i quali tramite un'elettronica di pilotaggio motori (driver dei motori) 17 sono controllati da segnali ricavati da un modello virtuale del volto umano ricostruito in un ambiente di grafica avanzata 3D caricato sul personal computer 1 dotato di sistema operativo Windows NT 128MB di RAM e scheda grafica con librerie OpenGL o sistemi equivalenti. Qui di seguito vengono descritti in maggior dettaglio i componenti del sistema . In the following description, the articulated and deformable mechanical system controlled with the method according to the invention consists, by way of non-limiting example, of an artificial face, called for simplicity "android head", whose aesthetics, expressiveness and mimicry are similar to human ones. According to the general operating principle described above compatibly with the available technologies, with reference also to figure 5, the android head, generally indicated with 10, comprises a skeletal support structure 11 to which artificial muscles (actuators) 12 are attached, connected to a artificial leather 13 that covers the assembly. The actuators 12 are operatively connected, by means of transmission of mechanical power 14, to a group of motors 15 and encoders 16, which by means of an electronic motor control (motor driver) 17 are controlled by signals obtained from a virtual model of the human face reconstructed in an advanced 3D graphics environment loaded on personal computer 1 equipped with Windows NT 128MB RAM operating system and graphics card with OpenGL libraries or equivalent systems. The system components are described in more detail below.

Struttura scheletrica di supporto Support skeletal structure

La struttura di sostegno 11 è una riproduzione in resina di un cranio e di parte della colonna cervicale umana destinata a fungere da ancoraggio per gli attuatori 12, e ad essere rivestita con la pelle artificiale 13. La struttura presenta un vano interno (quello normalmente riservato alla massa cerebrale) entro cui vengono alloggiate, tramite vincoli, guaine per i cavi di trasmissione 14 che trasmettono la potenza meccanica dal gruppo motori agli attuatori. Le guaine innervano la struttura di sostegno attraverso fori passanti consentendo il posizionamento dei cavi tangenzialmente alla pelle. The support structure 11 is a resin reproduction of a skull and part of the human cervical spine intended to act as an anchor for the actuators 12, and to be covered with artificial leather 13. The structure has an internal compartment (the one normally reserved to the brain mass) within which are housed, by means of constraints, sheaths for the transmission cables 14 which transmit the mechanical power from the motor group to the actuators. The sheaths innervate the support structure through through holes allowing the positioning of the cables tangential to the skin.

La pelle artificiale 13 è realizzata nella presente forma realizzativa, mediante tecnica completamente manuale creando dapprima un calco dal vero in alginato, sul quale, dopo solidificazione, si depone manualmente una colata di gesso alabastrino che, dopo solidificazione, costituirà il negativo del volto dal quale, alla fine, si ricava uno stampo entro cui verrà colata gomma di silicone che, una volta solidificata, costituirà la pelle artificiale. The artificial leather 13 is made in the present embodiment, by means of a completely manual technique, first creating an alginate cast from life, on which, after solidification, a cast of alabaster gypsum is manually placed which, after solidification, will constitute the negative of the face from which at the end, a mold is obtained into which silicone rubber will be poured which, once solidified, will form the artificial skin.

Muscoli artificiali Artificial Muscles

Gli attuatori 12 che svolgono la funzione dei muscoli sono una struttura in silicone 20 di forma sostanzialmente , ellissolidale allungata, schematizzata in figura 6, la cui anima è il cavo di trasmissione 14 della potenza meccanica prelevata dal gruppo motori. L'estremità della guaina 21 entro cui è disposto il cavo, viene fissata alla struttura di supporto nel punto di origine del muscolo, mentre il cavo di trasmissione 14 viene vincolato alla pelle con un qualsiasi mezzo idoneo, genericamente indicato con 22, ad esempio serrando mediante un grano la sua estremità nel foro di un cilindro metallico annegato in una protuberanza siliconica della superficie interna della pelle in corrispondenza del punto in cui termina il muscolo reale. Gli attuatori vengono realizzati per stampaggio colando il silicone liquido entro uno stampo cavo avente la forma dello specifico attuatore e lasciando asciugare. È quindi possibile creare attuatori di qualsiasi forma e dimensioni. Il movimento lineare del cavo 14 all'interno della massa di silicone 20 ne provoca l'accorciamento longitudinale ed un conseguente rigonfiamento trasversale permettendo sia di tirare la pelle 13 che di deformarla nel modo desiderato. Il muscolo artificiale scambia quindi con la pelle sia azioni tangenziali e normali alla superficie interna della pelle dovute al contatto con la sua superficie ellissoidale, sia quelle dovute all'azione diretta dell'estremità del cavo nel punto in cui esso è ancorato alla pelle stessa. La rigidezza del sistema di trasmissione cavoguaina permette di effettuare la retroazione per il controllo degli attuatori misurando lo spostamento direttamente sui motori e non sugli attuatori. The actuators 12 which perform the function of the muscles are a silicone structure 20 with a substantially elongated elliptical shape, schematised in Figure 6, the core of which is the transmission cable 14 of the mechanical power drawn from the motor unit. The end of the sheath 21 within which the cable is arranged is fixed to the support structure at the point of origin of the muscle, while the transmission cable 14 is bound to the skin by any suitable means, generally indicated with 22, for example by tightening by means of a grain its end in the hole of a metal cylinder embedded in a silicone protuberance of the internal surface of the skin at the point where the real muscle ends. The actuators are made by molding by pouring the liquid silicone into a hollow mold having the shape of the specific actuator and letting it dry. It is therefore possible to create actuators of any shape and size. The linear movement of the cable 14 inside the silicone mass 20 causes its longitudinal shortening and a consequent transverse swelling, allowing both to pull the skin 13 and to deform it in the desired way. The artificial muscle therefore exchanges with the skin both tangential and normal actions to the internal surface of the skin due to contact with its ellipsoidal surface, and those due to the direct action of the end of the cable at the point where it is anchored to the skin itself. The stiffness of the cable sheath transmission system allows the feedback to be carried out for the control of the actuators by measuring the displacement directly on the motors and not on the actuators.

Gruppo motori Engines group

Come mostrato nelle figure 7 e 8, il gruppo motori è costituito da ventisei motori lineari divisi su due bancate. Ogni motore è composto da una bobina solidale ad un braccio 4 basculante 28 immersa tra due magneti fissi 29 (nord e sud) a forma di settore circolare di 45°. In ogni bancata, i bracci basculanti di ciascun motore sono equispaziati gli uni dagli altri e montati girevolmente su un asse 30 in maniera indipendente dagli altri. Infine, il circuito magnetico si chiude su un telaio 31 che sostiene i magneti fissi 29 e l'asse di rotazione 30. Per effetto della rotazione si ottiene lo spostamento lineare dell'estremità 28a di ciascun braccio basculante 28 dalla quale si preleva la potenza meccanica necessaria. In questo modo, a fronte di un angolo di rotazione massimo di 45°, si ottiene uno spostamento lineare massimo di 20 mm. Questi motori sono in grado di erogare allo spunto una forza di 12,5 N con un assorbimento massimo di corrente di 0.5 A. L'accelerazione massima raggiungibile è di 15.7 m/s<2>, mentre la velocità massima è di 0.78 m/s. Ripetitività e precisione dipendono dalle caratteristiche del trasduttore 32, che in questo caso è ad effetto Hall, e dalla modalità di pilotaggio che normalmente permettono di arrivare a ripetitività di ±5 μm e precisione di ±0.08 mm. Il cavo 14 necessario a trasmettere la potenza dal motore al rispettivo attuatore viene fissato all'estremità 28a di potenza dei bracci basculanti mediante un grano 33, mentre la guaina 21 viene riferita alla bancata mediante una boccola filettata 34 che si impegna nei fori realizzati su una piastra 35 posta sulla parte anteriore della bancata. Un sistema di ventole, non mostrato, assicura la convezione necessaria per lo smaltimento del calore prodotto dai motori. As shown in Figures 7 and 8, the motor group consists of twenty-six linear motors divided on two banks. Each motor is composed of a coil integral with a pivoting arm 4 28 immersed between two fixed magnets 29 (north and south) in the shape of a 45 ° circular sector. In each bank, the rocker arms of each motor are equally spaced from each other and rotatably mounted on an axis 30 independently of the others. Finally, the magnetic circuit closes on a frame 31 which supports the fixed magnets 29 and the rotation axis 30. As a result of the rotation, the linear displacement of the end 28a of each rocking arm 28 is obtained from which the mechanical power is taken. necessary. In this way, with a maximum rotation angle of 45 °, a maximum linear displacement of 20 mm is obtained. These motors are capable of delivering a force of 12.5 N at start-up with a maximum current absorption of 0.5 A. The maximum achievable acceleration is 15.7 m / s <2>, while the maximum speed is 0.78 m / s. Repeatability and precision depend on the characteristics of the transducer 32, which in this case has the Hall effect, and on the driving mode which normally allow to reach repeatability of ± 5 μm and precision of ± 0.08 mm. The cable 14 necessary to transmit the power from the motor to the respective actuator is fixed to the power end 28a of the rocking arms by means of a dowel 33, while the sheath 21 is referred to the bank by means of a threaded bushing 34 which engages in the holes made on a plate 35 placed on the front of the bank. A fan system, not shown, ensures the convection necessary for the dissipation of the heat produced by the motors.

Elettronica di controllo dei motori Motor control electronics

L'elettronica è stata realizzata con filosofia modulare e permette l'alloggiamento dei driver dei motori controllati in ciclo chiuso, dei microprocessori programmabili, di una scheda elettronica per l'interfacciamento ad un personal computer e delle alimentazioni. La figura 9 mostra schematicamente l'elettronica di controllo. Nel caso specifico ogni modulo, indicato genericamente con 36, alloggia un microprocessore programmabile 37 e quattro driver 38 per i motori. La scheda madre 41 portante i moduli 36 comprende una connessione seriale RS232 indicata con 39 e un'alimentazione 40. Il protocollo è stato organizzato su 3 bytes: il primo per gli indirizzi, il secondo per la posizione ed il terzo per la velocità di spostamento. Il baud rate è di 57,6 Kbaud con un tempo di esecuzione del comando di 520 μm; tutti gli attuatori eseguono il comando in 12,5 m/s. Il microprocessore può essere programmato via software. Il controllo viene effettuato a ciclo chiuso tramite la lettura della velocità angolare delle bobine 27 mediante ì sensori 32 ad effetto Hall opportunamente tarati. Con questo sistema i motori possono essere azionati secondo dinamiche molto accurate, fino ad ottenere deformazioni degli attuatori e della pelle artificiale corrispondenti a quelle previste dal modello virtuale. The electronics have been realized with a modular philosophy and allows the housing of the drivers of the motors controlled in closed cycle, of the programmable microprocessors, of an electronic card for interfacing with a personal computer and of the power supplies. Figure 9 schematically shows the control electronics. In the specific case each module, indicated generically with 36, houses a programmable microprocessor 37 and four drivers 38 for the motors. The motherboard 41 carrying the modules 36 includes an RS232 serial connection indicated with 39 and a power supply 40. The protocol has been organized on 3 bytes: the first for the addresses, the second for the position and the third for the speed of movement . The baud rate is 57.6 Kbaud with a command execution time of 520 μm; all the actuators execute the command in 12.5 m / s. The microprocessor can be programmed via software. The control is carried out in a closed cycle by reading the angular velocity of the coils 27 by means of the Hall effect sensors 32 suitably calibrated. With this system the motors can be operated according to very accurate dynamics, until deformations of the actuators and of the artificial skin corresponding to those foreseen by the virtual model are obtained.

Modello virtuale Virtual model

La realizzazione di un modello virtuale di un volto umano consente di ricavare le traiettorie spazio-temporali necessarie al pilotaggio di una testa antropomorfa o testa androide (sistema reale) in grado di simulare espressioni mimiche umane. Il modello virtuale del volto umano realizzato mette in evidenza il fatto che con questa tecnica è possibile controllare in parallelo un gran numero di attuatori in modo di far assumere perfino a sistemi fisici altamente complessi da essi dipendenti, quali ad esempio la pelle artificiale descritta in precedenza, le deformazioni desiderate e quindi la mimica facciale richiesta. The creation of a virtual model of a human face allows to derive the space-time trajectories necessary for piloting an anthropomorphic head or android head (real system) capable of simulating human mimic expressions. The virtual model of the human face created highlights the fact that with this technique it is possible to control a large number of actuators in parallel so as to make even highly complex physical systems dependent on them assume, such as the artificial skin described above , the desired deformations and therefore the required facial expression.

Per riprodurre al meglio un volto umano, il modello fisico della cute viene proiettato nell'ambiente virtuale mantenendo inalterate le sue proporzioni e definendo tale struttura come una superficie di deformazione (fase di modellazione); si crea poi il modello virtuale di ogni singolo muscolo parametrizzandolo e localizzandolo nella corretta posizione (fase di parametrizzazione); si creano quindi le dinamiche delle espressioni mimiche definendo quelli che sono i pattern motori spazio-temporali da associare ad ogni singolo attuatore per ottenere le deformazioni superficiali desiderate (fase di animazione) . To best reproduce a human face, the physical model of the skin is projected into the virtual environment while maintaining its proportions unchanged and defining this structure as a deformation surface (modeling phase); the virtual model of each individual muscle is then created by parameterizing it and locating it in the correct position (parameterization phase); the dynamics of the mimic expressions are then created by defining the spatial-temporal motor patterns to be associated with each individual actuator to obtain the desired surface deformations (animation phase).

a) modellazione a) modeling

Per proiettare una superficie ed il suo sistema di riferimento dallo spazio fisico nell'ambiente di sviluppo virtuale è necessario individuare un certo numero di punti tracciando meridiani e paralleli, sulla superficie stessa e servirsi di un dispositivo tastatore. Quest'ultimo è un organo mobile commerciale composto da una base, tre bracci meccanici interconnessi da relativi giunti e un punzone sull'estremità. Tramite un sistema di posizionamento manuale, il tastatore permette al punzone di individuare una qualsiasi posizione nello spazio rispetto alla sua base; la posizione viene RS232 al pc. I punti precedentemente tracciati sulla superficie da proiettare vengono così tastati, mappati in un sistema di riferimento tridimensionale e riportati dentro l'ambiente di sviluppo virtuale. Questi apparecchi, grazie ai loro programmi di gestione, sono compatibili con la maggior parte dei software commerciali. L'ambiente di sviluppo ricrea da questi punti le linee parallele che li interpolano e da esse il modello superficiale tastato. Come anche schematizzato in figura 10, nel caso specifico è stato realizzato un modello superficiale composto da tredici linee di sezione superficiale, in senso antiorario, partendo dalla metà del volto e da quindici linee di sezione trasversale partendo dalla bocca. Per creare la spaziatura della cavità orale è possibile aggiungere manualmente a queste curve punti per l'interno della bocca. Selezionando tutte le curve così ottenute si creerà una To project a surface and its reference system from physical space into the virtual development environment, it is necessary to identify a certain number of points by tracing meridians and parallels on the surface itself and use a feeler device. The latter is a commercial movable member consisting of a base, three mechanical arms interconnected by relative joints and a punch on the end. By means of a manual positioning system, the feeler allows the punch to identify any position in the space with respect to its base; the location comes RS232 to the pc. The points previously traced on the surface to be projected are thus probed, mapped in a three-dimensional reference system and brought back into the virtual development environment. These devices, thanks to their management programs, are compatible with most commercial software. The development environment recreates from these points the parallel lines that interpolate them and from them the surface model felt. As also schematized in Figure 10, in the specific case a surface model was created consisting of thirteen lines of surface section, counterclockwise, starting from the middle of the face and fifteen lines of cross section starting from the mouth. To create oral cavity spacing, you can manually add points for the inside of the mouth to these curves. Selecting all the curves thus obtained will create one

superficie tramite il comando di loftcomune per i software 3D. Ovviamente l'intero volto sia reale che in forme di fantasia potrà anche essere creato manualmente. surface using the loft command common for 3D software. Obviously the whole face both real and in fantasy forms can also be created manually.

b) parametrizzazione b) parameterization

Per creare i modelli dei muscoli artificiali si sono seguite le fasi seguenti: To create the models of the artificial muscles, the following steps were followed:

realizzazione di uno scheletro di base; making a basic skeleton;

creazione delle sue propiertà volumetriche duplicazione di questa struttura (attuatore e base) e posizionamento dei suoi cloni nelle sedi di applicazione degli attuatori fisici (muscoli artificiali) creation of its volumetric properties duplication of this structure (actuator and base) and positioning of its clones in the application sites of the physical actuators (artificial muscles)

definizione delle proprietà di deformazione di ogni singolo attuatore; definition of the deformation properties of each individual actuator;

- indicazione dell'influenza che ogni singolo attuatore ha sulla superficie. . - indication of the influence that each individual actuator has on the surface. .

Per la creazione dello scheletro di base si crea un osso come descritto in precedenza, a cui vengono assegnate delle proprietà volumetriche Questa struttura rappresenta generico attuatore che viene posizionato e scalato in base alla posizione e dimensione del muscolo artificiale. Il punto di applicazione dell'attuatore dovrà essere posizionato corrispondenza del punto di attacco del muscolo artificiale sulla struttura di supporto e la sua estremità in corrispondenza del punto di attacco del muscolo artificiale sulla pelle artificiale L'apertura/chiusura della bocca viene attuata creando un osso di controllo e posizionandolo sull'attaccatura della mascella Esso viene posizionato dove realmente ruota la mascella durante l'apertura della bocca e concatenato con i quattro attuatori della parte sottostante la mascella. Ciò permette una rotazione sul nuovo osso creato rispetto a un punto fisso, in modo da definire per rotazione e non per traslazione l'apertura e la chiusura della bocca stessa. To create the basic skeleton, a bone is created as described previously, which is assigned volumetric properties. This structure represents a generic actuator that is positioned and scaled according to the position and size of the artificial muscle. The point of application of the actuator must be positioned at the point of attachment of the artificial muscle on the support structure and its end at the point of attachment of the artificial muscle on the artificial skin The opening / closing of the mouth is implemented by creating a bone control and positioning it on the jawline. It is positioned where the jaw really rotates during the opening of the mouth and chained with the four actuators of the part below the jaw. This allows a rotation on the new bone created with respect to a fixed point, so as to define by rotation and not by translation the opening and closing of the mouth itself.

Posizionati tutti gli attuatori per metà del volto, viene costruito un osso di supporto di base Questo scheletro di base, collegato con tutti gli attuatori di una semìfaccia è facilmente duplicabile e specchiabile per l'altra metà del viso ottenendo così una perfetta simmetria. Le due semifacce hanno quindi un loro osso di base. Si passa quindi alla realizzazione di un osso padre di controllo generale che viene collegato agli ossi di controllo delle due semifacce e quindi a tutti gli attuatori, creando così una struttura gerarchica a partire dall'osso padre. Ottenuta questa struttura si vanno a creare gli attuatori che risiedono sull'asse mediano del volto ed un osso padre di essi. L'osso padre degli attuatori dell'asse mediano viene anch'esso asservito all'osso padre di controllo generale . Once all the actuators have been positioned for half of the face, a basic support bone is constructed. The two half faces therefore have their own base bone. We then move on to the creation of a general control parent bone which is connected to the control bones of the two half-faces and therefore to all the actuators, thus creating a hierarchical structure starting from the parent bone. Once this structure is obtained, the actuators residing on the median axis of the face and a parent bone of them are created. The parent bone of the mid-axis actuators is also enslaved to the general control parent bone.

Per definire le singole proprietà di deformazione, come precedentemente indicato, ad ogni attuatore viene associato un flexor. Affinché i flexor abbiano influenza sul volto, vengono interconnessi sia con la superficie cilindrica attorno all'osso sia con la superficie del volto, selezionandoli contemporaneamente con i rispettivi ossi, la superficie del volto ed i cilindri e correlandoli tramite il comando rigid bind. Una volta creati e dimensionati opportunamente tutti i flexor, si vanno ad indicare le influenze che essi hanno sulla superficie. Le aree di effetto e le deformazioni di ogni attuatore vengono modificate osservando l'influenza che queste avranno sulla superficie del volto. Tramite l'apposito pannello paint tool è possibile evidenziare l'influenza del flexor sulle strutture interconnesse e modificarla con facilità. In questo modo le potenzialità espressive risultano illimitate, in quanto la struttura virtuale può adattarsi a qualsiasi volto e qualsiasi configurazione reale degli attuatori. To define the individual deformation properties, as previously indicated, a flexor is associated with each actuator. In order for the flexors to have influence on the face, they are interconnected both with the cylindrical surface around the bone and with the face surface, selecting them simultaneously with the respective bones, the face surface and the cylinders and correlating them using the rigid bind command. Once all the flexors have been created and sized appropriately, the influences they have on the surface are indicated. The areas of effect and the deformations of each actuator are modified by observing the influence that these will have on the surface of the face. Through the special paint tool panel it is possible to highlight the influence of flexor on interconnected structures and modify it easily. In this way the expressive potential is unlimited, as the virtual structure can adapt to any face and any real configuration of the actuators.

Oltre alla forma, è possibile dotare il volto virtuale di colori, sfumature ed ombre fino a renderlo del tutto simile ad un volto umano. Questa procedura può essere effettuata direttamente dal software di grafica virtuale o esemplificata tramite l'applicazione di una texture. La texture è un'immagine che, mappata sulla superficie, ne segue le deformazioni. Come texture quindi è possibile selezionare la foto digitale in formato bitmap o equivalenti del volto desiderato. La texture, pur essendo proiettata da un piano, si adatta in 3D e si modifica automaticamente in modo dinamico con la superficie. c) animazione In addition to the shape, it is possible to equip the virtual face with colors, shades and shadows until it is completely similar to a human face. This procedure can be performed directly from the virtual graphics software or exemplified by applying a texture. The texture is an image that, mapped on the surface, follows its deformations. As a texture it is therefore possible to select the digital photo in bitmap format or equivalent of the desired face. The texture, while being projected from a plane, adapts in 3D and automatically changes dynamically with the surface. c) animation

In questo fase, tramite le strutture precedentemente sviluppate, vengono implementate le dinamiche delle espressioni mimiche definendo quelli che sono i pattern motori spaziotemporali da associare ad ogni singolo attuatore per ottenere le deformazioni superficiali desiderate. In this phase, through the structures previously developed, the dynamics of the mimic expressions are implemented by defining the spacetime motor patterns to be associated with each individual actuator to obtain the desired surface deformations.

c1) Deformazioni spaziali c1) Spatial deformations

L'andamento nello spazio delle deformazioni degli attuatori e della superficie del volto può essere deciso definendo le chiavi spaziali attraverso il tool set driven key. Tramite questo tool è possibile vincolare a valori (chiavi parametri geometrici corrispondenti a deformazioni delle strutture virtuali create. Il software movimenta il modello secondo traiettorie che soddisfano le caratteristiche del modello creato fino a questo momento ed il passaggio per questi valori. Le deformazioni associate vengono dunque fissate replicando le deformazioni fisiche reali che avvengono nell'attuatore stesso. Nel caso specifico abbiamo vincolato soltanto i parametri minimi e massimi di estensione/accorciamento e di rigonfiamento di ogni flexor agendo sui fattori di scala lungo l'asse longitudinale e trasversale . The trend in space of the deformations of the actuators and of the face surface can be decided by defining the spatial keys through the tool set driven key. Using this tool it is possible to constrain to values (keys geometric parameters corresponding to deformations of the virtual structures created. The software moves the model according to trajectories that satisfy the characteristics of the model created up to this moment and the passage through these values. The associated deformations are therefore fixed by replicating the real physical deformations that occur in the actuator itself.In this specific case we have limited only the minimum and maximum parameters of extension / shortening and swelling of each flexor by acting on the scale factors along the longitudinal and transverse axis.

Affinché sia possibile controllare i fattori di scala di più attuatori contemporaneamente ci si può servire dei locator (nei comuni software 3D) organizzati gerarchicamente. Il locator è una struttura a cui è possibile associare uno o più elementi ed influenzarne contemporaneamente le variabili. Per ogni locator gli elementi associati sono gli attuatori mentre le variabili sono i fattori di scala. Si creano così degli attributi del locator la cui variazione determina una variazione numerica dei corrispondenti parametri geometrici del flexor passando per le chiavi spaziali. La procedura scelta è quella di creare una gerarchia di locator che controlli l'influenza dei vari attuatori, raggruppando attuatori adiacenti in un unico locator. Nel caso specifico i locator creati sono: In order to be able to control the scaling factors of several actuators at the same time, you can use the locators (in common 3D software) organized hierarchically. The locator is a structure to which it is possible to associate one or more elements and influence the variables at the same time. For each locator the associated elements are the actuators while the variables are the scale factors. In this way, attributes of the locator are created, the variation of which determines a numerical variation of the corresponding geometric parameters of the flexor passing through the spatial keys. The procedure chosen is to create a hierarchy of locators that controls the influence of the various actuators, grouping adjacent actuators into a single locator. In the specific case, the locators created are:

- bocca : muscoli zigomatico, risorio, depressore angolo della bocca, levatore del labbro superiore e depressore del labbro inferiore; - mouth: zygomatic muscles, risorium, mouth corner depressor, upper lip levator and lower lip depressor;

- fronte: muscoli corrugatore del sopracciglio e frontale; - forehead: eyebrow and frontal corrugator muscles;

occhio: muscoli oculari; eye: eye muscles;

- naso: muscoli levatori del labbro superiore adiacente al naso; - nose: levator muscles of the upper lip adjacent to the nose;

mascella: muscoli che movimentano la mascella. maxilla: muscles that move the jaw.

I locator creati separatamente vengono a loro volta interconnessi in gruppi fino al locator padre. Grazie a questa struttura gerarchica sarà possibile agire sugli attributi del locator padre per influenzare contemporaneamente nel modo desiderato i movimenti di tutti gli attuatori. Infatti, le espressioni vengono definite come attributi del locator padre. Nel caso specifico sono state definite le espressioni sorriso, disgusto ed indecisione. Tenendo presente che l'uomo è in grado di effettuare un numero elevatissimo di espressioni, è possibile modellare approssimativamente quaranta espressioni base, combinando le quali, si ottengono la maggioranza delle espressioni facciali umane. Le espressioni base possono essere suddivise in gruppi separati: fronte, occhi, naso, bocca e mascella. Per una trattazione dettagliata vedere Peter Ratner, Mastering 3D animation, Allworth Press, New York, 2000. Variando in modo opportuno nel tempo le percentuali delle espressioni base si ottiene l'espressione desiderata. Nel caso specifico si può ottenere un'espressione di disgusto deformando del 100% le variabili dei locator precedentemente definiti. Il panorama delle possibili espressioni e combinazioni è illimitato. Tramite una variabile sarà possibile monitorare i quale espressione viene fatta assumere al modello. Locators created separately are in turn interconnected in groups up to the parent locator. Thanks to this hierarchical structure it will be possible to act on the attributes of the parent locator to simultaneously influence the movements of all the actuators in the desired way. In fact, the expressions are defined as attributes of the parent locator. In the specific case, the expressions smile, disgust and indecision have been defined. Bearing in mind that man is able to make a very large number of expressions, it is possible to model approximately forty basic expressions, combining which, we obtain the majority of human facial expressions. The basic expressions can be divided into separate groups: forehead, eyes, nose, mouth and jaw. For a detailed discussion see Peter Ratner, Mastering 3D animation, Allworth Press, New York, 2000. By appropriately varying the percentages of the basic expressions over time, the desired expression is obtained. In the specific case, an expression of disgust can be obtained by deforming the variables of the previously defined locators by 100%. The panorama of possible expressions and combinations is unlimited. Through a variable it will be possible to monitor which expression is made to assume the model.

c2) Deformazioni temporali c2) Temporal deformations

L'andamento nel tempo delle deformazioni degli attuatori e della superficie del volto può essere deciso definendo le chiavi temporali, time elider, tool presente in tutti gli ambienti di sviluppo 3D. Nel time slider si fissano gli stati del modello negli istanti desiderati per ogni espressione. Il software ricostruisce tutti gli stati intermedi dell'andamento della deformazione degli attuatori nel tempo e quindi l'espressione . The trend over time of the deformations of the actuators and of the face surface can be decided by defining the time keys, time elider, a tool present in all 3D development environments. In the time slider, the states of the model are fixed at the desired instants for each expression. The software reconstructs all the intermediate states of the deformation trend of the actuators over time and therefore the expression.

Agendo quindi sulla deformazione spazio-temporale di ogni attuatore, si può variare la deformazione che la pelle subisce fino ad ottenere l'espressione desiderata. Nel caso si volesse agire direttamente sulla superficie della pelle ed osservare le conseguenti deformazioni degli attuatori sarà necessario racchiudere la superficie esterna in un'altra struttura presente nel software 3D, il lattice di deformazione. Questa struttura racchiude in un reticolo tridimensionale fitto a piacere la superficie del volto. Agendo sui punti di questo reticolo è possibile modificare l'espressione a piacimento. Therefore, by acting on the space-time deformation of each actuator, the deformation that the skin undergoes can be varied until the desired expression is obtained. If you want to act directly on the skin surface and observe the consequent deformations of the actuators, it will be necessary to enclose the external surface in another structure present in the 3D software, the deformation latex. This structure encloses the surface of the face in a dense three-dimensional lattice as desired. By acting on the points of this grid it is possible to modify the expression at will.

Software di pilotaggio di interfaccia fra il modello virtuale e il sistema reale Control software for interface between the virtual model and the real system

Durante l'effettuazione dell'espressione, le deformazioni pazio-temporali degli attuatori vengono salvate in un file ASCII e rinominate secondo una tabella di corrispondenza tra la scala metrica precedentemente definita e attributi verbali. Il file sarà una matrice costituita da valori reali delimitati da tabulazioni. Le colonne sono gli attuatori, le righe il tempo espresso in fotogrammi (25 fotogrammi/secondo) e gli elementi la percentuale di deformazione dell'attuatore lineare, ottenuta dagli attributi precedentemente definiti. Questa matrice è del formato accettato dal software di pilotaggio. Una matrice tipica ottenuta per l'espressione disgusto precedentemente citata è illustrata, per una semifaccia, nella figura 11. During the execution of the expression, the spatial-temporal deformations of the actuators are saved in an ASCII file and renamed according to a correspondence table between the previously defined metric scale and verbal attributes. The file will be an array consisting of tab-delimited real values. The columns are the actuators, the lines the time expressed in frames (25 frames / second) and the elements the percentage of deformation of the linear actuator, obtained from the previously defined attributes. This matrix is of the format accepted by the driving software. A typical matrix obtained for the aforementioned disgust expression is shown, for a half face, in Figure 11.

Selezione dell'espressione per il pilotaggio del sistema Selection of the expression for driving the system

L'insieme delle espressioni ottenute costituirà un database da cui attingere. Nel caso specifico è stata scritta una funzione che prevede come ingresso quale espressione o combinazione adottare. Ad ogni espressione del database, corrisponde un numero naturale (0 è il valore di riposo), mentre ad ogni combinazione il numero reale ad una cifra decimale (10 valori) compreso tra un'espressione ed un'altra. Aumentando le cifre decimali si possono aumentare le possibili combinazioni. Un file ASCII conterrà la tabella di corrispondenza tra le definizioni verbali delle espressioni e chiesta scala metrica. La suddetta funzione è sempre attiva. Qualsiasi software di intelligenza artificiale, analisi di dati, algoritmo decisionale, operatore, ecc. potrà aggiornare in tempo reale l'espressione da effettuare semplicemente aggiornando i valori in ingresso alla funzione. Nel caso specifico, abbiamo realizzato la simulazione di una masticazione con successiva risposta edonistica al cibo assaggiato. La funzione di cui sopra può essere esemplificata con: The set of expressions obtained will constitute a database from which to draw. In this specific case, a function has been written which provides as input which expression or combination to adopt. To each expression of the database, a natural number corresponds (0 is the rest value), while to each combination the real number to a decimal digit (10 values) between one expression and another. By increasing the decimal places you can increase the possible combinations. An ASCII file will contain the correspondence table between the verbal definitions of the expressions and the requested metric scale. This function is always active. Any artificial intelligence software, data analysis, decision algorithm, operator, etc. will be able to update the expression to be carried out in real time simply by updating the input values to the function. In the specific case, we have carried out the simulation of a chewing with subsequent hedonistic response to the food tasted. The above function can be exemplified with:

global proc funzione ($espressione) global proc function ($ expression)

{ {

select locator_padre,-setAttr locator_padre.espressione $espressione; playButtonStart; select locator_father, -setAttr locator_father.expression $ expression; playButtonStart;

playButtonForward; playButtonForward;

} }

Pilotaggio Piloting

Il pilotaggio può avvenire secondo due modalità: Piloting can take place in two ways:

- funzionamento off-line - off-line operation

- funzionamento on-line - online operation

Nel primo caso il software di pilotaggio, in base alla scelta effettuata dall'algoritmo decisionale, opererà attingendo le matrici di espressione (traiettorie), precedentemente calcolate, da un supporto di memoria di massa nel computer. Nel secondo caso, avendo a disposizione una work station di ultima generazione, l'ambiente virtuale ed il software di pilotaggio possono interagire con l'algoritmo decisionale calcolando in tempo reale l'espressione da effettuare e pilotando gli attuatori lineari. Vantaggiosamente, possono essere impiegati comuni algoritmi di correzione di eventuali scostamenti tra la traiettoria impostata e quella effettivamente eseguita dovuti ad errori e/o vizi non altrimenti riparabili del sistema meccanico articolato. Un algoritmo correttore noto nella letteratura comune che può essere usato è l'Adaptive Learning o equivalenti. Per maggiori dettagli si vedano: International Workshop On Nonlinear and Adaptive Control: issues in Robotics, Grenoble, France Nov 21-2, Carlos Caundes De Wit (Editore), 1991; John H. Andreae, Associative Learning: for a Robot Intelligence, Imperial College Press, Ottobre 1998. In the first case, the driving software, based on the choice made by the decision algorithm, will operate by drawing the previously calculated expression matrices (trajectories) from a mass memory support in the computer. In the second case, having a latest generation work station available, the virtual environment and the driving software can interact with the decision algorithm by calculating the expression to be performed in real time and driving the linear actuators. Advantageously, common algorithms can be used to correct any deviations between the set trajectory and that actually performed due to errors and / or defects that cannot otherwise be repaired in the articulated mechanical system. A correction algorithm known in the common literature that can be used is Adaptive Learning or equivalent. For more details see: International Workshop On Nonlinear and Adaptive Control: issues in Robotics, Grenoble, France Nov 21-2, Carlos Caundes De Wit (Publisher), 1991; John H. Andreae, Associative Learning: for a Robot Intelligence, Imperial College Press, October 1998.

Da quanto sopra precede risulta chiaro che con il metodo secondo la presente invenzione, grazie all'impiego di un ambiente di sviluppo di grafica virtuale, è stato possibile costruire un modello estremamente corrispondente ad un volto reale umano, sia in termini di dinamiche degli attuatori che di deformazioni cutanee. Ciò ha consentito di pianificare e controllare, nell'ambito dell'ambiente virtuale, quella che sarà la successione dì espressioni che si vuole ottenere da sistema reale, prima ancora che esso muova anche uno dei suoi attuatori . From the foregoing it is clear that with the method according to the present invention, thanks to the use of a virtual graphics development environment, it was possible to build a model that closely corresponds to a real human face, both in terms of dynamics of the actuators and of skin deformities. This has made it possible to plan and control, within the virtual environment, what will be the succession of expressions to be obtained from the real system, even before it even moves one of its actuators.

Con tale tecnica è inoltre possibile costruire un database di espressioni illimitato, ottenere espressioni nuove sulla base del database ottenuto senza necessariamente ricalcolarle con il modello virtuale, ottenere espressioni corrispondenti alla pronuncia dei fonemi umani. With this technique it is also possible to build an unlimited expression database, to obtain new expressions on the basis of the database obtained without necessarily recalculating them with the virtual model, to obtain expressions corresponding to the pronunciation of human phonemes.

Inoltre il modello può essere sviluppato con le fattezze di un qualsiasi volto umano desiderato e può includere le più svariate configurazioni di attuatori sottocutanei corrispondenti a quelli reali. Grazie ad esso è possibile studiare off-line la gamma di espressione desiderata, salvarla nel database e con esso controllarne i movimenti reali degli attuatori. L'esempio sopra riportato mette in evidenza il fatto che non solo è possibile controllare con il metodo secondo l'invenzione un gran numero di attuatori, ma persino sistemi fisici altamente complessi da essi dipendenti, quale ad esempio la pelle artificiale che riproduce il volto umano tesa su una struttura di supporto. In più, una volta creato il modello, è possibile utilizzarlo per ricavarne informazioni nei due versi: Furthermore, the model can be developed with the features of any desired human face and can include the most varied configurations of subcutaneous actuators corresponding to the real ones. Thanks to it it is possible to study off-line the desired range of expression, save it in the database and with it control the real movements of the actuators. The above example highlights the fact that it is not only possible to control a large number of actuators with the method according to the invention, but even highly complex physical systems dependent on them, such as, for example, the artificial skin that reproduces the human face. stretched on a support structure. In addition, once the model has been created, it can be used to obtain information in both directions:

impostando un certo moto degli attuatori il modello restituisce le modifiche dell'espressione che tale moto induce sulla pelle, by setting a certain motion of the actuators, the model returns the changes in the expression that this motion induces on the skin,

- partendo da una sequenza di espressioni è possibile ricavare il moto degli attuatori che permette di realizzarla. - starting from a sequence of expressions it is possible to derive the motion of the actuators that allows to realize it.

Con l'uso di tecniche di cattura del movimento, è inoltre possibile mettere a punto un sistema di controllo che acquisisca in tempo reale le espressioni del volto di un soggetto e le riproduca per mezzo del modello reale. With the use of motion capture techniques, it is also possible to develop a control system that captures a subject's facial expressions in real time and reproduces them using the real model.

Oltre che per l'applicazione illustrata nell'esempio, il metodo secondo la presente invenzione può essere utilizzato per la realizzazione, movimentazione e controllo di sistemi meccanici articolati e/o deformabili comunque complessi, quali ad esempio: bracci meccanici articolati antropomorfi; mani meccaniche antropomorfe; esapodi articolati; androidi e/o animatroni di qualsiasi forma; androidi, pupazzi e/o bambole animati; androidi, animatroni, animali meccanici, esseri frutto di fantasia e/o pupazzi in grado di mimare espressioni e/o parlare. I campi di applicazione dei sistemi suddetti sono: robotica, meccanica, cinematografia, entertainment, mondo dei giocattoli. In addition to the application illustrated in the example, the method according to the present invention can be used for the realization, handling and control of anyhow complex articulated and / or deformable mechanical systems, such as for example: anthropomorphic articulated mechanical arms; anthropomorphic mechanical hands; articulated hexapods; androids and / or animatrons of any form; androids, puppets and / or animated dolls; androids, animatrons, mechanical animals, fictional beings and / or puppets capable of mimicking expressions and / or speaking. The fields of application of the aforementioned systems are: robotics, mechanics, cinematography, entertainment, world of toys.

Possibili ulteriori applicazioni del sistema oggetto dell'invenzione possono quindi essere le seguenti: Possible further applications of the system object of the invention can therefore be the following:

- controllo di un attore elettronico, cioè un animatrone o un suo modello in grado di esprimere movimenti, espressioni, mimica e dialoghi umani; - control of an electronic actor, that is an animatrone or his model capable of expressing human movements, expressions, mimicry and dialogues;

controllo di un insegnante elettronico, cioè un animatrone o un suo modello in grado di insegnare effettuando lezioni e colloquiando con gli studenti; control of an electronic teacher, that is an animatrone or his model able to teach by carrying out lessons and talking with the students;

controllo di protesi sostitutive di parti del corpo umano, quali ad esempio: braccia, gambe, dita, volto ed organi; e/o di protesi ortesiche, control of replacement prostheses of parts of the human body, such as: arms, legs, fingers, face and organs; and / or orthotic prostheses,

- studio, e/o controllo di prototipi di dimostratori, di lesioni organiche e menomazioni funzionali prodotte da malattie, quali ad esempio: malfunzionamento di muscoli e/o organi in genere; - study, and / or control of demonstrator prototypes, of organic lesions and functional impairments caused by diseases, such as for example: malfunction of muscles and / or organs in general;

- controllo di un fisioterapista elettronico in cui modelli di organi da rieducare indicano gli esercizi ottimali e ne valutano l'efficacia. - control of an electronic physiotherapist in which models of organs to be re-educated indicate the optimal exercises and evaluate their effectiveness.

Varianti e/o modifiche potranno essere apportate al metodo di controllo di un sistema meccanico articolato e/o deformabile secondo la presente invenzione, senza per questo uscire dall'ambito protettivo dell'invenzione medesima. Variations and / or modifications may be made to the control method of an articulated and / or deformable mechanical system according to the present invention, without thereby departing from the protective scope of the invention itself.

Claims (21)

RIVENDICAZIONI 1. Metodo per il controllo di un sistema meccanico articolato e/o deformabile, comprendente sottosistemi passivi da movimentare e/o deformare medianti attuatori connessi tra loro e a detti sottosistemi tramite giunti e soggetti a vincoli, caratterizzato dal fatto di comprendere le seguenti fasi: creare un modello virtuale di detto sistema mediante software di grafica avanzata 3D; - definire in detto modello virtuale le variabili di controllo necessarie al pilotaggio di detto sistema; - animare detto modello virtuale nel modo voluto per estrarre da esso i valori temporali di dette variabili di controllo; - salvare i valori estratti; inviare i valori salvati a driver di controllo degli attuatori di detto sistema per il pilotaggio di questi ultimi. CLAIMS 1. Method for the control of an articulated and / or deformable mechanical system, comprising passive subsystems to be moved and / or deformed by means of actuators connected to each other and to said subsystems by means of joints and subject to constraints, characterized by the fact of including the following steps: create a virtual model of said system using advanced 3D graphics software; - defining in said virtual model the control variables necessary for driving said system; - animating said virtual model in the desired way to extract from it the time values of said control variables; - save the extracted values; sending the saved values to the control drivers of the actuators of said system for piloting the latter. 2. Metodo secondo la rivendicazione 1, in cui l'animazione di detto modello virtuale è ottenuta impostando l'andamento voluto delle variabili di controllo degli attuatori. Method according to claim 1, in which the animation of said virtual model is obtained by setting the desired trend of the control variables of the actuators. 3. Metodo secondo la rivendicazione 1, in cui l'animazione di detto modello virtuale è indotta graficamente per ricavare l'andamento delle variabili di controllo degli attuatori che consentono di realizzare corrispondenti movimenti e/o deformazioni nel sistema reale. Method according to claim 1, in which the animation of said virtual model is graphically induced to derive the trend of the control variables of the actuators which allow to carry out corresponding movements and / or deformations in the real system. 4. Metodo secondo la rivendicazione 1, in cui l'animazione di detto modello virtuale è ottenuta mediante tecnica di cattura del movimento. Method according to claim 1, wherein the animation of said virtual model is obtained by a motion capture technique. 5 . Metodo secondo una qualsiasi delle rivendicazioni precedenti , in cui la creazione di detto modello virtuale comprende le seguenti fasi: proiezione di detti sottosistemi passivi nell'ambiente virtuale mantenendo inalterate proporzioni e distanze reciproche; - creazione e localizzazione di attuatori, vincoli e giunti nelle loro corrette posizioni spaziali. 5. Method according to any one of the preceding claims, wherein the creation of said virtual model comprises the following steps: projection of said passive subsystems in the virtual environment while maintaining unchanged proportions and mutual distances; - creation and localization of actuators, constraints and joints in their correct spatial positions. 6. Metodo secondo la rivendicazione 5, in cui la fase di creazione e localizzazione di attuatori, vincoli e giunti comprende le fasi di: - realizzazione dì uno scheletro di base per ciascun attuatore, - creazione delle proprietà volumetriche di detto scheletro di base; - posizionamento nello spazio di detto scheletro di base; definizione delle sue proprietà di movimentazione e/o deformazione ; - definizione dell'influenza che ciascun attuatore, vincolo o giunto ha sui sottosistemi da essi dipendenti. Method according to claim 5, wherein the step of creating and locating actuators, restraints and joints comprises the steps of: - creation of a base skeleton for each actuator, - creation of the volumetric properties of said base skeleton; - positioning in space of said base skeleton; definition of its handling and / or deformation properties; - definition of the influence that each actuator, constraint or joint has on the subsystems dependent on them. 7. Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui l'estrazione dei valori e delle variabili di controllo è ottenuta con il comando getAttr o equivalenti. Method according to any one of the preceding claims, in which the extraction of the values and of the control variables is obtained with the getAttr command or equivalent. 8. Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui i valori estratti dalle variabili di controllo vengono salvati in un file ASCII mediante comando fwrite o equivalenti. Method according to any one of the preceding claims, in which the values extracted from the control variables are saved in an ASCII file by means of the fwrite command or equivalent. 9. Metodo secondo la rivendicazione 8, in cui l'insieme dei file salvati costituisce un database, da cui attingere file di istruzioni per movimentazioni e/o deformazioni specifiche con cui pilotare i driver dei motori. Method according to claim 8, wherein the set of saved files constitutes a database, from which to draw files of instructions for specific movements and / or deformations with which to drive the motor drivers. 10. Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui detto sistema meccanico articolato e/o deformabile da controllare è un volto artificiale. Method according to any one of the preceding claims, wherein said articulated mechanical system and / or deformable to check is an artificial face. 11. Metodo secondo la rivendicazione 10, in cui detto sottosistema passivo è costituito da pelle artificiale. Method according to claim 10, wherein said passive subsystem consists of artificial leather. 12. Metodo secondo la rivendicazione 11, in cui i movimenti e/o le deformazioni di detta pelle artificiale vengono impartiti attraverso muscoli artificiali che la connettono ad una struttura dì sostegno sostanzialmente a forma di cranio ed in cui sono previste le seguenti fasi operative: - creazione di un modello virtuale di detto volto artificiale mediante software di grafica avanzata 3D; definizione in detto modello virtuale delle variabili di controllo necessarie alla movimentazione di detto volto artificiale; - animazione di detto modello virtuale nel modo voluto per estrarre da esso i valori temporali di dette variabili di controllo : - salvataggio dei valori estratti; invio dei valori salvati a driver di controllo di detti muscoli artificiali per il loro pilotaggio. Method according to claim 11, wherein the movements and / or the deformations of said artificial skin are imparted through artificial muscles that connect it to a support structure substantially in the shape of a skull and in which the following operational phases are foreseen: - creation of a virtual model of said artificial face using advanced 3D graphics software; definition in said virtual model of the control variables necessary for the movement of said face artificial; - animation of said virtual model in the desired way for extract from it the time values of said control variables: - saving the extracted values; sending of the saved values to control drivers of said artificial muscles for their piloting. 13. Metodo secondo la rivendicazione 12, in cui la creazione del modello virtuale di detto volto artificiale comprende le seguenti fasi: - proiezione nell'ambiente virtuale del modello fisico della pelle artificiale di detto volto mantenendo inalterate le proporzioni; creazione del modello virtuale di ogni singolo muscolo localizzandolo nelle sue corrette posizioni spaziali insieme ai relativi vincoli e giunti; Method according to claim 12, wherein the creation of the virtual model of said artificial face comprises the following steps: - projection in the virtual environment of the physical model of the artificial skin of said face while maintaining the proportions unchanged; creation of the virtual model of each single muscle by locating it in its correct spatial positions together with the relative constraints and joints; 14. Metodo secondo la rivendicazione 13, in cui la proiezione nell'ambiente virtuale del modello fisico della pelle artificiale viene realizzato individuando un certo numero di punti sulla superficie della pelle ottenuti tracciando meridiani e paralleli su di essa, rilevando la posizione spaziale di detti punti mediante un dispositivo tastatore, riportando nell'ambiente virtuale i valori rilevati, ricreando linee parallele che interpolano detti punti e interpolando dette linee per creare una superficie. 14. Method according to claim 13, in which the projection in the virtual environment of the physical model of the artificial skin is achieved by identifying a certain number of points on the surface of the skin obtained by tracing meridians and parallels on it, detecting the spatial position of said points by means of a feeler device, bringing the detected values back into the virtual environment, recreating parallel lines that interpolate said points and interpolating said lines to create a surface. 15. Metodo secondo una qualsiasi delle rivendicazioni 13 e 14, in cui la creazione di un modello dei muscoli artificiali comprende la creazione di un osso a cui vengono assegnate proprietà volumetriche, la duplicazione di esso in una pluralità di cloni che vengono disposti, opportunamente scalati , nelle posizioni corrispondenti a ciascun muscolo artificiale, la realizzazione di un osso di controllo per ciascuna semifaccia e di un osso padre di controllo generale dei due ossi di controllo, la creazione di ossi residenti sull'asse mediano del volto e di un loro osso padre di controllo anch'esso asservito a detto osso padre di controllo generale . Method according to any one of claims 13 and 14, wherein the creation of a model of the artificial muscles comprises the creation of a bone to which volumetric properties are assigned, the duplication of it in a plurality of clones which are arranged, suitably scaled , in the positions corresponding to each artificial muscle, the creation of a control bone for each semifacial and of a general control parent bone for the two control bones, the creation of resident bones on the median axis of the face and one of their parent bones control also enslaved to said general control parent bone. 16. Metodo secondo la rivendicazione 15, in cui per definire le il singole proprietà di deformazione, ad ogni attuatore ricreato nell'ambiente virtuale viene associato un flexor, l'influenza di quest'ultimo sulle strutture interconnesse venendo evidenziate e modificate per mezzo di un pannello paint tool. 16. Method according to claim 15, in which to define the individual deformation properties, a flexor is associated with each actuator recreated in the virtual environment, the influence of the latter on the interconnected structures being highlighted and modified by means of a paint tool panel. 17. Apparecchiatura per il controllo di un sistema meccanico articolato e/o deformabile comprendente almeno un sottosistema passivo da movimentare e/o deformare mediante attuatori connessi tra loro tramite giunti e vincoli, caratterizzata dal fatto di comprendere mezzi ad elaboratore su cui è implementato un software di grafica avanzata 3D per la creazione di un modello virtuale di detto sistema meccanico, atto a generare file di istruzioni per pilotare detti attuatori, essendo previsti mezzi a motore per il comando di detti attuatori e un'interfaccia di controllo atta a ricevere detti file di istruzioni e ad elaborarli per pilotare detti mezzi a motore. 17. Equipment for the control of an articulated and / or deformable mechanical system comprising at least one passive subsystem to be moved and / or deformed by means of actuators connected to each other by joints and constraints, characterized in that it comprises computer means on which a software is implemented advanced 3D graphics for the creation of a virtual model of said mechanical system, suitable for generating instruction files for driving said actuators, motor means being provided for controlling said actuators and a control interface suitable for receiving said files of instructions and to process them to drive said motor means. 18. Apparecchiatura secondo la rivendicazione 17, in cui detta interfaccia di controllo comprende mezzi a microprocessore programmabile connessi a detti mezzi a elaboratore e controllanti driver per detti mezzi a motore. 18. Apparatus according to claim 17, wherein said control interface comprises programmable microprocessor means connected to said computer means and controlling drivers for said motor means. 19. Apparecchiatura secondo una qualsiasi delle rivendicazioni 17 e 18, in cui detto sistema meccanico articolato e/o deformabile è un volto artificiale comprendente una struttura di sostegno e detto sottosistema passivo da movimentare e/o deformare è una pelle artificiale di detto volto, detti attuatori essendo muscoli artificiali formati da un corpo ellissoidale allungato in materiale flessibile con un'anima longitudinale rigida fissata all'estremità di detto corpo che è connessa a detta pelle e scorrevole rispetto all'altra estremità di detto corpo che è fissa rispetto a detta struttura di sostegno, detta anima essendo connessa a detti mezzi a motore . 19. Apparatus according to any one of claims 17 and 18, wherein said articulated and / or deformable mechanical system is an artificial face comprising a support structure and said passive subsystem to be moved and / or deformed is an artificial skin of said face, said actuators being artificial muscles formed by an elongated ellipsoidal body made of flexible material with a rigid longitudinal core fixed to the end of said body which is connected to said skin and sliding with respect to the other end of said body which is fixed with respect to said structure of support, said core being connected to said motor means. 20. Apparecchiatura secondo una qualsiasi delle rivendicazioni da 17 a 19, in cui detti mezzi a motore sono costituiti da motori lineari atti a trasmettere ciascuno alle rispettive anime rigide di detti muscoli artificiali uno scorrimento di ampiezza prestabilita. 20. Apparatus according to any one of claims 17 to 19, wherein said motor means consist of linear motors each capable of transmitting a sliding of predetermined amplitude to the respective rigid cores of said artificial muscles. 21. Metodo per il controllo di un sistema meccanico articolato e/o deformabile e relativa apparecchiatura sostanzialmente come sopra descritto ed illustrato con riferimento ai disegni annessi 21. Method for controlling an articulated and / or deformable mechanical system and related equipment substantially as described above and illustrated with reference to the attached drawings
ITPI20010007 2001-02-07 2001-02-07 METHOD FOR THE CONTROL OF AN ARTICULATED AND / OR DEFORMABLE MECHANICAL SYSTEM AND ITS APPLICATIONS ITPI20010007A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
ITPI20010007 ITPI20010007A1 (en) 2001-02-07 2001-02-07 METHOD FOR THE CONTROL OF AN ARTICULATED AND / OR DEFORMABLE MECHANICAL SYSTEM AND ITS APPLICATIONS
AU2002236201A AU2002236201A1 (en) 2001-02-07 2002-02-06 Method for controlling an articulated and/or deformable mechanical system and its applications
PCT/IT2002/000072 WO2002062535A2 (en) 2001-02-07 2002-02-06 Method for controlling an articulated and/or deformable mechanical system and its applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ITPI20010007 ITPI20010007A1 (en) 2001-02-07 2001-02-07 METHOD FOR THE CONTROL OF AN ARTICULATED AND / OR DEFORMABLE MECHANICAL SYSTEM AND ITS APPLICATIONS

Publications (1)

Publication Number Publication Date
ITPI20010007A1 true ITPI20010007A1 (en) 2002-08-07

Family

ID=11452972

Family Applications (1)

Application Number Title Priority Date Filing Date
ITPI20010007 ITPI20010007A1 (en) 2001-02-07 2001-02-07 METHOD FOR THE CONTROL OF AN ARTICULATED AND / OR DEFORMABLE MECHANICAL SYSTEM AND ITS APPLICATIONS

Country Status (3)

Country Link
AU (1) AU2002236201A1 (en)
IT (1) ITPI20010007A1 (en)
WO (1) WO2002062535A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115056231B (en) * 2022-07-26 2023-12-22 江苏邑文微电子科技有限公司 Motion matching method and device for mechanical arm and animation of semiconductor equipment

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214758A (en) * 1989-11-14 1993-05-25 Sony Corporation Animation producing apparatus
US5642291A (en) * 1989-12-22 1997-06-24 Amada Company, Limited Of Japan System for creating command and control signals for a complete operating cycle of a robot manipulator device of a sheet metal bending installation by simulating the operating environment
US5586224A (en) * 1990-12-25 1996-12-17 Shukyohojin, Kongo Zen Sohonzan Shorinji Robot or numerical control programming method
US5511147A (en) * 1994-01-12 1996-04-23 Uti Corporation Graphical interface for robot
US5495410A (en) * 1994-08-12 1996-02-27 Minnesota Mining And Manufacturing Company Lead-through robot programming system
US5933151A (en) * 1997-03-26 1999-08-03 Lucent Technologies Inc. Simulated natural movement of a computer-generated synthesized talking head
JPH11134017A (en) * 1997-10-27 1999-05-21 Honda Motor Co Ltd Offline teaching method
JP3655083B2 (en) * 1998-02-25 2005-06-02 富士通株式会社 Interface device for positioning the robot
JP3537362B2 (en) * 1999-10-12 2004-06-14 ファナック株式会社 Graphic display device for robot system

Also Published As

Publication number Publication date
WO2002062535A2 (en) 2002-08-15
WO2002062535A3 (en) 2004-03-04
AU2002236201A1 (en) 2002-08-19

Similar Documents

Publication Publication Date Title
CA2882968C (en) Facilitating generation of autonomous control information
Min et al. Softcon: Simulation and control of soft-bodied animals with biomimetic actuators
Casadio et al. Braccio di Ferro: a new haptic workstation for neuromotor rehabilitation
US10500726B2 (en) Facilitating device control
Kulakov et al. Methods of remote control over space robots
US11701774B2 (en) Robotic systems using learning to provide real-time vibration-suppressing control
Petrescu et al. Inverse kinematics at the anthropomorphic robots, by a trigonometric method
Maloisel et al. Automated routing of muscle fibers for soft robots
Zagal et al. UCHILSIM: A dynamically and visually realistic simulator for the RoboCup four legged league
Caasenbrood et al. Sorotoki: a Matlab toolkit for design, modeling, and control of soft robots
EP0520099A1 (en) Applied motion analysis and design
CN116265202A (en) A control method, device, and medium for a robot, and a robot
ITPI20010007A1 (en) METHOD FOR THE CONTROL OF AN ARTICULATED AND / OR DEFORMABLE MECHANICAL SYSTEM AND ITS APPLICATIONS
Erdei et al. Cyber-physical recreation of six DOF industrial robot arm
Bai et al. Parallel calligraphy robot: Framework and system implementation
Mikić et al. Software modeling of multi-degree-of-freedom motion system using matrices
Andaluz et al. Virtual environment for teaching and learning robotics applied to industrial processes
Zhang et al. Dentaltouch: A haptic display with high stiffness and low inertia
CN115809508A (en) Aircraft landing gear mechanical system modeling method, equipment and storage medium
Menegatti et al. 3d models of humanoid soccer robot in usarsim and robotics studio simulators
Starodubtsev et al. Animatronic Hand Model on the Basis of ESP8266
Jiang et al. Modeling a realistic 3D physiological tongue for visual speech synthesis
Bajrami et al. Modeling and control of a humanoid robot
Wereszczyński et al. ELSA: Euler-lagrange skeletal animations-novel and fast motion model applicable to VR/AR devices
CN119175719B (en) Humanoid robot control method and system based on action mapping