INPI-France/Brevets-Francais-2024-Chunked huggingface dataset:
Selon un premier aspect, la présente invention concerne un procédé de communication dans un réseau sans fil comprenant un véhicule et un dispositif distant, le véhicule étant stationné dans un environnement routier, le procédé étant mis en œuvre par un processeur, le procédé comprenant les étapes suivantes : - réception de premières données représentatives d’un état de stationnement du véhicule ; - détermination de deuxièmes données représentatives d’un chevauchement d’un trottoir de l’environnement routier par le véhicule en fonction des premières données ; - transmission de troisièmes données représentatives d’une alerte de stationnement en fonction des deuxièmes données, vers le dispositif distant via une liaison sans fil.
On comprend ici que les étapes du procédé selon l’invention sont mises en œuvre, partiellement ou en totalité, selon un premier exemple, par un calculateur embarqué du véhicule, le calculateur recevant les premières données depuis au moins un capteur embarqué du véhicule, ou selon un deuxième exemple par un serveur distant du réseau sans fil, le serveur distant étant en communication sans fil avec le véhicule et le dispositif distant. Le dispositif distant correspond par exemple à un dispositif électronique personnel associé à un conducteur, un propriétaire ou un gestionnaire de flotte associé au véhicule, par exemple un téléphone intelligent (de l’anglais « smartphone ») ou un ordinateur.
Ainsi, selon la présente invention, les données relatives au stationnement du véhicule sont récupérées et traitées de manière à détecter un stationnement incorrect du véhicule et alerter à distance des risques encourus par le stationnement incorrect. Le procédé selon l’invention permet ainsi de réduire les comportements de stationnement inappropriés, limitant l’usure des véhicules et augmentant la sécurité des usagers de la route.
Selon une variante, les premières données comprennent une information représentative d’un état d’un pneumatique du véhicule, les deuxièmes données étant déterminées en fonction de l’état du pneumatique.
Selon une variante supplémentaire, l’information représentative de l’état du pneumatique correspond à : - une information représentative d’un niveau de pression du pneumatique ; et/ou - une information représentative d’une tension d’une suspension associée au pneumatique.
Selon une variante additionnelle, les premières données comprennent une information représentative d’une position du véhicule par rapport au trottoir, les deuxièmes données étant déterminées en fonction de la position.
Selon une autre variante, les premières données comprennent en outre des données d’image représentatives de l’état de stationnement, la transmission comprenant en outre une transmission des données d’image.
Selon une variante supplémentaire, le procédé comprend en outre une étape d’affichage, par le dispositif distant, d’une image à partir des données d’image reçues.
Selon encore une variante, le procédé comprend en outre une étape de rendu d’une alerte par le dispositif distant en fonction des troisièmes données.
Selon un deuxième aspect, la présente invention concerne un dispositif de communication dans un réseau sans fil comprenant un véhicule et un dispositif distant, le dispositif comprend une mémoire associée à au moins un processeur configuré pour la mise en œuvre des étapes du procédé selon le premier aspect de la présente invention.
Selon un troisième aspect, la présente invention concerne un système de communication dans un réseau sans fil, le système comprenant le dispositif tel que décrit ci-dessus selon le deuxième aspect de l’invention, le système comprenant en outre un véhicule et un dispositif distant reliés en communication sans fil avec le dispositif tel que décrit ci-dessus, le système étant configuré pour la mise en œuvre du procédé selon le premier aspect de la présente invention.
Le moteur 34 ne gère pas une pile, mais une zone mémoire 36 par tâche asynchrone à réaliser. Cette zone mémoire permet au moteur de stocker les valeurs des variables de la tâche asynchrone en cours de réalisation. La zone mémoire associée à une tâche asynchrone est de taille définie.
Pour des raisons de clarté, sur la , la liste 25, la file 26, la liste 35 et des zones mémoires 36 sont représentées dans les modules 24 et 34, mais il s’agit bien de structures dans la mémoire de l’ordinateur.
La manière de programmer un appel système bloquant dans le noyau selon l’invention est donnée dans la tableau suivant relatif à la partie du code source du noyau pour l’exemple de l’appel système « sys_sleep » en utilisant le langage de programmation Rust (« marque déposée »):
fn sys_sleep T : ContextTrait >( ctx : & 'static mut T ) { // Entrées de l’appel système. Les paramètres d’entrée sont décodés. let now = crate :: timer :: GTimer :: now (); let duration ctx . syscall_in :: sys :: Sleep >(). duration ; let alarm = now . duration ; // Blocage du thread en cours d’exécution. let kernel = Sefl :: kernel_mut (); let th = kernel . threads . block_running (); let tid = th . read (). id (); // Lancer une tâche asynchrone pour gérer l'appel système bloquant. Le code suivant sera exécuté par le moteur. crate :: tasks :: spawn ( tid , async move { kernel . delay . deadline ( alarm ) . await ; kernel . threads . unblock ( th ); let res = crate :: timer :: GTimer :: now () - now ; ctx :: syscall_out :: sys :: Sleep >( & res ); }); }
Dans cet exemple, l’appel système « sys_sleep » a pour but de mettre en attente un fil d’exécution appelant pendant un temps donné.
Cette fonction contient le blocage du fil d’exécution en cours (instruction « kernel.threads.block_running() »).
Cette fonction contient ensuite la fonction création d’une tâche asynchrone (« crate::tasks::spawn »). L’exécution de cette fonction conduit à la création d’une tâche asynchrone (instruction « async move »).
La tâche asynchrone est exécutée par la moteur 34.
C’est dans cette tâche asynchrone que se trouve le détail des instructions de l’appel système en tant tel.
Elle comporte les évènements attendus pour faire avancer l’exécution de ces instructions, comme par exemple ici l’attente de la survenue du temps écoulé (instruction « .await »).
La tâche asynchrone comporte également les instructions à exécuter, comme par exemple ici les instructions pour finaliser la tâche asynchrone lorsque l’évènement attendu est arrivé (« res = crate::timer::GTimer::now() – now »).
La tâche asynchrone comporte finalement le retour de la fonction système (« ctx::syscall_out:: ( &res ) »)
Ainsi, dans le code source du tableau ci-dessus, qui est une expression extrêmement synthétique des instructions du noyau lors d’un appel système bloquant, on constate qu’une tâche asynchrone comporte, en plus des instructions de l’appel système en tant que tel (c’est-à-dire le code du service rendu par le noyau), la machine à états caractérisant l’avancement de l’exécution de la tâche asynchrone, ainsi que la gestion du réveil du fil d’exécution appelant.
Comme illustré sur la , le procédé 100 de gestion d’un appel système par le noyau 20 s’effectue de la manière suivante.
Dans une étape 110, alors qu’un fil d’exécution, par exemple d’un processus de l’application 30, est en cours d’exécution par le processeur dans le mode non-privilégié sur une pile non-privilégiée dédiée au fil d’exécution, ce dernier fait un appel système, cet appel système étant identifié par un identifiant.
Dans une étape 120, du fait de cet appel système, le processeur 11 bascule du mode non-privilégié vers le mode privilégié pour la réalisation par le noyau 22 des instructions de l’appel système. La sauvegarde du contexte non-privilégié du fil d’exécution est réalisée dans la pile non-privilégiée du fil d’exécution.
Cette nouvelle sélection peut notamment être effectuée si le groupe de nœuds ou nœud déjà sélectionné ne répond pas à tous les critères. Il est à noter qu’un groupe de nœuds peut répondre à tous les critères mais en répartissant le déploiement de l’application sur plusieurs nœuds. Un nouveau groupe de nœuds peut être sélectionné dans plusieurs cas et notamment, non exhaustivement : - si ce nouveau groupe de nœuds permet de répartir le déploiement de l’application sur moins de nœuds, - si ce nouveau groupe de nœuds permet de répartir le déploiement de l’application sur des nœuds permettant de répondre à plus de critères, - si ce nouveau groupe de nœuds permet de libérer le groupe de nœuds sur lequel l’application était déployée pour une nouvelle application, par exemple si le groupe de nœuds sur lequel l’application était installée possède des caractéristiques qui répondent mieux aux critères de cette nouvelle application que d’autres nœuds ou groupes de nœuds disponibles (et notamment le nouveau groupe).
Ainsi, le procédé scrute les capacités des nœuds du système régulièrement, ou périodiquement, de façon aléatoire ou lors d’évènements occasionnant une utilisation de l’application, ou de manière cyclique de manière à toujours mettre en regard les capacités des nœuds et des groupes de nœuds et à redéployer les applications présentes sur les nœuds qui répondent le mieux, selon un algorithme qui détermine les priorités, aux critères d’exécution de chaque application.
Ceci est rendu possible par la présence au niveau du terminal utilisateur des modules de gestion 11 et de pilotage 12.
Le module de gestion 11 obtient les caractéristiques des différents groupes de nœuds et les critères des applications à déployer lors des requêtes utilisateurs. Le module de pilotage aiguille le déploiement de l’application sur le groupe de nœuds qui répond au critère selon les modes de réalisation déterminés précédemment. Ensuite, une requête de déploiement est transférée au nœud sélectionné (ou plus précisément à son répartiteur de charge) qui déploie l’application sur le nœud répondant le mieux au besoin ou répartit les charges sur plusieurs de ses nœuds lorsqu’un seul nœud ne répond pas au besoin/critère de manière également à répartir le déploiement sur plusieurs de ses nœuds qui répondent le mieux au critère.
Ainsi selon certains modes de réalisation, la présente divulgation concerne un dispositif électronique comprenant un processeur configuré pour - obtenir au moins un critère d’exécution d’une application destinée à être déployée sur au moins un groupe de nœuds d’un environnement comprenant plusieurs groupes de nœuds de réseau - obtenir au moins une caractéristique relative aux groupes de nœuds du réseau, - mettre en correspondance au moins un critère et au moins une caractéristique et en fonction de la mise en correspondance, - déployer l’application sur un au moins des groupes de nœuds, et - en fonction d’au moins une nouvelle mise en correspondance effectuée au cours de l’exécution de l’application suite à son déploiement, déployer ladite application sur un nouveau groupe de nœuds.
Selon certains modes de réalisation, la présente divulgation concerne un procédé d’exécution d’au moins une application, dans un environnement comprenant plusieurs groupes de nœuds de réseau, l’application étant destinée à être déployée sur au moins un desdits groupes de nœuds, le procédé comprenant - l’obtention d’au moins un critère d’exécution de l’application, - l’obtention d’au moins une caractéristique relative aux groupes de nœuds du réseau, - la mise en correspondance d’au moins un critère et d’au moins une caractéristique et en fonction de la mise en correspondance, - le déploiement de l’application sur un au moins des groupes de nœuds, et - en fonction d’au moins une nouvelle mise en correspondance effectuée au cours de l’exécution de l’application suite à son déploiement, le déploiement de ladite application sur un nouveau groupe de nœuds.
Toutes les variantes et implémentations décrites ci-dessus s’appliquent à ce procédé et ce dispositif.
La représente un procédé selon certaines implémentations de l’invention.
Lors d’une étape E1, un ou plusieurs utilisateurs transmettent une requête à un terminal tel le terminal T1, demandant le déploiement d’une application. Cette application peut par exemple faire partie d’une offre disponible ou offerte par un opérateur auprès duquel l’utilisateur a souscrit un abonnement. La requête peut donc être destinée à l’opérateur.
Lors d’une étape E2, le ou les critères nécessaires à l’exécution de l’application sont obtenus ainsi que les capacités des nœuds et/ou des groupes de nœuds. Comme mentionné précédemment, ces critères peuvent être contenus dans au moins un fichier lié à l’application et aux groupes de nœuds ou nœuds. Dans certains modes de réalisation, ils peuvent être contenus dans des fichiers de type YaML ou HELM. Des exemples de tels critères ont été décrits en référence à la .
Lors d’une étape E3, les critères sont mis en correspondance avec les capacités des groupes de nœuds ou nœuds. afin de sélectionner un groupe de nœud sur lequel déployer l’application. Comme mentionné précédemment cette mise en correspondance peut être effectuée en fonction d’une hiérarchie des critères par exemple ou un parcours des groupes de nœuds selon un certain ordre. Les différentes sélections décrites en référence à la peuvent par exemple s’appliquer à la .
A l’issue de l’étape E3, un groupe de nœuds est donc sélectionné pour déployer l’application.
Lors d’une étape E4, une requête peut être transmise au groupe de nœuds sélectionné pour déployer l’application.
Lors d’une étape E5, un répartiteur de charge du groupe de nœuds peut déterminer si l’application est déployée sur un seul nœud ou sur plusieurs nœuds du groupe de nœuds comme expliqué précédemment.
Lors d’une étape E6, l’application est déployée sur le ou les nœuds sélectionnés.
Le procédé est mis en œuvre régulièrement, ou périodiquement, de façon aléatoire ou lors d’évènements occasionnant une utilisation de l’application, de manière à essayer de déployer ou redéployer l’application sur le nœud dont les capacités répondent au mieux aux critères de l’application. Si l’application avait été précédemment déployée sur un autre groupe de nœuds et qu’elle est maintenant déployée sur un groupe de nœuds dont la capacité correspond mieux à ces critères, étape E7, alors on passe à l’étape E8 dans laquelle l’instance précédemment installée est soit supprimée, soit indiquée comme non utilisée mais conservée sur ce groupe de nœuds sur lequel elle était installée, puis le procédé passe à l’étape E2.
Par exemple l’unité de traitement 8 du dispositif peut être configurée de sorte à détecter un changement de pression au sein du corps gonflable par rapport à la valeur de la pression initiale mesurée et à en déduire une initiation de la contraction appliquée par le périnée de la personne sur le corps gonflable.
Dans le présent procédé, la contraction appliquée peut être brève, par exemple de l’ordre de 0,5 secondes.
Dans le présent procédé, la contraction peut être maintenue dans le temps. Par exemple, pendant le maximum de temps possible.
Dans ce cas, la deuxième étape de mesure peut comprendre une sous étape dans laquelle une durée de contraction est mesurée. La durée de contraction peut par exemple être mesurée par l’unité de traitement 8 du dispositif.
La durée de contraction peut correspondre au temps écoulé entre le moment où la pression de contraction mesurée a dépassé de plus de 0,76 kPa la pression initiale mesurée lors de la deuxième étape de mesure (indicatif d’une initiation de la contraction) et le moment ou la pression mesurée est inférieure de 0,76 kPa de la pression initiale mesurée lors de la deuxième étape de mesure (indicatif d’un arrêt de la contraction). Une pression de 0,7kPa correspond à une pression minimum considérée comme une contraction dans les publications scientifiques.
Par exemple, la deuxième étape de mesure peut comprendre une sous étape d’enregistrement de la durée de contraction mesurée. Par exemple, la sous étape d’enregistrement de la durée de contraction est réalisée en même temps que la sous étape d’enregistrement de la pression de contraction mesurée.
Les sous étapes d’enregistrement peuvent être mises en œuvre par l’unité de traitement 8 du dispositif.
Selon un premier mode de réalisation, la deuxième étape de mesure peut comprendre en outre une sous étape de détection d’un arrêt de la contraction appliquée sur le corps gonflable par le périnée de la personne provoquant l’arrêt de l’enregistrement de la pression au sein du corps gonflable et/ou de la durée de contraction.
Par exemple, l’arrêt de la contraction peut être détectée au moyen des données de mesure des premiers et deuxièmes moyens de mesure. La détermination de l’arrêt de la contraction peut être mise en œuvre par l’unité de traitement 8 du dispositif.
Par exemple l’unité de traitement est configurée de sorte à détecter un retour de la pression au sein du corps gonflable autour de la valeur de la pression initiale mesurée et à en déduire un arrêt de la contraction appliquée par le périnée de la personne sur le corps gonflable.
Selon un autre mode de réalisation, la deuxième étape de mesure peut comprendre en outre une sous étape d’arrêt de l’enregistrement de la pression au sein du corps gonflable et/ou de la durée de contraction après une durée prédéterminée.
Par exemple, l’enregistrement de la mesure de pression de contraction ou l’enregistrement de la mesure de pression de contraction et de la durée de contraction peut s’arrêter après écoulement d’un temps déterminé à partir du début de l’enregistrement. Le temps peut être compris entre 5 et 20 secondes, par exemple 10 et 15 secondes, par exemple 10 secondes.
Dans le procédé selon l’invention, plusieurs contractions, par exemple brèves ou maintenues dans le temps, peuvent être appliquées sur le corps gonflable.
Par exemple, la deuxième étape de mesure peut comprendre, par exemple après l’étape d’arrêt de l’enregistrement pour la première contraction :
une sous étape de détection d’une initiation d’au moins une deuxième contraction appliquée sur le corps gonflable 2 par le périnée de la personne provoquant un enregistrement de la pression mesurée au sein du corps gonflable par les deuxièmes moyens de mesure, et
une sous étape d’enregistrement de la pression mesurée au sein du corps gonflable 2 par les deuxièmes moyens de mesure.
Ce type de machine est alimenté par N potentiels électriques. Il est possible de définir une matrice de transformation T permettant de faire le lien entre ces N potentiels et les trois sous-systèmes. Cette matrice T est définie par les propriétés suivantes : les colonnes impaires de 1 à 2 ⌊(N-1)/2 ⌋ notée 2k-1 (k variant de 1 à ⌊(N-1)/2 ⌋), correspondent au vecteur ayant comme i-ème composante (avec i variant de 1 à N) : c(i, 2k-1) = cos (2πk(i-1)/N) ; les colonnes paires de 1 à 2⌊(N-1)/2 ⌋ notée 2k (k variant de 1 à ⌊(N-1)/2 ⌋) correspondent au vecteur ayant comme i-ème composante (avec i variant de 1 à N) : c(i, 2k) = sin (2πk(i-1)/N) ; dans le cas où N est impair, la colonne N est définie par un vecteur constant à la valeur 1/√2 ; dans le cas où N est pair, la colonne N-1 est définie par un vecteur de constantes alternées de valeur 1/√2 et de valeur -1/√2 et la colonne N est définie par un vecteur constant à la valeur 1/√2.
Ainsi, les N potentiels de la machine électrique polyphasée, et donc du moteur électrique à N phases, sont reliés aux trois vecteurs par la relation :
avec V 1 , …, V N les N potentiels du moteur.
Si les composantes ne produisant pas de couple sont écartées, les N potentiels du moteur peuvent s’écrire :
avec Q une matrice comprenant les deux premières colonnes de la matrice T.
Le moteur est piloté par un contrôleur électrique qui calcule des tensions de commande en réponse à une demande de vitesse ou de couple. Celles-ci sont alors transformées en potentiels de référence en considérant l’approche directe et la transformation par la matrice Q. Le contrôleur électrique réalise par l’intermédiaire d’un convertisseur de puissance des potentiels électriques à chaque phase du moteur, pour qu’il puisse fournir un couple mécanique à une vitesse électrique donnée. Les tensions aux bornes des enroulements du moteur, qui résultent des différences de potentiels entre les phases, doivent être sinusoïdales et d’amplitude la plus grande possible pour atteindre un maximum de points de fonctionnement tout en ayant un contenu harmonique nul ou le plus faible possible afin de ne pas générer de perturbations sur le couple mécanique dans une gamme de fréquence utile.
Les potentiels réalisés par le contrôleur sont limités à des valeurs comprises entre –V DC /2 et +V DC /2, avec V DC la tension de l’alimentation électrique du moteur, le moteur étant alimenté par ladite alimentation par l’intermédiaire d’un convertisseur de puissance. Pour ne pas faire apparaître d’harmonique, il est commun de réaliser des potentiels sinusoïdaux qui, par construction, sont contraints d’être inférieurs à V DC /2. La tension sinusoïdale aux bornes des enroulements du moteur (issue des différences de potentiels entre les phases du moteur) est ainsi limitée à être inférieure ou égale à V DC /2.
Cependant, pour certaines valeurs d’angle, il serait intéressant de pouvoir augmenter les potentiels électriques appliqués aux phases du moteur afin d’augmenter la tension sinusoïdale aux bornes des enroulements du moteur pour élargir la zone de fonctionnement tout en conservant des potentiels à réaliser pour chaque phase compris entre –V DC /2 et +V DC /2.
Il est donc souhaitable de disposer d’un nouveau procédé de détermination des potentiels électriques fournis aux phases d’un moteur, de manière à élargir la zone de fonctionnement sans générer d’harmonique et de perturbation sur le couple mécanique fourni par le moteur.
La présente invention concerne un procédé de détermination des potentiels électriques à réaliser aux bornes des phases d’un moteur comprenant N phases, N étant un entier supérieur ou égal à 4, le procédé comprenant les étapes suivantes : définir une tension de commande d’amplitude V MAG et de phase θ qui est inférieure à une tension de limitation ; déterminer des potentiels électriques de référence aux bornes des N phases du moteur pour cette tension de commande avec où i est compris entre 1 et N, V REF_i est le potentiel électrique de référence aux bornes de la i-ème phase et θ est la phase de la tension de commande compris entre 0 et 2π; comparer les potentiels électriques de référence à un premier seuil ; si les potentiels électriques de référence sont tous inférieurs ou égaux au premier seuil, alors les potentiels électriques à réaliser aux bornes des N phases du moteur sont égaux aux potentiels électriques de référence, ou si au moins un des potentiels électriques de référence est supérieur au premier seuil, comparer ces potentiels électriques de référence à un deuxième seuil, le deuxième seuil étant supérieur au premier seuil ; si ces potentiels électriques de référence sont tous inférieurs ou égaux au deuxième seuil, alors les potentiels électriques à réaliser aux bornes des N phases du moteur sont égaux à V i = V REF_i + V H , avec ou si au moins un des potentiels de référence est supérieur au deuxième seuil, alors les potentiels à réaliser aux bornes des N phases du moteur sont égaux à V i = V REF_i + V S_i + V H , avec V H un potentiel homopolaire dépendant du nombre de phases et des potentiels électriques de référence et V S_i un potentiel secondaire dépendant du nombre de phases et des potentiels électriques de référence.
Selon une caractéristique particulière de l’invention, les potentiels secondaire V S_i et homopolaire V H s’expriment par les fonctions suivantes : avec si N est impair, avec p = (N-1)/2 : avec k allant de 1 à N-3, et
L’orifice de projection 22 est disposé dans l’alignement longitudinal des trous 21, et il présente un écartement longitudinal avec le trou 21 le plus proche qui est sensiblement égal à l’écartement longitudinal entre deux trous 21 voisins, de sorte que la projection de fluide nettoyant est réalisée de manière homogène sur une distance plus importante grâce à la présence de cet orifice de projection 22.