INPI-France/Brevets-Francais-2024-Chunked huggingface dataset:
Le bloc de mémoire (« mémoire » ou « matrice de mémoire ») 220 peut stocker un ou plusieurs programmes logiciels à exécuter par des processeurs (par ex., dans le ou les processeurs 210). Il convient de préciser que le terme « logiciel » peut faire référence à des séquences d'instructions qui, lorsqu'elles sont exécutées par une ou plusieurs unités de traitement (par ex., des processeurs, des dispositifs de traitement, etc.), amènent le système 200 à effectuer certaines opérations spécifiques aux programmes logiciels. Les instructions peuvent être stockées sous forme de microprogrammes résidant dans une mémoire morte (en anglais « ROM ») et/ou d'applications stockées sur un support de stockage qui peuvent être lues en mémoire pour être exécutées par des dispositifs de traitement (par exemple, le ou les processeurs 210). Les logiciels peuvent être mis en œuvre sous la forme d'un programme unique ou d'une collection de programmes distincts et peuvent être stockés dans une mémoire non volatile et copiés en totalité ou en partie dans une mémoire de travail volatile pendant l'exécution du programme. Dans certains modes de réalisation, la mémoire 220 peut stocker des données correspondant à des entrées sur un ou plusieurs éléments d'entrée du dispositif périphérique, comme un mouvement du dispositif périphérique détecté à l'aide d'un capteur (par ex., un capteur optique, un accéléromètre, etc.), l'activation d'un ou plusieurs éléments d'entrée (par ex., des boutons, des curseurs, des régions tactiles, etc.) ou similaires. Les données stockées peuvent être agrégées et envoyées sous forme de rapports (par ex., des rapports générés par le dispositif d'interface humaine (en anglais « HID ») à un dispositif informatique hôte.
Dans certains modes de réalisation, la mémoire 220 peut stocker les diverses données décrites dans la présente invention. Par exemple, la mémoire 220 peut stocker et/ou inclure des données optiques, des pages de mémoire ajustables dynamiquement, et plus particulièrement dans le cadre de la présente invention, la matrice de mémoire peut stocker divers paramètres pour que l'ensemble de magnétisation EPM magnétise un ou plusieurs aimants à une polarité et/ou un nombre quelconque de niveaux d'intensité pour contrôler, par exemple, un profil de retour pour un élément d'entrée sur un dispositif d'entrée. Dans certains cas, l'intensité peut être désignée sous le nom d'intensité du champ magnétique, communément mesurée en unités de base SI d'ampère par mètre (A/m). La mémoire 220 peut être utilisée pour stocker n'importe quelle donnée appropriée afin d'exécuter n'importe quelle fonction décrite dans le présent document et comme l'apprécierait une personne ayant une compétence ordinaire dans l'art et bénéficiant de la présente invention. La mémoire 220 peut être désignée comme un système de stockage ou un sous-système de stockage, et peut stocker un ou plusieurs programmes logiciels à exécuter par des processeurs (par ex., dans le(s) processeur(s) 210). Il convient de préciser que le terme « logiciel » peut désigner des séquences d'instructions qui, lorsqu'elles sont exécutées par une ou plusieurs unités de traitement (par ex., des processeurs, des dispositifs de traitement, etc.), amènent le système 200 à effectuer certaines opérations des programmes logiciels. Les instructions peuvent être stockées sous forme de microprogrammes résidant dans une mémoire morte (ROM) et/ou d'applications stockées sur un support de stockage qui peut être lu dans la mémoire pour être traité par des dispositifs de traitement. Les logiciels peuvent être mis en œuvre sous la forme d'un programme unique ou d'une collection de programmes distincts et peuvent être stockés dans une mémoire non volatile et copiés en tout ou en partie dans une mémoire de travail volatile pendant l'exécution du programme. À partir d'un sous-système de stockage, les dispositifs de traitement peuvent récupérer des instructions de programme à exécuter afin d'exécuter diverses opérations (par ex., des sélections de réglage de profil de retour contrôlées par logiciel, etc.
Le bloc de gestion de l'alimentation 230 peut être configuré pour gérer la distribution de l'alimentation, la recharge, l'efficacité de l'alimentation, la commande de l'alimentation du moteur haptique et autres. Dans certains modes de réalisation, le bloc de gestion de l'alimentation 230 (également appelé « gestion de l'alimentation » 230 ou système de gestion de l'alimentation 230) peut inclure une batterie (non illustrée), un système de recharge basé sur le bus série universel (USB) pour la batterie (non illustré), des dispositifs de gestion de l'alimentation (par ex., des régulateurs de tension - non illustrés) et un réseau électrique à l'intérieur du système 200 pour fournir de l'énergie à chaque sous-système (par ex., le bloc de communication 240, etc.). Dans certains modes de réalisation, les fonctions fournies par le système de gestion de l'alimentation 230 peuvent être incorporées dans le(s) processeur(s) 210. Alternativement, certains modes de réalisation peuvent ne pas inclure un bloc de gestion de l'alimentation dédié. Par exemple, les aspects fonctionnels du bloc de gestion de l'alimentation 230 peuvent être subsumés par un autre bloc (par ex., le(s) processeur(s) 210) ou en combinaison avec celui-ci. La source d'alimentation peut être une batterie remplaçable, un dispositif de stockage d'énergie rechargeable (par ex., un super condensateur, une batterie au lithium-polymère, NiMH, NiCd), ou une alimentation filaire. Le système de recharge peut être un câble supplémentaire (spécifique pour la recharge) ou il peut utiliser une connexion USB pour recharger la batterie.
Dans certains modes de réalisation, le bloc de gestion de l'alimentation 230 peut commander des aspects de l'ensemble de magnétisation de l'ensemble d'aimants électro-permanents (EPM) qui définit une polarité et une intensité d'un champ magnétique d'un ou plusieurs aimants. Par exemple, le système de gestion de l'énergie 230 peut définir une amplitude, une durée et/ou une fréquence d'impulsion de courant qui commande une bobine pouvant être utilisée pour générer un champ magnétisant qui magnétise le ou les aimants. Typiquement, une seule impulsion est utilisée pour changer la magnétisation et/ou la polarisation du ou des aimants. Dans certains cas, un courant alternatif peut être utilisé pour supprimer complètement la magnétisation de l'aimant. Dans certains modes de réalisation, des impulsions multiples peuvent être utilisées pour modifier rapidement et dynamiquement le profil de force d'un élément d'entrée lorsqu'il est pressé et/ou relâché, pour des effets haptiques ou autres. Il est possible de stocker un nombre quelconque de paramètres d'entraînement (par ex., différentes combinaisons d'amplitude, de durée et/ou de fréquence d'impulsion de courant) qui peuvent affecter le profil de retour d'un ou de plusieurs éléments d'entrée, comme décrit plus loin. Une personne ayant une compétence ordinaire dans l'art et bénéficiant de la présente invention apprécierait les nombreuses modifications, variations et autres modes de réalisation de celles-ci.
Le bloc de communication 240 (également appelé « système de communication 240") peut être configuré pour permettre une communication sans fil avec un dispositif informatique hôte correspondant (par ex., 110), ou d'autres dispositifs et/ou périphériques informatiques, selon certains modes de réalisation. Le bloc de communication 240 peut être configuré pour fournir une radiofréquence (RF), Bluetooth®, un protocole de communication propriétaire de Logitech (par ex., Unifying, Logi Bolt®, Gaming Light Speed, ou autres), un infrarouge (IR), ZigBee®, Z-Wave, ou une autre technologie de communication appropriée pour communiquer avec d'autres dispositifs informatiques et/ou périphériques. Le système 200 peut éventuellement comprendre une connexion câblée au dispositif informatique hôte correspondant. Par exemple, le dispositif informatique périphérique 130 peut être configuré pour recevoir un câble USB, FireWire®, Thunderbolt® ou tout autre câble de type universel pour permettre une communication électronique bidirectionnelle avec le dispositif informatique hôte correspondant ou d'autres dispositifs externes. Certains modes de réalisation peuvent utiliser différents types de câbles ou de normes de protocole de connexion pour établir une communication câblée avec d'autres entités. À certains égards, les ports de communication (par ex., USB), les ports d'alimentation, etc., peuvent être considérés comme faisant partie d'autres blocs décrits dans le présent document (par ex., le bloc de détection d'entrée 250, le bloc de commande de sortie 260, etc.) À certains égards, le système de communication 240 peut envoyer des rapports générés par le ou les processeurs 210 (par ex., des données HID, des données en continu ou agrégées, etc. Dans certains cas, les rapports peuvent être générés par le(s) processeur(s) uniquement, en conjonction avec le(s) processeur(s), ou une autre entité du système 200. Le système de communication 240 peut intégrer une ou plusieurs antennes, oscillateurs, etc., et peut fonctionner dans n'importe quelle bande de fréquences appropriée (par ex., 2,4 GHz). Une personne ayant une compétence ordinaire dans l'art et bénéficiant de la présente invention apprécierait les nombreuses modifications, variations et autres modes de réalisation de celles-ci.
Le bloc de détection d'entrée 250 peut commander la détection d'une interaction de l'utilisateur avec des éléments d'entrée (également appelés « éléments ») sur un dispositif d'entrée. Par exemple, le bloc de détection d'entrée 250 (également appelé « module de détection d'entrée » 250) peut détecter les entrées de l'utilisateur provenant de capteurs de mouvement, de touches, de boutons, de roues à rouleaux, de molettes de défilement, de track balls (boules de commande), de pavés tactiles (par ex., des pavés tactiles unidimensionnels et/ou bidimensionnels), de molettes cliquables, de cadrans, de claviers, de microphones, d'interfaces graphiques, d'interfaces graphiques tactiles, de capteurs de proximité (par ex., infrarouge, thermique, etc.), d'une détection basée sur un capteur d'image telle que la détection de gestes (par ex., via une webcam), d'une détection basée sur l'audio telle que l'entrée vocale (par ex., via un microphone) ou autres, comme l'apprécierait une personne ayant une compétence ordinaire dans l'art et bénéficiant de la présente invention. Alternativement, les fonctions du module de détection d'entrée 250 peuvent être subsumées par le processeur 210, ou en combinaison avec celui-ci.
Dans certains modes de réalisation, le bloc de détection d'entrée 250 peut détecter un toucher ou un geste tactile sur une ou plusieurs surfaces sensibles au toucher sur le dispositif d'entrée 130. Le bloc de détection d'entrée 250 peut comprendre une ou plusieurs surfaces sensibles au toucher ou capteurs tactiles. Les capteurs tactiles comprennent généralement des éléments de détection adaptés pour détecter un signal tel qu'un contact direct, des champs électromagnétiques ou électrostatiques, ou un faisceau de rayonnement électromagnétique. Les capteurs tactiles peuvent généralement détecter des changements dans un signal reçu, la présence d'un signal ou l'absence d'un signal. Un capteur tactile peut inclure une source pour émettre le signal détecté, ou le signal peut être généré par une source secondaire. Les capteurs tactiles peuvent être configurés pour détecter la présence d'un objet à une certaine distance d'une zone ou d'un point de référence (par ex., < 5 mm), le contact avec une zone ou un point de référence, ou une combinaison de ces éléments. Certains modes de réalisation des dispositifs informatiques périphériques 130, 140 peuvent ou non utiliser des capacités de détection du toucher ou de détection tactile.
Le bloc de détection d'entrée 250 peut comprendre des capacités de détection du toucher et/ou de proximité. Certains exemples de types de capteurs de contact/proximité peuvent inclure, sans s'y limiter, des capteurs résistifs (par ex., des capteurs standard à 4 fils à entrefer, basés sur des plastiques chargés de carbone qui ont des caractéristiques électriques différentes en fonction de la pression (FSR), des FSR interpolés, des jauges de contrainte, etc.,), des capteurs capacitifs (par exemple, pour détecter la capacité de surface, la capacité propre, la capacité mutuelle, etc.), des capteurs optiques (par ex., une matrice de barrières lumineuses infrarouges, une diode laser couplée à des photo-détecteurs pouvant mesurer le temps de vol du trajet lumineux, etc.), des capteurs acoustiques (par ex., un piézo-buzzer couplé à des microphones pour détecter la modification d'un schéma de propagation d'ondes lié à des points de contact, etc.), des capteurs inductifs, des capteurs magnétiques (par ex., capteurs à effet Hall), un contact électrique direct ou un contact polaire galvanique entre des matériaux à faible résistance ou conducteurs, ou similaires.
Le bloc de détection d'entrée 250 peut comprendre un sous-bloc de suivi de mouvement qui peut être configuré pour détecter un déplacement relatif (suivi de mouvement) du dispositif informatique périphérique 130. Par exemple, le bloc de détection d'entrée 250 peut comprendre un ou plusieurs capteurs optiques tels que des DEL IR et un réseau de photodiodes pour détecter un mouvement du dispositif informatique périphérique 130 par rapport à une surface sous-jacente. Le dispositif informatique périphérique 130 peut éventuellement inclure un matériel de suivi de mouvement qui utilise une lumière cohérente (laser). Le suivi de mouvement peut fournir des données de position (par exemple, les données delta X et delta Y du dernier échantillonnage) ou des données de détection de soulèvement. Par exemple, un capteur optique peut détecter lorsqu'un utilisateur soulève le dispositif informatique périphérique 130 d'une surface sous-jacente (également appelée « surface de travail ») et peut envoyer ces données au processeur 210 pour un traitement ultérieur. Dans certains modes de réalisation, le processeur 210, le bloc de suivi de mouvement (qui peut inclure un processeur dédié supplémentaire), ou une combinaison de ceux-ci, peut effectuer des aspects de la détection d'entrée, comme l'apprécierait une personne ayant une compétence ordinaire dans l'art et bénéficiant de la présente invention.
Dans certains modes de réalisation, des accéléromètres peuvent être utilisés pour la détection de mouvements. Les accéléromètres peuvent être des dispositifs électromécaniques (par ex., des dispositifs de systèmes micro-électromécaniques (MEMS)) configurés pour mesurer les forces d'accélération (par ex., les forces statiques et dynamiques). Un ou plusieurs accéléromètres peuvent être utilisés pour détecter un positionnement tridimensionnel (3D). Par exemple, le suivi 3D peut utiliser un accéléromètre à trois axes ou deux accéléromètres à deux axes (par ex., dans une « souris aérienne 3D », un HMD ou un autre dispositif). Les accéléromètres peuvent en outre déterminer si le dispositif d'entrée 130 a été soulevé d'une surface sous-jacente et peuvent fournir des données de mouvement qui peuvent inclure la vitesse, l'orientation physique et l'accélération du dispositif informatique périphérique 130. Dans certains modes de réalisation, un ou plusieurs gyroscopes peuvent être utilisés à la place ou en conjonction avec un ou plusieurs accéléromètres pour déterminer le mouvement ou l'orientation du dispositif d'entrée.
Dans certains modes de réalisation, le bloc de commande de sortie 260 (également appelé « module de commande de sortie 260 ») peut commander diverses sorties pour un dispositif informatique périphérique correspondant. Par exemple, le module de commande de sortie 260 peut commander un certain nombre d'éléments de sortie visuels (par ex., des DEL, des écrans LCD), des affichages, des sorties audio (par ex., des haut-parleurs), des systèmes de sortie haptiques, ou autres. Une personne ayant une compétence ordinaire dans l'art et bénéficiant de la présente invention apprécierait les nombreuses modifications, variations et autres modes de réalisation de ces systèmes.
Bien que certains systèmes ne soient pas expressément discutés, ils doivent être considérés comme faisant partie du système 200, comme le comprendrait une personne ayant une compétence ordinaire dans l'art. Par exemple, le système 200 peut comprendre un système de bus pour transférer de l'énergie et/ou des données vers et depuis les différents systèmes qui le composent. Il importe de souligner que le système 200 est illustratif et que des variations et des modifications sont possibles. Le système 200 peut avoir d'autres capacités non spécifiquement décrites dans le présent document. En outre, bien que le système 200 soit décrit en référence à des blocs particuliers, il faut comprendre que ces blocs sont définis pour la commodité de la description et ne sont pas destinés à impliquer un arrangement physique particulier des composants. Qui plus est, les blocs ne doivent pas nécessairement correspondre à des composants physiquement distincts. Les blocs peuvent être configurés pour effectuer diverses opérations, par exemple en programmant un processeur ou en fournissant des circuits de commande appropriés, et divers blocs peuvent ou non être reconfigurables selon la façon dont la configuration initiale est obtenue.
- la mise en œuvre de calculs uniquement sur les points déterminés, et
- l’actualisation de la liste en fonction des calculs mis en œuvre,
les itérations étant mises en œuvre jusqu’à ce que la liste courante soit vide.
- la est une représentation schématique d’un exemple de système de détermination,
- la est une illustration schématique des notions de stencil direct et de stencil indirect,
- la est une vue schématique d’un exemple de mise en œuvre d’une partie d’un exemple de technique de compactage,
- la est une vue schématique d’un exemple de mise en œuvre d’une autre partie d’un exemple de technique de compactage,
- la est une vue schématique d’un exemple de mise en œuvre d’une autre partie d’un exemple de technique de compactage, et
- la est une vue schématique d’un exemple de mise en œuvre d’une autre partie d’un exemple de technique de compactage.
La est une représentation schématique d’un système de détermination 10 d’une grandeur physique.
Le système de détermination 10 est propre à déterminer une grandeur physique.
Plus précisément, le système de détermination 10 est propre à partir d’au moins une donnée d’entrée 12 à obtenir au moins une donnée de sortie 16, l’au moins une donnée de sortie 16 correspondant à la grandeur physique à déterminer.
Une grandeur physique correspond, dans ce contexte, à l’évolution spatiale d’une mesure physique (c’est-à-dire une mesure obtenue par un capteur) dans un environnement prédéfini.
Dans le suite, la grandeur physique est notée U et l’environnement prédéfini est noté . Il peut être remarqué que l’environnement prédéfini est souvent dénommé domaine. L’expression « domaine » sera donc utilisée. Le domaine est un ensemble de points x.
La lecture est une lecture des valeurs de la liste compactée courante différentes de la valeur d’initialisation pour obtenir les points vérifiant la condition binaire.
La mise en œuvre est une étape de mise en œuvre de calculs uniquement sur les points déterminés.
Les calculs comportent une opération de test de convergence de la valeur du point, une opération d’élimination du point ayant fait l’objet de l’opération de test de la liste courante, et une opération d’ajout de points uniquement si le test de convergence n’est pas satisfait, les points ajoutés étant de préférence les points du stencil négatif.
L’étape d’actualisation est une étape d’actualisation de la liste en fonction des calculs mis en œuvre.
Les itérations sont mises en œuvre jusqu’à ce que la liste courante soit vide.
Ce qui vient d’être décrit pour le procédé de détermination peut être décrit de manière équivalente comme suit.
Le domaine peut-être découpé en sous-domaines, de telle façon que chaque élément x du domaine appartient à un sous-domaine et un seul. Les listes L et cL ne désignent alors plus les indices des éléments x, mais les indices des sous-domaines auxquels ils sont associés.
Le découpage de en N sous-domaines accroît l’efficacité de résolution par une architecture parallèle car il permet de regrouper astucieusement les nœuds de façon à optimiser les accès à la mémoire centrale. Par exemple, il peut être avantageusement envisagé une stratégie de définition de sous-domaines au sein desquels tous les nœuds partagent certaines valeurs de paramètres, ce qui permet de les charger une fois pour toute en mémoire locale et de les utiliser ensuite pour chacun des nœuds du sous-domaine. Une telle stratégie est a priori plus favorable puisqu’elle repose sur l’emploi de mémoire locale et minimise les accès à la mémoire centrale.
Par ailleurs, le découpage de en N sous-domaines permet également de découpler la taille de la liste à compacter à chaque itération du nombre total d’éléments x du domaine et donc de compacter des listes plus courtes. Par exemple, en groupant les nœuds par sous-domaines de taille 64, une liste 64 fois moins grande à chaque itération est compactée.
Le domaine contient points et est découpé en sous-domaines.
Les notations qui suivent sont utilisées dans la série d’instructions qui décrit le procédé :
est une fonction retournant l’indice du sous-domaine auquel appartient le nœud . Cette fonction peut être implémentée de diverses façons, comme par exemple une table calculée à l’avance. ) est la fonction d’Hopf-Lax utilisée et sont deux tableaux de booléens de taille appelés « liste courante des sous-domaines actifs » et « liste suivante des sous-domaines actifs » et sont deux tableaux de taille appelés « distances courantes des sous-domaines actifs » et « distances suivantes des sous-domaines actifs » est un tableau d’entiers de taille appelé « liste compactée des sous-domaines actifs » est le plus grand indice de cL contenant une valeur valide
Avec ces notations, le procédé s’écrit ainsi :
Boucle principale :
Tant que AMELIORATION = VRAI :
Selon une variante non représentée, le procédé de montage d’un sous-module de batterie 11 selon le premier mode de réalisation comprend également l’étape suivante : après réalisation des liaisons soudées, découper les extrémités libres des électrodes 37, 38, 39, 40 faisant saillie hors de la première barre-bus 47 ou de la deuxième barre-bus 49.
Le procédé de montage d’un sous-module de batterie 11’ selon le second mode de réalisation comprend également la caractéristique suivante : la liaison soudée entre la première électrode 37 de la première cellule de batterie 27 et la première électrode 39 de la deuxième cellule de batterie 29 est réalisée par soudage direct entre la première électrode 37 de la première cellule de batterie 27 et la première électrode 39 de la deuxième cellule de batterie 29, de préférence par soudage laser.
Afin de permettre le soudage sans endommager le cadre porteur 33, un doigt est introduit hors du cadre porteur 33 entre la première électrode 37 de la première cellule de batterie 27 et la première électrode 39 de la deuxième cellule de batterie 29. La première électrode 37 de la première cellule de batterie 27 est repliée sur le doigt de telle sorte qu’elle se trouve en en contact avec la première électrode 39 de la deuxième cellule de batterie 29, et le soudage entre la première électrode 37 de la première cellule de batterie 27 et la première électrode 39 de la deuxième cellule de batterie 29 est réalisé. Alternativement, selon une variante non représentée, la première électrode 39 de la deuxième cellule de batterie 29 est repliée sur le doigt de telle sorte qu’elle se trouve en en contact avec la première électrode 37 de la première cellule de batterie 27, et le soudage entre la première électrode 37 de la première cellule de batterie 27 et la première électrode 39 de la deuxième cellule de batterie 29 est réalisé.