FR3141374A1 - Dispositif de génération d'objet tridimensionnel encodant des données par fabrication additive - Google Patents

Dispositif de génération d'objet tridimensionnel encodant des données par fabrication additive Download PDF

Info

Publication number
FR3141374A1
FR3141374A1 FR2211305A FR2211305A FR3141374A1 FR 3141374 A1 FR3141374 A1 FR 3141374A1 FR 2211305 A FR2211305 A FR 2211305A FR 2211305 A FR2211305 A FR 2211305A FR 3141374 A1 FR3141374 A1 FR 3141374A1
Authority
FR
France
Prior art keywords
paths
path
data
measurement
additive manufacturing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2211305A
Other languages
English (en)
Inventor
Sylvain Lefebvre
Samuel Kenzari
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institut National de Recherche en Informatique et en Automatique INRIA
Original Assignee
Institut National de Recherche en Informatique et en Automatique INRIA
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 Institut National de Recherche en Informatique et en Automatique INRIA filed Critical Institut National de Recherche en Informatique et en Automatique INRIA
Priority to FR2211305A priority Critical patent/FR3141374A1/fr
Priority to PCT/EP2023/079350 priority patent/WO2024088914A1/fr
Publication of FR3141374A1 publication Critical patent/FR3141374A1/fr
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y80/00Products made by additive manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K1/00Methods or arrangements for marking the record carrier in digital fashion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06159Constructional details the marking being relief type, e.g. three-dimensional bar codes engraved in a support

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Materials Engineering (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)

Abstract

Dispositif de génération d'objet tridimensionnel encodant des données par fabrication additive Un dispositif de génération d'objet tridimensionnel encodant des données par fabrication additive comprend un encodeur (6) agencé pour déterminer un ensemble de longueurs cibles et un nombre de couches en fonction des données d'information à encoder et de données de type d'encodage, un initialiseur (8) agencé pour initialiser un modèle d'objet tridimensionnel, et un calculateur (10) agencé pour modifier des déplacements de chemins générés par l'initialiseur (8) afin que ces derniers présentent chacun une longueur correspondant à la longueur cible à laquelle ils sont associés, en appliquant une optimisation stochastique dont les opérations sont exclusivement l'ajout, le retrait ou la modification d'un ou plusieurs déplacements, lesquelles opérations doivent en outre préserver la continuité de chaque chemin, l'inclusion de chaque chemin à l'intérieur de l'empilement de couches, et empêcher le chevauchement ou la contiguïté de deux chemins entre eux. Fig.1

Description

Dispositif de génération d'objet tridimensionnel encodant des données par fabrication additive
L’invention concerne le domaine de la fabrication d'objets encodant de l'information et en particulier les objets produits par fabrication additive encodant de l'information.
Le domaine des objets encodant de l'information est à ce jour peu développé. L'encodage d'information se fait généralement par l'apposition d'un signe en surface, comme un code barre ou un code QR.
Certains développements ont essayé d'offrir des objets anti-contrefaçon, comme la demande FR3098758 qui propose un marquage dans un volume d'authentification par lecture par diffractométrie de rayons X, DRX.
Aucun de ces systèmes ne donne satisfaction. En effet, les codes de surface sont limités, tandis que le marquage dans un volume d'authentification est complexe à mettre en œuvre et la lecture par diffractométrie de rayons X, DRX ne permet pas une diffusion large.
L’invention vient améliorer la situation. À cet effet, elle propose un dispositif de génération d'objet tridimensionnel encodant des données par fabrication additive, comprenant une mémoire agencée pour recevoir des données d'information à encoder et des données de substrat d'objet comprenant des données de forme et des données de type d'encodage, un encodeur agencé pour déterminer un ensemble de longueurs cibles et un nombre de couches en fonction des données d'information à encoder et des données de type d'encodage, un initialiseur agencé pour initialiser un modèle d'objet tridimensionnel à partir des données de forme avec un empilement de couches correspondant audit nombre de couches selon une direction de réalisation de fabrication additive définissant ainsi une surface d'objet, définir sur la surface d'objet un nombre de points de mesure correspondant au nombre de longueurs dans l'ensemble de longueurs cibles, et générer des chemins entre des paires de points de mesure chacun en correspondance d'une longueur de l'ensemble de longueurs cibles, chaque point de mesure étant associé à un unique chemin, la longueur de chaque chemin étant inférieure ou égale à la longueur cible à laquelle il est associé, un chemin étant défini par une suite continue de déplacements de dimension fixe entre les points de mesure associés à ce chemin, chaque déplacement s'exprimant selon une parmi trois directions associées à un repère en trois dimensions et dont une correspond à la direction de réalisation de fabrication additive, chaque déplacement définissant un espace à l'intérieur de l'empilement de couche permettant de mesurer une propriété physique qualifiant une mesure associée au chemin dont ce déplacement fait partie, et un calculateur agencé pour modifier les déplacements des chemins générés par l'initialiseur afin que ces derniers présentent chacun une longueur correspondant à la longueur cible à laquelle ils sont associés, en appliquant une optimisation stochastique dont les opérations sont exclusivement l'ajout, le retrait ou la modification d'un ou plusieurs déplacements, lesquelles opérations doivent en outre préserver la continuité de chaque chemin, l'inclusion de chaque chemin à l'intérieur de l'empilement de couches, et empêcher le chevauchement ou la contiguïté de deux chemins entre eux.
Ce dispositif est particulièrement avantageux car il permet d'encoder dans le corps de l'objet des informations de manière sûre et aisée à recouvrer.
Selon divers modes de réalisation, l’invention peut présenter une ou plusieurs des caractéristiques suivantes :
- le calculateur est en outre agencé pour appliquer une optimisation stochastique telle que les chemins associés à une longueur cible non nulle ont un nombre identique d'opérations selon la direction de réalisation de fabrication additive,
- le calculateur est en outre agencé pour appliquer une optimisation stochastique telle que les chemins associés à une longueur cible non nulle présentent un sens de parcours de l'empilement de couches qui est monotone,
- le calculateur est agencé pour appliquer une optimisation stochastique dont les opérations augmentent la distance de Manhattan entre l'espace défini par les déplacements faisant l'objet d'une modification et l'espace défini par les chemins qui lui sont les plus proches selon la distance de Manhattan,
- l'encodeur est agencé pour définir un code de surface sur une portion supérieure de la surface d'objet, et
- l'encodeur est agencé pour définir un ensemble de longueurs cibles aléatoire ou pseudo-aléatoire, et pour retourner une valeur correspondant à la mesure associée aux chemins.
L’invention concerne également un procédé de génération d'objet tridimensionnel encodant des données par fabrication additive, comprenant les opérations suivantes :
a) recevoir des données d'information à encoder et des données de substrat d'objet comprenant des données de forme et des données de type d'encodage,
b) pour déterminer un ensemble de longueurs cibles et un nombre de couches en fonction des données d'information à encoder et des données de type d'encodage,
c)initialiser un modèle d'objet tridimensionnel à partir des données de forme avec un empilement de couches correspondant audit nombre de couches selon une direction de réalisation de fabrication additive définissant ainsi une surface d'objet, définir sur la surface d'objet un nombre de points de mesure correspondant au nombre de longueurs dans l'ensemble de longueurs cibles, et générer des chemins entre des paires de points de mesure chacun en correspondance d'une longueur de l'ensemble de longueurs cibles, chaque point de mesure étant associé à un unique chemin, la longueur de chaque chemin étant inférieure ou égale à la longueur cible à laquelle il est associé, un chemin étant défini par une suite continue de déplacements de dimension fixe entre les points de mesure associés à ce chemin, chaque déplacement s'exprimant selon une parmi trois directions associées à un repère en trois dimensions et dont une correspond à la direction de réalisation de fabrication additive, chaque déplacement définissant un espace à l'intérieur de l'empilement de couche permettant de mesurer une propriété physique qualifiant une mesure associée au chemin dont ce déplacement fait partie, et
d) modifier les déplacements des chemins générés par l'opération c) afin que ces derniers présentent chacun une longueur correspondant à la longueur cible à laquelle ils sont associés, en appliquant une optimisation stochastique dont les opérations sont exclusivement l'ajout, le retrait ou la modification d'un ou plusieurs déplacements, lesquelles opérations doivent en outre préserver la continuité de chaque chemin, l'inclusion de chaque chemin à l'intérieur de l'empilement de couches, et empêcher le chevauchement ou la contiguïté de deux chemins entre eux.
Selon divers modes de réalisation, ce procédé peut présenter une ou plusieurs des caractéristiques suivantes :
l'opération d) comprend appliquer une optimisation stochastique telle que les chemins associés à une longueur cible non nulle ont un nombre identique d'opérations selon la direction de réalisation de fabrication additive,
- l'opération d) comprend appliquer une optimisation stochastique telle que les chemins associés à une longueur cible non nulle présentent un sens de parcours de l'empilement de couches qui est monotone,
- l'opération d) comprend appliquer une optimisation stochastique dont les opérations augmentent la distance de Manhattan entre l'espace défini par les déplacements faisant l'objet d'une modification et l'espace défini par les chemins qui lui sont les plus proches selon la distance de Manhattan,
- l'opération b) comprend définir un code de surface sur une portion supérieure de la surface d'objet, et
- l'opération b) comprend définir un ensemble de longueurs cibles aléatoire ou pseudo-aléatoire, et pour retourner une valeur correspondant à la mesure associée aux chemins.
L’invention concerne également un programme informatique comprenant des instructions pour exécuter le procédé selon l'invention, un support de stockage de données sur lequel est enregistré un tel programme informatique et un système informatique comprenant un processeur couplé à une mémoire, la mémoire ayant enregistré un tel programme informatique.
D’autres caractéristiques et avantages de l’invention apparaîtront mieux à la lecture de la description qui suit, tirée d’exemples donnés à titre illustratif et non limitatif, tirés des dessins sur lesquels :
- la représente un diagramme schématique d'un dispositif selon l'invention,
- la représente un exemple d'une boucle de fonctionnement du dispositif de la ,
- la représente un exemple d'une fonction mise en œuvre par l'encodeur de la , et
- la représente un exemple d'une fonction mise en œuvre par l'initialiseur de la .
Les dessins et la description ci-après contiennent, pour l'essentiel, des éléments de caractère certain. Ils pourront donc non seulement servir à mieux faire comprendre la présente invention, mais aussi contribuer à sa définition, le cas échéant.
La représente un diagramme schématique d'un dispositif de génération d'objet tridimensionnel encodant des données par fabrication additive 2 selon l'invention.
Le dispositif 2 a pour rôle de recevoir en entrée des données qui définissent un ou plusieurs messages à encoder dans un objet tridimensionnel, et pour retourner un modèle de fabrication additive de cet objet permettant, par une mesure d'une grandeur physique, de recouvrer le ou les plusieurs messages. D'une manière générale, le ou les plusieurs messages peuvent contenir tout type d'information, que celle-ci ait un sens ou pas.
Le dispositif 2 comprend une mémoire 4, un encodeur 6, un initialiseur 8 et un calculateur 10.
La mémoire 4 peut être tout type de stockage de données propre à recevoir des données numériques : disque dur, disque dur à mémoire flash, mémoire flash sous toute forme, mémoire vive, disque magnétique, stockage distribué localement ou dans le cloud, etc.
Dans l'exemple décrit ici, la mémoire 4 reçoit toutes les données qui concernent le dispositif 2, c’est-à-dire les programmes et logiciels instanciant l'encodeur 6, l'initialiseur 8 et le calculateur 10, les paramètres et hyperparamètres de ceux-ci, les poids des réseaux de neurones le cas échéant, les sorties et données intermédiaires des réseaux de neurones, les données reçues en entrée, les valeurs intermédiaires, les données stockées en mémoire tampon, ainsi que les données de modèle de fabrication additive en sortie. Les données calculées par le dispositif peuvent être stockées sur tout type de mémoire similaire à la mémoire 4, ou sur celle-ci. Ces données peuvent être effacées après que le dispositif a effectué ses tâches ou conservées.
Dans l'exemple décrit ici, la mémoire 4 reçoit des données d'informations à encoder ainsi que des données de substrat d'objet comme données d'entrée. Les données de substrat d'objet contiennent des données de forme ainsi que des données de type d'encodage.
Les données de substrat d'objet permettent de définir la manière dont les données d'information à encoder vont être utilisées pour générer le modèle de fabrication additive. En effet, la Demanderesse a découvert que son invention permet de générer une très grande variété d'objets qui encodent l'information de manière diverse.
Ainsi, ces objets peuvent comprendre un code en surface et un code dans le corps de l'objet qui sont indépendants l'un de l'autre. Dans ce cas, le code dans le corps de l'objet peut être utilisé comme une marque stéganographique, qui permet d'authentifier de manière unique l'objet, quel que soit le code en surface. Dans une autre variante, ces codes peuvent être la continuité l'un de l'autre, c’est-à-dire que le code en surface constitue des bits de poids fort (respectivement de poids faible), tandis que le code dans le corps de l'objet constitue des bits de poids faible (respectivement de poids fort). Toujours en variante, le code en surface et le code dans le corps de l'objet peuvent être complémentaires et former un couple clé publique / clé privée. Enfin, le code en surface (respectivement le code dans le corps de l'objet) peut servir de clé publique à combiner avec une clé privée inconnue pour permettre de décoder un message ("payload" en anglais) contenu dans le code dans le corps de l'objet (respectivement dans le code de surface).
Les données de type d'encodage permettent de définir le paradigme retenu et conditionnent le message qui sera encodé dans le code dans le corps de l'objet, et donc son modèle de fabrication additive.
La Demanderesse a en effet découvert que la fabrication additive, grâce à sa précision et aux nouvelles possibilités matérielles permet d'encoder des informations très complexes tout en offrant une manière aisée de les lire.
Ainsi, un objet peut comprendre sur une face une pluralité de points de mesure, reliés ou non à une pluralité de points de mesure sur une autre face (par exemple la face opposée dans le sens de la fabrication additive). D'une manière plus générale, les points de mesure peuvent être répartis sur la surface du modèle de fabrication additive, et les points de mesure peuvent être associés deux par deux, de sorte que chaque paire de point représente une puissance de 2, ou une position dans un code qui a une valeur de base. De plus, la longueur du chemin entre deux points peut également être mesurée pour moduler la valeur de base. Ainsi, si les points sont reliés entre eux par un élément conducteur électriquement, une mesure aux bornes des deux points de mesure peut permettre de déterminer la résistance du chemin qui les relie et donc sa longueur pour en tirer une valeur. En variante, les chemins peuvent être creux, et la mesure peut être la mesure du temps d'écoulement d'un fluide d'un point de mesure à l'autre. Toujours en variante, un phénomène de conduction thermique peut être utilisé pour mesurer la longueur du chemin entre deux points de mesure, etc. Ainsi, il est possible d'encoder un très long message dans le corps de l'objet, et de lire ce message par une mesure simple d'une propriété physique.
Les données de forme permettent pour leur part de définir la forme générale de l'objet dont on cherche à générer le modèle de fabrication additive. Ainsi, celui-ci peut être de forme cubique ou parallélépipédique, ce qui sont les formes les plus spontanées, mais plus généralement, l'invention permet toute forme : à base hexaédrique, de section variable, etc. Typiquement, les données de formes peuvent être vues comme un ensemble de couches empilées qui correspondent à une forme souhaitée pour l'objet avant que le code soit intégré dans son corps. Les données de forme peuvent indiquer des portions de ces couches qui doivent être préservées et ne doivent pas être associées à un chemin.
Ainsi, les données d'informations à encoder et les données de substrat d'objet viennent contraindre le modèle de fabrication additive. En effet, selon la complexité du message à encoder, la manière d'encoder ce message et la forme spécifique recherchée pour l'objet, il sera possible de réaliser directement le modèle de fabrication additive, ou il faudra modifier les données de forme, par exemple en rajoutant des couches ou en modifiant l'échelle de l'objet pour permettre de mettre en œuvre les chemins qui encodent le code dans le corps de l'objet.
Comme on le verra plus bas, pour cela, le dispositif 2 utilise d'une part l'encodeur 6 afin de dimensionner a priori le modèle de fabrication additive de l'objet, puis l'initialiseur 8 afin de préparer le travail du calculateur 10. Enfin, le calculateur 10 opère une optimisation stochastique afin de définir des chemins dans le corps de l'objet qui permettent de respecter les règles de constitution de celui-ci, tant du point de vue de son intégrité structurelle que du point de vue de la mesure ultérieure permettant de recouvrer le code dans le corps de l'objet.
Cette approche stochastique est particulièrement avantageuse car elle permet de libérer les contraintes de conception et est particulièrement adaptée à la fabrication additive. En effet, l'approche stochastique garantit que si une solution satisfaisante existe (c’est-à-dire un ensemble de chemins dont les longueurs satisfont des tolérances d'optimisation et de fabrication), elle sera trouvée, et la fabrication additive, par la liberté sur le dimensionnement, permet de garantir qu'une solution existe quelle que soit la forme de l'objet ou la taille du message à encoder.
Ainsi, le modèle de fabrication additive produit par le dispositif 2 comprendra des données de couches définissant chaque couche de l'objet. Ces données de couches seront réparties sur une grille correspondant à la fabrication additive envisagée, et définiront à chaque point ou case de la grille si ce point est vide ou plein et s'il est plein avec quelle matière. Pour obtenir ce résultat final, l'encodeur 6 part des données d'informations à encoder et des données de substrat d'objet pour créer un ensemble de données de couches initiales qui correspondent à un objet "plein" propre à recevoir les chemins nécessaires à encoder le code dans le corps de l'objet. Il va de soi qu'un objet "plein" peut comporter des zones évidées tant qu'il reste possible de le fabriquer par fabrication additive, ou présenter des zones dans laquelle la densité de matière est plus faible que dans le reste de l'objet. L'encodeur 6 a également pour fonction de générer un tableau de longueurs cibles qui va définir la longueur que doit prendre chaque chemin entre deux points de mesure afin d'encoder les données d'informations à encoder. Comme expliqué plus haut, ces longueurs sont déterminées en fonction de la mesure de propriété physique qui est envisagée, de sorte que la mesure de cette propriété soit directement reliée à cette longueur et permette de définir une valeur associée à une paire de points de mesure.
Les données de couches initiales sont alors transmises à l'initialiseur 8 qui va définir d'une part les emplacements des points de mesure sur la surface de l'objet (par exemple sur des faces opposées, ou autrement), et d'autre part qui va initialiser des chemins entre des paires de points de mesure sur la base du tableau de longueurs cibles.
Ensuite, le calculateur 10 optimise les chemins générés par l'initialiseur 8 afin de respecter les contraintes de forme de l'objet définies par les données de forme, d'obtenir des chemins dont les longueurs correspondent au tableau de longueur cible, et de respecter des contraintes de fabrication structurelles et de mesure de propriété.
Toutes les données décrites ci-dessus pourront être stockées dans la mémoire 4.
L'encodeur 6, l'initialiseur 8 et le calculateur 10 accèdent directement ou indirectement à la mémoire 4. Ils peuvent être réalisés sous la forme d’un code informatique approprié exécuté sur un ou plusieurs processeurs. Par processeurs, il doit être compris tout processeur adapté aux calculs décrits plus bas. Un tel processeur peut être réalisé de toute manière connue, sous la forme d’un microprocesseur pour ordinateur personnel, portable, tablette ou smartphone, d’une puce dédiée de type FPGA ou SoC, d’une ressource de calcul sur une grille ou dans le cloud, d’une grappe de processeurs graphiques (GPUs), d’un microcontrôleur, ou de toute autre forme propre à fournir la puissance de calcul nécessaire à la réalisation décrite plus bas. Un ou plusieurs de ces éléments peuvent également être réalisés sous la forme de circuits électroniques spécialisés tel un ASIC. Une combinaison de processeur et de circuits électroniques peut également être envisagée. Des processeurs dédiés à l’apprentissage automatique pourront aussi être envisagés.
La représente un exemple d'une boucle de fonctionnement du dispositif 2.
Dans une opération 200, le dispositif 2 exécute une fonction Inp(). La fonction Inp() permet de recevoir les données d'entrée en vue de la génération du modèle de fabrication additive. Comme on l'a vu plus haut, les données d'entrée comprennent les données d'information à encoder et les données de substrat d'objet. Les données d'entrées peuvent être obtenues par tout moyen, en utilisant une interface homme-machine et en accédant à celles-ci sur la mémoire 4 ou sur tout autre stockage.
Ensuite, l'encodeur 6 exécute une fonction Enc() dans une opération 210. Comme décrit plus haut, la fonction Enc() a pour rôle de transformer les données d'information à encoder en tableau de longueurs cibles en fonction des données de type d'encodage. De plus, la fonction Enc() a pour autre rôle d'instancier les couches pleines définissant l'objet qui doit recevoir le code dans son corps.
La représente une mise en œuvre de la fonction Enc().
Dans une opération 300, l'encodeur 6 accède aux données d'information à encoder et aux données de type d'encodage et exécute une fonction Tab() qui retourne un tableau contenant les longueurs cibles des chemins. Les données de type d'encodage jouent un rôle particulier. En effet, en fonction de la propriété physique mesurée pour déterminer la longueur des chemins ainsi que du type d'encodage choisi (tableau à N bits, mot comprenant N groupes de mots à K bits chacun, valeur aléatoire), la fonction Tab() établit un tableau de longueurs cibles distinct. Comme on le verra plus bas, la mesure de la longueur des chemins peut être directement corrélée avec la longueur physique des chemins, mais elle peut également être basée sur d'autres propriétés, comme sur le nombre de virages que comprend un chemin, la mesure de propriété étant prévue pour permettre de compter ceux-ci.
Ensuite, une fonction Fit() est exécutée dans une opération 310. La fonction Fit() utilise comme arguments d'une part les données de forme, et d'autre part le tableau de longueurs cibles. La fonction Fit() a pour rôle de vérifier s'il est possible de réaliser des chemins dont les longueurs sont contenues dans le tableau de longueurs cibles à l'intérieur de l'objet défini par les données de forme. Cette vérification peut être réalisée au moyen d'un entraînement automatique (par exemple à base d'arbre boosté) ou reposer sur des critères analytiques (par exemple le fait que l'objet ne soit pas plus haut que la longueur de chemin la plus courte lorsque les points de mesure sont disposés sur des faces respectivement supérieure et inférieure de l'objet).
Si la fonction Fit() retourne une valeur positive, alors la fonction Enc() s'arrête dans une opération 399. Sinon, une fonction Adapt() est exécutée dans une opération 320 et l'opération 310 est répétée. La fonction Adapt() peut déterminer seule s'il faut augmenter ou diminuer la taille du modèle de fabrication additive, ou utiliser une valeur en retour de la fonction Fit(). La fonction Adapt() procède dans l'exemple décrit ici en réduisant ou en augmentant par un facteur d'échelle les données de forme.
Une fois la fonction Enc() de l'opération 210 terminée, une fonction Init() est exécutée par l'initialiseur 8 dans une opération 220.
La représente une mise en œuvre de la fonction Init().
Comme expliqué plus haut, la fonction Init() part des données de forme éventuellement modifiées par la fonction Enc() et du tableau de longueurs cibles et a pour rôle de générer des points de mesure sur la surface de l'objet, ainsi que d'initialiser des chemins entre chaque paire de points de mesure.
Ainsi, dans une opération 400, une fonction MeasP() dispose de manière aléatoire ou pseudo-aléatoire des points de mesure sur la surface de l'objet. La fonction MeasP() peut également être contrainte par un code en surface prévu sur l'une des faces, de sorte que les points de mesures peuvent être forcés comme appartenant à une partie du code de surface (par exemple une partie plus claire) ou à l'autre (par exemple une partie plus foncée). De plus, la fonction MeasP() crée les paires de points de mesure qui vont être reliés par des chemins. Les paires de points de mesure générées par la fonction MeasP() sont uniques dans l'exemple décrit ici, et un point de mesure n'est relié qu'à un unique autre point de mesure.
Dans une variante particulière, des points de liaison pourront être créés à l'intérieur du corps de l'objet afin de permettre de créer des triplets, quadruplets ou plus de points de mesure reliés entre eux. Dans ce cas, ces liaisons multiples pourront être utilisées pour soit rendre plus difficile l'analyse de l'objet (puisqu'il faut savoir quelle paire de points est pertinente ou s'il s'agit d'une combinaison des deux mesures), ou pour encoder plus d'information.
Ensuite, dans une opération 410, une fonction Pat() reçoit comme arguments le tableau de longueurs cibles et l'ensemble des points de mesure générés par la fonction MeasP() de l'opération 400. La fonction Pat() opère en déterminant des chemins entre les points de mesure de chaque paire qui correspondent le mieux possible avec les longueurs du tableau de longueurs cibles.
Par exemple, la fonction Pat() peut appliquer un algorithme de type Djykstra pour déterminer le plus court chemin entre chaque paire de points de mesure, et associer à chaque paire de points une des longueurs du tableau de longueurs cibles par ordre croissant de longueur de chaque chemin. Ainsi, chaque paire de points de mesure se trouve associé à une partie du message des données d'information à encoder.
En variante, la fonction Pat() peut appliquer l'algorithme décrit dans l'article de Lefebvre et al. "Information texture synthesis", 2021, hal-01706539, accessible à l'adresse https://web.archive.org/web/20221019215343/https://hal.inria.fr/hal-01706539v4.
De manière optionnelle, après l'exécution de la fonction Pat() (ou à la fin de celle-ci) l'initialiseur 8 peut "figer" une partie des chemins pour que le calculateur 10 ne les modifie pas. Par exemple, la partie visible des chemins peut avoir été construite avec un but secondaire, comme suivre un logo, encoder une information, etc. Il va de soi que cela imposera que la partie figée soit plus courte que la longueur cible associée au chemin concerné. Cela est particulièrement avantageux lorsque l'algorithme "Information texture synthesis" est utilisé pour générer une partie visible des chemins : l'initialiseur 8 peut alors figer la partie visible selon la méthode de l’article "Information texture synthesis" encodant une information visuelle dans le motif formé par les chemins, et générer le reste au hasard.
De manière préférée mais optionnelle, l'opération 410 peut valider qu'aucun des chemins initialisés n'est plus long que la longueur à laquelle il est associé. Cela permet d'éviter un risque de non-convergence de l'opération suivante. Lorsque c'est le cas, les opérations 400 et 410 peuvent être répétées jusqu'à ce que cette condition soit remplie.
Une fois la fonction Init() de l'opération 220 terminée, une fonction Opt() est exécutée par le calculateur 10 dans une opération 230.
Comme expliqué plus haut, cette fonction a pour rôle d'optimiser les chemins issus de l'opération 220 jusqu'à ce que tous les chemins présentent une longueur correspondant à la longueur qui leur est associée dans le tableau de longueurs cibles à l'issue de l'opération 400.
La fonction Opt() met en œuvre un algorithme d'optimisation stochastique. Plus précisément, il s'agit d'un algorithme de type «Simulated Annealing» tel que décrit dans l'article de Kirkpatrick et al. “Optimization by Simulated Annealing”, Science 1983. En variantes, d'autres algorithmes stochastiques pourront être applicqués, par exemple en variante les algorithmes génétiques décrits dans l'article “Genetic Algorithms in Search, Optimization, and Machine Learning“, Goldberg, 1989.
Pour cela, cet algorithme vient modifier de manière pseudo-aléatoire chaque chemin. Pour cela, dans chaque chemin, une sous-séquence de ce chemin de taille choisie aléatoirement va subir une opération de modification. Le type d'opération sera choisi de manière pseudo-aléatoire pondérée en fonction de la distance entre la longueur du chemin auquel appartient cette sous-séquence et la longueur auquel il est associé dans le tableau de longueurs cibles.
Comme on l'a vu précédemment, chaque couche est représentée sur une grille dont x et y sont deux axes orthogonaux, et z est la direction d'empilement des couches pendant la fabrication additive. Ainsi, chaque chemin peut être vu comme une suite de déplacements unitaires selon x, y ou z. Les opérations opérées sur chaque sous-séquence pourront donc être :
- une opération d'allongement, par l'ajout d'une séquence (+1;-1) en x, y, ou z autour de la sous-séquence, une opération,
- une opération de réduction, par la suppression de deux déplacements de signe opposé en x, y ou z dans la sous-séquence, ou
- une opération de mélange, par la réorganisation pseudo-aléatoire d'une suite de déplacements au sein de la sous-séquence.
A chaque fois que l'une de ces opérations est réalisée, l'opération Opt() est agencée pour vérifier que le changement induit ne provoque pas des problèmes structurels (impossibilité de construire le modèle de fabrication additive), ou de mesure (intersection ou chevauchement de deux chemins suite à l'opération). La vérification implique aussi de valider que l'opération n'induit pas de déplacement de type (+1;-1) ou l'inverse en x, y ou z, puisque cela n'aurait aucune conséquence physique dans l'objet. Si c'est le cas, alors l'opération est rejetée. Sinon, la boucle d'optimisation reprend avec un nouveau chemin, et une nouvelle sous-séquence à modifier.
De manière optionnelle et préférée, la fonction Opt() peut mettre en outre en œuvre une ou plusieurs des règles suivantes :
- les déplacements en z doivent être monotones, c’est-à-dire qu'il n'y que des déplacements en +z ou en -z. À partir d'une couche supérieure recevant tous les points de mesure, cela permet de s'assurer que tous les chemins présentent le même nombre de transitions de couche. Cela est particulièrement avantageux lorsque la mesure de la longueur des chemins est basée sur la mesure de la résistance électrique de ces derniers. En effet, les transitions entre deux couches, qui constituent de fait les déplacements en z, peuvent présenter des résistances plus fluctuantes qu'en x ou en y. Dès lors, en assurant le même nombre de déplacements en z, le bruit de mesure est sensiblement le même pour tous les chemins.
- la vérification que l'opération permet de diminuer la proximité des chemins entre eux, cette proximité pouvant être définie comme la distance de Manhattan entre chaque déplacement de la sous-séquence concernée par l'opération courante d'optimisation et son voisin le plus proche dans un autre chemin. Si la proximité de la sous-séquence modifiée est plus importante que celle de la sous-séquence initiale, alors l'opération peut être annulée et une autre opération de modification de sous-séquence être exécutée, jusqu'à ce que la proximité entre voisins augmente.
De manière optionnelle, fonction Opt() peut mettre en outre en œuvre une ou plusieurs des règles suivantes :
- les déplacements en z respectent une séquence bitonique (chemin qui « monte puis descend » ou « descend puis monte »)
- les déplacements en z présentent un même nombre de montées/descentes sans imposer d’ordre.
Bien que dans l'exemple décrit ici la grille des couches soit à éléments carrés, celle-ci pourrait être à éléments tétraédriques ou toute autre forme. De plus, lorsqu'une longueur du tableau de longueurs cibles est nulle, la fonction Opt() peut être agencée pour soit ne réaliser aucun chemin, soit réaliser des morceaux de chemin discontinus depuis l'un, l'autre ou les deux points de mesure concernés.
Ainsi, le dispositif 2 permet de réaliser une variété considérable d'objets par fabrication additive dont les applications peuvent être extrêmement variées :
- réalisation d'un code de surface, ou pas,
- réalisation d'un code d'authenticité par encodage d'une valeur arbitraire dans le corps de l'objet,
- réalisation d'un code à clé publique / clé privée, ou secret partagé, etc.
Et ces réalisations, tout en étant extrêmement simplifiée par l'utilisation d'un paradigme basé sur les algorithmes stochastiques, font appel à des mesures de propriétés physiques simples telles que la mesure de résistance, de température, ou de temps d'écoulement d'un fluide ou d'un gaz, ce qui rend le déploiement de ces objets extrêmement simple.

Claims (14)

  1. Dispositif de génération par fabrication additive d'un objet tridimensionnel encodant des données, comprenant, outre les moyens de génération d’un objet tridimensionnel par fabrication additive, également les moyens suivants:
    une mémoire (4) agencée pour recevoir des données d'information à encoder et des données de substrat d'objet, lesdites données de substrat d’objet comprenant des données de forme générale de l'objet et des données de type d'encodage,
    un encodeur (6) agencé pour encoder dans un ensemble de longueurs cibles et un nombre de couches les données d'information à encoder en fonction des données de type d'encodage,
    un initialiseur (8) agencé pour a) initialiser un modèle d'objet tridimensionnel à partir des données de forme avec un empilement de couches correspondant audit nombre de couches selon une direction de réalisation de fabrication additive définissant ainsi une surface d'objet, b) définir sur la surface d'objet des points de mesure en nombre correspondant au nombre de longueurs dans l'ensemble de longueurs cibles, et c) générer des chemins entre des paires de points de mesure, chacun desdits chemins en correspondance d'une longueur de l'ensemble de longueurs cibles, la longueur de chaque chemin étant inférieure ou égale à la longueur cible en correspondance, un chemin étant défini par une suite continue de déplacements de dimension fixe entre les points de mesure associés à ce chemin, chaque déplacement s'exprimant selon une parmi trois directions associées à un repère en trois dimensions et dont une correspond à la direction de réalisation de fabrication additive, chaque déplacement définissant à l'intérieur de l'empilement de couches une propriété physique qualifiant une mesure associée au chemin dont ce déplacement fait partie,
    et un calculateur (10) agencé pour modifier les déplacements des chemins générés par l'initialiseur (8) afin que ces derniers présentent chacun une longueur correspondant à la longueur cible à laquelle ils sont associés, en appliquant une optimisation stochastique dont les opérations sont exclusivement l'ajout, le retrait ou la modification d'un ou plusieurs déplacements, lesquelles opérations doivent en outre préserver la continuité de chaque chemin, l'inclusion de chaque chemin à l'intérieur de l'empilement de couches, et empêcher le chevauchement ou la contiguïté de deux chemins entre eux.
  2. Dispositif selon la revendication 1, dans lequel une mesure aux bornes de deux points pour mesure comprenant une détermination de la résistance électrique du chemin qui les relie ou une mesure d’un temps d'écoulement d'un fluide d'un point de mesure à l'autre ou une conduction thermique entre deux points de mesure.
  3. Dispositif selon la revendication 1 ou 2, dans lequel le calculateur (10) est en outre agencé pour appliquer une optimisation stochastique telle que les chemins associés à une longueur cible non nulle ont un nombre identique d'opérations selon la direction de réalisation de fabrication additive.
  4. Dispositif selon l’une des revendications 1 à 3, dans lequel le calculateur (10) est en outre agencé pour appliquer une optimisation stochastique telle que les chemins associés à une longueur cible non nulle présentent un sens de parcours de l'empilement de couches qui est monotone.
  5. Dispositif selon l'une des revendications précédentes, dans lequel le calculateur (10) est agencé pour appliquer une optimisation stochastique dont les opérations augmentent la distance de Manhattan entre l'espace défini par les déplacements faisant l'objet d'une modification et l'espace défini par les chemins qui lui sont les plus proches selon la distance de Manhattan.
  6. Dispositif selon l'une des revendications précédentes, dans lequel l'encodeur (6) est agencé pour définir un code de surface sur une portion supérieure de la surface d'objet.
  7. Dispositif selon l'une des revendications précédentes, dans lequel l'encodeur (6) est agencé pour définir un ensemble de longueurs cibles aléatoire ou pseudo-aléatoire, et pour retourner une valeur correspondant à la mesure associée aux chemins.
  8. Procédé de génération par fabrication additive d'un objet tridimensionnel encodant des données, comprenant les opérations suivantes :
    a) recevoir des données d'information à encoder et des données de substrat d'objet, lesdites données de substrat d’objet comprenant des données de forme générale de l'objet et des données de type d'encodage,
    b) encoder dans un ensemble de longueurs cibles et un nombre de couches les données d'information à encoder en fonction des données de type d'encodage,
    c1) initialiser un modèle d'objet tridimensionnel à partir des données de forme générale de l’objet avec un empilement de couches correspondant audit nombre de couches selon une direction de réalisation de fabrication additive définissant ainsi une surface d'objet,
    c2) définir sur la surface d'objet des points de mesure en nombre correspondant au nombre de longueurs dans l'ensemble de longueurs cibles, et
    c3) générer des chemins entre des paires de points de mesure chacun des chemins en correspondance d'une longueur de l'ensemble de longueurs cibles, la longueur de chaque chemin étant inférieure ou égale à la longueur cible à laquelle il est associé, un chemin étant défini par une suite continue de déplacements de dimension fixe entre les points de mesure associés à ce chemin, chaque déplacement s'exprimant selon une parmi trois directions associées à un repère en trois dimensions et dont une correspond à la direction de réalisation de fabrication additive, chaque déplacement définissant à l'intérieur de l'empilement de couches une propriété physique qualifiant une mesure associée au chemin dont ce déplacement fait partie, et
    d) modifier les déplacements des chemins générés par l'opération c3) afin que ces derniers présentent chacun une longueur correspondant à la longueur cible à laquelle ils sont associés, en appliquant une optimisation stochastique dont les opérations sont exclusivement l'ajout, le retrait ou la modification d'un ou plusieurs déplacements, lesquelles opérations doivent en outre préserver la continuité de chaque chemin, l'inclusion de chaque chemin à l'intérieur de l'empilement de couches, et empêcher le chevauchement ou la contiguïté de deux chemins entre eux, et
    e) fabriquer de manière additive ledit objet à l’aide du modèle initialisé et des déplacements modifiés.
  9. Procédé selon la revendication 8, dans lequel une mesure aux bornes de deux points pour mesure comprenant une détermination de la résistance électrique du chemin qui les relie ou une mesure d’un temps d'écoulement d'un fluide d'un point de mesure à l'autre ou une conduction thermique entre deux points de mesure.
  10. Procédé selon la revendication 8 ou 9, dans lequel l'opération d) comprend appliquer une optimisation stochastique telle que les chemins associés à une longueur cible non nulle ont un nombre identique d'opérations selon la direction de réalisation de fabrication additive.
  11. Procédé selon l’une des revendications 8 à 10, dans lequel l'opération d) comprend appliquer une optimisation stochastique telle que les chemins associés à une longueur cible non nulle présentent un sens de parcours de l'empilement de couches qui est monotone.
  12. Procédé selon l'une des revendications 8 à 11, dans lequel l'opération d) comprend appliquer une optimisation stochastique dont les opérations augmentent la distance de Manhattan entre l'espace défini par les déplacements faisant l'objet d'une modification et l'espace défini par les chemins qui lui sont les plus proches selon la distance de Manhattan.
  13. Procédé selon l'une des revendications 8 à 12, dans lequel l'opération b) comprend définir un code de surface sur une portion supérieure de la surface d'objet.
  14. Procédé selon l'une des revendications 8 à 13, dans lequel l'opération b) comprend définir un ensemble de longueurs cibles aléatoire ou pseudo-aléatoire, et pour retourner une valeur correspondant à la mesure associée aux chemins.
FR2211305A 2022-10-28 2022-10-28 Dispositif de génération d'objet tridimensionnel encodant des données par fabrication additive Pending FR3141374A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2211305A FR3141374A1 (fr) 2022-10-28 2022-10-28 Dispositif de génération d'objet tridimensionnel encodant des données par fabrication additive
PCT/EP2023/079350 WO2024088914A1 (fr) 2022-10-28 2023-10-20 Dispositif de génération d'objet tridimensionnel encodant des données par fabrication additive

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2211305A FR3141374A1 (fr) 2022-10-28 2022-10-28 Dispositif de génération d'objet tridimensionnel encodant des données par fabrication additive
FR2211305 2022-10-28

Publications (1)

Publication Number Publication Date
FR3141374A1 true FR3141374A1 (fr) 2024-05-03

Family

ID=86469094

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2211305A Pending FR3141374A1 (fr) 2022-10-28 2022-10-28 Dispositif de génération d'objet tridimensionnel encodant des données par fabrication additive

Country Status (2)

Country Link
FR (1) FR3141374A1 (fr)
WO (1) WO2024088914A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160259306A1 (en) * 2015-03-02 2016-09-08 Xerox Corporation System to authenticate 3d printed objects
US10700872B1 (en) * 2017-02-21 2020-06-30 National Technology & Engineering Solutions Of Sandia, Llc System for authenticating an additively manufactured object
FR3098758A1 (fr) 2019-07-18 2021-01-22 Centre National De La Recherche Scientifique (Cnrs) Objet anti-contrefaçon

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160259306A1 (en) * 2015-03-02 2016-09-08 Xerox Corporation System to authenticate 3d printed objects
US10700872B1 (en) * 2017-02-21 2020-06-30 National Technology & Engineering Solutions Of Sandia, Llc System for authenticating an additively manufactured object
FR3098758A1 (fr) 2019-07-18 2021-01-22 Centre National De La Recherche Scientifique (Cnrs) Objet anti-contrefaçon

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KIRKPATRICK ET AL.: "Optimization by Simulated Annealing", SCIENCE, 1983
LEFEBVRE ET AL., INFORMATION TEXTURE SYNTHESIS, 2021, pages 01706539, Retrieved from the Internet <URL:https://web.archive.org/web/20221019215343/https://hal.inria.fr/hal-01706539v4>

Also Published As

Publication number Publication date
WO2024088914A1 (fr) 2024-05-02

Similar Documents

Publication Publication Date Title
Langford et al. Measuring entangled qutrits and their use for quantum bit commitment
EP3292541B1 (fr) Procede des simplification de modele de geometrie
FR3088464A1 (fr) Procédé de construction de réseau de neurones pour la simulation de systèmes physiques
FR2944897A1 (fr) Procede et dispositif pour la creation et l&#39;exploitation des modeles thermiques.
EP3317783A1 (fr) Dispositif de traitement de données pour fabrication additive
Waghmare et al. Particle-filter-based phase estimation in digital holographic interferometry
WO2010029268A1 (fr) Procede et dispositif de realisation d&#39;un modele par elements finis
FR3141374A1 (fr) Dispositif de génération d&#39;objet tridimensionnel encodant des données par fabrication additive
EP4193318A1 (fr) Methode de construction d&#39;une ferme eolienne dans un espace predetermine
WO2017001767A1 (fr) Dispositif de traitement de donnees
EP2502206A2 (fr) Procede d&#39;estimation de diffusion de la lumiere
EP3622445B1 (fr) Procede, mise en oeuvre par ordinateur, de recherche de regles d&#39;association dans une base de donnees
Sathe Rumor spreading in LiveJournal
WO2014053606A2 (fr) Procédé de traitement de données définissant un élément dans un espace e de dimensions d, programme d&#39;ordinateur associé
Kurt et al. A data-driven bsdf framework
CN117670572B (zh) 一种基于图对比学习的社交行为预测方法、系统及产品
Caillou et al. Stock data analysis using sympbolic data analysis
FR3066953A1 (fr) Dispositif de traitement de donnees pour la generation de microstructures a proprietes elastiques orthotropiques
WO2016083493A1 (fr) Procede de detection de clusters dans un ensemble de signaux
FR2788361A1 (fr) Procede de simplification d&#39;un maillage source, tenant compte de la courbe locale et de la dynamique geometrique locale, et applications correspondantes
EP2867807A2 (fr) Procede de simulation d&#39;un dispositif optoelectronique
Geslain et al. The Visuo-Haptic Illusions Toolkit
FR3100906A1 (fr) Procédé de transposition d’un champ surfacique de pressions depuis un maillage modélisant une pièce de turbomachine vers un autre maillage
Safaa et al. Corporate failure: A literature review
Gdhami Isogeometric methods for hyperbolic partial differential equations

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20240503