Brevet FR3090166A1 — publié le 20200619

Description Titre de l'invention : Procédé, système et appareil d'assistance à la navigation [0001] Contexte [0002] Les environnements dans lesquels les objets sont gérés, comme les installations de vente au détail, peuvent être complexes et fluides. Par exemple, une installation de vente au détail peut. comporter des objets comme des produits à acheter, un environnement de distribution peut comporter des objets comme des colis ou des palettes, un environnement de fabrication peut comporter des objets comme des composants ou des assemblages, un environnement de soins de santé peut comporter des objets comme des médicaments ou des dispositifs médicaux. [0003] Des tâches peuvent être identifiées pour exécution dans de tels environnements, par exemple pour corriger des étiquettes dc prix sur des produits, réapprovisionner une réserve dc produits, et analogues. De telles tâches peuvent être attribuées à des opérateurs humains pour exécution. La présence d'un nombre variable de tâches, ainsi que d'un nombre variable d'opérateurs mobiles, à tout moment dans l'environnement peut conduire à une attribution inefficace de tâches aux opérateurs, entraînant une sous-utilisation ou une sur-utilisation de certains opérateurs ou la nécessité d'une formation coûteuse de plusieurs opérateurs pour des tâches multiples. [0004] En outre, l'opérateur affecté à la réalisation d'une tâche donnée peut être tenu de localiser avec précision une position à l'intérieur dc l'installation à laquelle la tâche doit être réalisée. Un dispositif informatique mobile porté par l'opérateur peut avoir une localisation qui n'est pas suffisamment précise pour guider l'opérateur vers la bonne position à l'intérieur de l'installation, entraînant des tâches mal exécutées, des retards dans l'exécution de tâche, ou les deux. Art antérieur 100051 Les figures ci-après, oit des chiffres de référence semblables font référence à des éléments identiques ou fonctionnellement similaires à travers les vues séparées, ainsi que la description détaillée ci-dessous, sont incorporés dans la spécification et en font partie intégrante, et servent à illustrer davantage des modes de réalisation de concepts qui comportent l'invention revendiquée, et à expliquer divers principes et avantages de ces modes de réalisation. 100061 Ifie.11 La figure I est un schéma d'un système d'automatisation mobile. 100071 Ifie.2A1 La figure 2A représente un appareil d'automatisation mobile dans le système de la FIG. I. 100081 Ifie.2B1 La figure 2B est un schéma de principe de certains composants matériels 2 internes de l'appareil d'automatisation mobile dans le système de la FIG. 1. [0009] [fig.3] La figure 3 est un organigramme d'un procédé de génération et de dé- ploiement d'informations d'assistance à la navigation dans le système de la FIG. 1. [0010] [fig.4A-413] La figure 4A est une vue aérienne d'une installation illustrant une position d'ancrage. La figure 4B représente un ensemble de particularités d'ancrage employées dans le procédé de la FIG. 3. [0011] [fig..5A-513] La figure SA représente des données de superposition de tâches employées dans le procédé de la FIG. 3. La figure 5B représente une vue aérienne supplémentaire de l'installation de la FIG. 4A, illustrant des positions d'ancrage et de dispositif. [0012] [fig.6] La figure 6 représente un message-guide d'ancrage généré au bloc 355 du procédé de la FIG. 3. [0013] [fig.7A-713] La figure 7A représente une vue aérienne de l'installation de la FIG. 4 pendant la réalisation du procédé de la FIG. 3. La figure 7B représente des données d'image capturées par le dispositif client. [0014] [fig.8A-813] La figure RA représente une vue aérienne supplémentaire de l'installation de la FIG. 4 pendant la réalisation du procédé de la FIG. 3. La figure RB représente des données d'image capturées par le dispositif client. [0015] [fig.9A-913] La figure 9A représente une vue aérienne supplémentaire de l'installation de la FIG. 4 pendant la réalisation du procédé de la FIG. 3. La figure 9B représente la présentation d'informations de superposition de tâches en réponse à l'arrivée du dispositif client à la position montrée dans la FIG. 9A. [0016] Les hommes du métier se rendront compte que les éléments des figures sont illustrés par souci de simplicité et de clarté et n'ont pas nécessairement été dessinés à l'échelle. Par exemple, les dimensions de certains des éléments des figures peuvent être exagérées pat- rapport à d'autres éléments pour aider à mieux comprendre les modes de réalisation de la présente invention. [0017] Les composants de l'appareil et du procédé ont été représentés le cas échéant par des symboles conventionnels des dessins, ne montrant que les détails spécifiques qui sont pertinents pour comprendre les modes de réalisation de la présente invention afin de ne pas obscurcir la divulgation avec des détails qui seront facilement apparents aux personnes qui possèdent des compétences ordinaires en la matière ayant le bénéfice de la description ici. Description détaillée [0018] Les exemples divulgués ici sont dirigés vers un procédé d'assistance à la navigation à un dispositif informatique mobile pour déploiement dans une installation ayant un cadre global de référence, le procédé comprenant les étapes consistant à : recevoir une 3 définition d'ancrage contenant (i) une position d'ancrage dans le cadre global de référence, et (ii) un ensemble de particularités correspondant à des caractéristiques physiques de l'installation à la position d'ancrage ; recevoir une définition de tâche contenant (i) une position dc tâche définie par rapport à la position d'ancrage, et (ii) des données dc superposition dc tâches ; capturer, en utilisant un module de capture d'image, une séquence d'images ; en réponse à la détection de l'ensemble de particularités dans la séquence d'images, déterminer une position de dispositif locale du dispositif informatique mobile par rapport à la position d'ancrage ; en se basant sur la position de dispositif locale et la position de tâche, déterminer si la position de tâche est dans un champ de vision du dispositif informatique mobile ; et en réponse au fait de déterminer que la position de tâche est à l'intérieur du champ de vision, présenter la séquence d'images superposée aux données de superposition sur un dispositif d'affichage. [0019] Des exemples additionnels divulgués ici sont dirigés vers un dispositif informatique mobile d'assistance à la navigation dans une installation ayant un cadre global de référence, le dispositif informatique mobile comprenant : une mémoire stockant : une définition d'ancrage contenant (i) une position d'ancrage dans le cadre global de référence, et (ii) un ensemble de particularités correspondant à des caractéristiques physiques de l'installation à la position d'ancrage ; et une définition de tâche contenant (i) une position de tâche définie par rapport à la position d'ancrage, et (ii) des données de superposition de tâches ; un dispositif d'affichage ; un module de capture d'images configuré pour capturer une séquence d'images ; un processeur connecté à la mémoire, au dispositif d'affichage et au module de capture d'images, le processeur étant configuré pour : en réponse à la détection de l'ensemble de particularités dans la séquence d'images, déterminer une position de dispositif locale du dispositif informatique mobile par rapport à la position d'ancrage ; en se basant sur la position de dispositif locale et la position de tâche, déterminer si la position de tâche est dans un champ de vision du dispositif informatique mobile ; et en réponse au fait de déterminer que la position de tâche est à l'intérieur du champ de vision, commander le dispositif d'affichage pour qu'il présente la séquence d'images superposées avec les données de superposition sur un dispositif d'affichage. [0020] Des exemples supplémentaires divulgués ici sont dirigés vers un système d'assistance à la navigation pour déploiement dans une installation ayant un cadre global de référence, le système comprenant : un serveur comportant une mémoire stockant : une pluralité de définitions d'ancrage contenant chacune (i) une position d'ancrage dans le cadre global de référence, et (ii) un ensemble de particularités correspondant à des caractéristiques physiques de l'installation à la position d'ancrage ; et une définition de tâche contenant (i) une position de tâche définie par rapport à la position d'ancrage, et (ii) des données de superposition de tâches ; le serveur comportant en outre une interface de communication, et un processeur configure pour : sélectionner l'une des définitions d'ancrage pour association à la définition de tâche ; et transmettre la définition d'ancrage et la définition de tâche sélectionnées à un dispositif informatique mobile, le dispositif informatique mobile étant configure pour recevoir la définition d'ancrage et la définition de tâche sélectionnées ; le dispositif informatique mobile étant en outre configure pour présenter les données de superposition de tâches sur un dispositif d'affichage. [0021] La FIG. 1 représente une automatisation mobile et un système de navigation 100 conformément aux enseignements de cette divulgation. Le système 100 est illustré comme étant déployé dans un environnement de vente au détail, mais qui, dans d'autres modes de réalisation, peut être déployé dans une variété d'autres environnements, comportant des entrepôts, des installations de fabrication, des hôpitaux, et analogues. Les environnements susmentionnés sont appelés génériquement ici installations. Le système 100 comporte un serveur 101 en communication avec au moins un appareil d'automatisation mobile 103 (également appelé ici simplement appareil 103) et au moins un dispositif informatique client 105 (également appelé ici dispositif informatique mobile 105) via des liaisons de communication 107, illustrées dans le présent exemple comme comportant des liaisons sans fil. Dans le présent exemple, les liaisons 107 sont fournies par un réseau local sans fil (WLAN) déployé dans l'environnement de vente au détail par un ou plusieurs points d'accès (non montrés). Dans d'autres exemples, le serveur 101, le dispositif client 105, ou les deux, sont situés en dehors de l'environnement de vente au détail, et les liaisons 107 comportent par conséquent des réseaux étendus comme l'Intemet, des réseaux mobiles, et analogues. Le système 100 comporte également un socle 108 pour l'appareil 103 dans le présent exemple. Le socle 108 est en communication avec le serveur 101 via une liaison 109 qui, dans le présent exemple, est une liaison câblée. Dans d'autres exemples, toutefois, la liaison 109 est une liaison sans fil. [0022] Le dispositif informatique client 105 est illustré dans la FIG. 1 comme un dispositif informatique mobile, tel une tablette, un téléphone intelligent ou analogues. Dans d'autres exemples, le dispositif client 105 est mis en place comme un autre type de dispositif informatique mobile, tel un ordinateur portable, un ordinateur de bureau monté sur un chariot mobile, un ordinateur de bord dédié (comme dans un chariot élévateur), des lunettes intelligentes, un casque de réalité virtuelle, ou analogues. Le système 100 peut comporter une pluralité de dispositifs clients 105 en communication avec le serveur 101 via des liaisons respectives 107. [0023] Le système 100 est déployé, dans l'exemple illustré, dans une installation de vente au détail comportant une pluralité de modules d'étagères 110-1, 110-2, 110-3 et ainsi de suite (collectivement appelés étagères 110, et génériquement appelés une étagère 110 - cette nomenclature est également employée pour d'autres éléments indiqués ici). Chaque module d'étagère 110 supporte une pluralité de produits 112. Chaque module d'étagère 110 comporte un dos d'étagère 116-1, 116-2, 116-3 et une surface de support (par ex. la surface de support 117-3 comme illustré dans la FIG. 1) s'étendant du dos d'étagère 116 à un bord d'étagère 118-1, 118-2, 118-3. [0024] Les modules d'étagères 110 sont généralement agencés dans une pluralité d'allées, chacune d'entre elles comporte une pluralité de modules 110 alignés de bout en bout. Dans de tels agencements, les bords d'étagères 118 font face aux allées, à travers lesquelles peuvent se déplacer des consommateurs dans l'environnement de vente au détail ainsi que l'appareil 103. Comme il ressort de la FIG. 1, le terme « bord d'étagère » 118 tel qu'il est employé ici, que l'on peut également appeler le bord d'une surface de support (par ex., les surfaces de support 117) fait référence à une surface délimitée par des surfaces adjacentes ayant différents angles d'inclinaison. Dans l'exemple illustré dans la FIG. 1, le bord d'étagère 118-3 est à un angle d'environ 90 degrés par rapport à chacun parmi la surface de support 117-3 et le dessous (non montré) de la surface de support 117-3. Dans d'autres exemples, les angles entre le bord d'étagère 118-3 et les surfaces adjacentes, comme la surface de support 117-3, sont plus ou moins de 90 degrés. [0025] L'appareil 103 est déployé à l'intérieur de l'installation de vente au détail, et communique avec le serveur 101 (par ex. via la liaison 107) pour naviguer, de manière autonome ou de manière partiellement autonome, sur une longueur 119 d'au moins une portion des étagères 110. L'appareil 103 est équipé d'une pluralité de capteurs de navigation et de capture de données 104, comme les capteurs d'images (par ex. une ou plusieurs caméras numériques) et les capteurs de profondeur (pal- ex. un ou plusieurs capteurs de détection et télémétrie par la lumière (LIDAR), une ou plusieurs caméras de profondeur employant des motifs lumineux structurés comme la lumière infrarouge, ou analogues). L'appareil 103 peut être configuré pour employer les capteurs 104 pour, à la fois, naviguer parmi les étagères 110 (par ex. selon les chemins mentionnés ci-dessus) et pour capturer des données d'étagère pendant cette navigation. [0026] Le serveur 101 comporte une unité de commande à usage spécial, comme un processeur 120, spécialement conçu pour commenter et/ou assister l'appareil d'automatisation mobile 103 pour naviguer dans l'environnement et pour capturer des données. Le processeur 120 peut être en outre configuré pour obtenir les données capturées via une interface de communication 124 pour un stockage dans un référentiel 132 et un traitement ultérieur, pal- ex. pour détecter des objets comme les produits exposés dans les données capturées, et détecter des informations de statut correspondant aux objets. 6 [0027] Le serveur 101 peut également être configure pour transmettre des notifications de statut (par ex. des notifications indiquant que des produits sont en rupture de stock, en faible stock ou mal placés) au dispositif client 105 en réponse à la détermination de données de statut de produit. Les notifications de statut, comme nous le verrons plus en détail ci-dessous, sont fournies au dispositif client 105 sous forme de définitions de tâches, indiquant quelles tâches doivent âtre réalisées (par ex. par un opérateur humain du dispositif client 105) pour corriger le statut d'un ou de plusieurs objets. Le serveur 101 est en outre configure pour fournir au dispositif client 105, parallèlement aux définitions de tâches susmentionnées, des informations de navigation que le dispositif client 105 est configure pour traiter, pour guider l'opérateur à l'emplacement approprié à l'intérieur de l'installation pour exécution de la tâche (par ex. pour corriger une étiquette de prix, replacer un produit mal place, et analogues). Les informations de navigation peuvent comporter des positions à l'intérieur de l'installation définies selon un cadre global de référence 102 (par ex. un système de coordonnées). [0028] Le processeur 120 est interconnecte avec un support de stockage non transitoire lisible par ordinateur, comme la mémoire susmentionnée 122, ayant stockées sur celle-ci des instructions lisibles par ordinateur pour réaliser diverses fonctionnalités, comportant la commande de l'appareil 103 pour capturer des données d'étagère, post-traiter les données d'étagère, et générer et fournir des données de tâche et de navigation au dispositif client 105. La mémoire 122 comporte une combinaison de mémoire volatile (par ex. une mémoire vive ou RAM) et non-volatile (par ex. une mémoire morte ou ROM, une mémoire morte effaçable et programmable électriquement ou EEPROM, une mémoire flash). Le processeur 120 et la mémoire 122 comprennent chacun un ou plusieurs circuits intégrés. Dans certains modes de réalisation, le processeur 120 est mis en place en tant qu'une ou plusieurs unités centrales de traitement (CPU) et/ou unités de traitement graphique (GPU). [0029] Le serveur 101 comporte également l'interface de communication susmentionnée 124 interconnectée avec le processeur 120. L'interface de communication 124 comporte du matériel approprié (par ex. des émetteurs, des récepteurs, des unités de commande d'interface et analogues) permettant au serveur 101 de communiquer avec d'autres dispositifs informatiques - particulièrement l'appareil 103, le dispositif client 105 et le socle 108 - via les liaisons 107 et 109. Les liaisons 107 et 109 peuvent être des liaisons directes, ou des liaisons qui traversent un ou plusieurs réseaux, comportant à la fois des réseaux locaux et étendus. Les composants spécifiques de l'interface de communication 124 sont sélectionnés sur la base du type de réseau ou d'autres liaisons sur lesquelles le serveur 101 est tenu de communiquer. Dans le présent exemple, comme noté plus haut, un réseau local sans fil est mis en place dans l'environnement de vente au détail via le déploiement d'un ou de plusieurs points d'accès sans fil. Les 7 liaisons 107 comportent par conséquent une ou deux liaisons sans fil entre l'appareil 103 et le dispositif mobile 105 et les points d'accès susmentionnés, et une liaison câblée (par ex. une liaison basée sur Ethernet) entre le serveur 101 et le point d'accès. [0030] La mémoire 122 stocke une pluralité d'applications, comportant chacune une pluralité d'instructions lisibles par ordinateur exécutables par le processeur 120. L'exécution des instructions susmentionnées par le processeur 120 configure le serveur 101 pour réaliser des actions diverses indiquées ici. Les applications stockées dans la mémoire 122 comportent une application de commande 128, qui peut également être mise en place comme une suite d'applications logiquement distinctes. En général, via l'exécution de l'application 128 ou des sous-composants de celle-ci et en collaboration avec les autres composants du serveur 101, le processeur 120 est configure pour mettre en place diverses fonctionnalités concernant la génération ou dans le cas contraire l'obtention de définitions d'informations de tâches et de navigation pour la mise à disposition au dispositif client 105 pour guider un opérateur du dispositif client 105 à l'emplacement approprié à l'intérieur de l'installation afin qu'il réalise une ou plusieurs tâches, comme noté ci-dessus. Le processeur 120, tel qu'il est configure via l'exécution de l'application de commande 128, est également appelé ici l'unité de commande 120. Comme nous allons maintenant le voir, une partie ou la totalité des fonctionnalités mises en place par l'unité de commande 120 décrite ci-dessous peuvent également être réalisées par des unités de commande matérielles à usage spécial préconfigurées (par ex. un ou plusieurs FPGA et/ou des circuits intégrés spécifiques aux applications (ASIC) configurés pour des calculs de navigation) plutôt que par exécution de l'application de commande 128 par le processeur 120. [0031] Le dispositif client 105 comporte une unité de commande à usage spécial, comme un processeur 150, interconnectée avec un support de stockage non transitoire lisible par ordinateur, comme la mémoire 152. La mémoire 152 comporte une combinaison de mémoire volatile (par ex. une mémoire vive ou RAM) et non-volatile (par ex. une mémoire morte ou ROM, une mémoire morte effaçable et programmable électriquement ou EEPROM, une mémoire flash). Le processeur 150 et la mémoire 152 comprennent chacun un ou plusieurs circuits intégrés. [0032] Le dispositif client 105 comporte également au moins un dispositif d'entrée 156 in- terconnecté avec le processeur 150. Le dispositif d'entrée 156 est configuré pour recevoir une entrée et fournir des données représentant l'entrée reçue au processeur 150. Le dispositif d'entrée 156 comporte l'un quelconque parmi, ou une combinaison appropriée de, un écran tactile, un clavier, un bouton de déclenchement, un microphone, et analogues. De plus, le dispositif client 105 comporte une caméra 158 comportant un capteur d'images approprié ou une combinaison de capteurs d'images. La caméra 158 est configurée pour capturer des images (par ex. des trames uniques ou 8 des flux vidéo, comportant des séquences de trames d'images) pour la mise à disposition au processeur 150. [0033] Le dispositif client 105 comporte également un dispositif d'affichage 160 (par ex. un écran plat intégré avec l'écran tactile susmentionné) interconnecte avec le processeur 150, et configure pour rendre des données sous la commande du processeur 150. Le dispositif client 105 peut également comporter un ou plusieurs dispositifs de sortie en plus du dispositif d'affichage 160, comme un haut-parleur, une notification DEL, et analogues (non montres). [0034] Le dispositif client 105 comporte également une interface de communication 162 in- terconnectée avec le processeur 150. L'interface de communication 162 comporte tout matériel approprie (par ex. des émetteurs, des récepteurs, des unités de commande d'interface et analogues) permettant au dispositif client 105 de communiquer avec d'autres dispositifs informatiques via des liaisons câblées et/ou sans fil (par ex. sur des réseaux locaux ou étendus). Les composants spécifiques de l'interface de communication 162 sont sélectionnes sur la base du/des type(s) de réseau(x) ou d'autres liaisons sur lesquels le dispositif client 105 est tenu de communiquer. [0035] En outre, le dispositif client 105 comporte un capteur de mouvement 164, comme une unité de mesure inertielle (IMU) comportant un ou plusieurs accéléromètres, un ou plusieurs gyroscopes, et/ou un ou plusieurs magnétomètres. Le capteur de mouvement 164 est configure pour générer des données indiquant un mouvement détecte du dispositif client 105 et fournir des données au processeur 150, par exemple pour permettre au processeur 150 de maintenir une ou plusieurs localisations du dispositif client 105 (c.-à-d. par rapport au cadre de référence 102 ou à un cadre de référence local, comme nous le verrons plus en détail ci-dessous). [0036] La mémoire 152 stocke des instructions lisibles par ordinateur pour exécution par le processeur 150. En particulier, la mémoire 152 stocke une application d'assistance à la navigation 154 (également appelée simplement l'application 154) qui, lorsqu'elle est exécutée par le processeur 150, configure le processeur 150 afin qu'il réalise diverses fonctions indiquées ci-dessous plus en détail et concernant la réception et la présentation d'informations de tâche et de navigation. L'application 150 peut également être mise en place comme une suite d'applications distinctes dans d'autres exemples. [0037] Le processeur 150, lorsqu'il est configure de la sorte par l'exécution de l'application 154, peut également être appelé une unité de commande d'assistance à la navigation 150. Les hommes de l'art se rendront compte que la fonctionnalité mise en place par le processeur 150 via l'exécution de l'application 154 peut également être mise en place par un ou plusieurs composants matériels et micro-logiciels conçus spécialement, comme les FPGA, les ASIC et analogues dans d'autres modes de réalisation. [0038] S'agissant maintenant des FIG. 2A et 2B, l'appareil d'automatisation mobile 103 est 9 montré plus en détail. L'appareil 103 comporte un châssis 201 contenant un mécanisme de locomotive 203 (par ex. un ou plusieurs moteurs électriques à roues motrices, pistes ou analogues). L'appareil 103 comporte en outre un mât de capteur 205 supporté sur le châssis 201 et, dans le présent exemple, s'étendant vers le haut (par ex., sensiblement verticalement) à partir du châssis 201. Le mât 205 supporte les capteurs 104 mentionnés plus haut. En particulier, les capteurs 104 comportent au moins un capteur d'imagerie 207, comme une caméra numérique, ainsi qu'au moins un capteur de profondeur 209, comme une caméra numérique 3D. L'appareil 103 comporte également des capteurs de profondeur additionnels, comme les capteurs LIDAR 211. Dans d'autres exemples, l'appareil 103 comporte des capteurs additionnels, comme un ou plusieurs lecteurs RFID, des capteurs de température, et analogues. [0039] Dans le présent exemple, le mât 205 supporte sept appareils photo numériques 207-1 à 207-7, et deux capteurs LIDAR 211-1 et 211-2. Le mât 205 supporte également une pluralité d'ensembles d'éclairage 213, configurés pour éclairer les champs de vision des caméras respectives 207. Autrement dit, l'ensemble d'éclairage 213-1 éclaire le champ de vision de la caméra 207-1, et ainsi de suite. Les capteurs 207 et 211 sont orientés sur le mât 205 de sorte que les champs de vision de chaque capteur fasse face à une étagère 110 sur la longueur 119 de laquelle l'appareil 103 se déplace. L'appareil 103 est configure pour pister un emplacement de l'appareil 103 (par ex. un emplacement du centre du châssis 201) dans le cadre global de référence 102 précédemment établi dans l'installation de vente au détail, autoriser l'enregistrement de données capturées par l'appareil d'automatisation mobile 103 au cadre de référence commun. L'emplacement de l'appareil 103 susmentionné à l'intérieur du cadre de référence 102, également appelé localisation, est employé dans la génération de chemins pour exécution par l'appareil 103. [0040] L'appareil d'automatisation mobile 103 comporte une unité de commande de na- vigation à usage spécial, comme le processeur 220, tel que montré dans la FIG. 2B, interconnectée avec un support de stockage non transitoire lisible par ordinateur, comme la mémoire 222 La mémoire 222 comporte une combinaison de mémoire volatile (par ex. une mémoire vive ou RAM) et non-volatile (par ex. une mémoire morte ou ROM, une mémoire morte effaçable et programmable électriquement ou EEPROM, une mémoire flash). Le processeur 220 et la mémoire 222 comprennent chacun un ou plusieurs circuits intégrés. La mémoire 222 stocke des instructions lisibles par ordinateur pour exécution par le processeur 220. En particulier, la mémoire 222 stocke une application de navigation 228 qui, lorsqu'elle est exécutée par le processeur 220, configure le processeur 220 afin qu'il réalise diverses fonctions indiquées ci-dessous plus en détail et concernant la navigation de l'appareil 103 (par ex. en commandant le mécanisme de locomotive 203). L'application 228 peut également être mise en place comme une suite d'applications distinctes dans d'autres exemples. [0041] Le processeur 220, lorsqu'il est configuré de la sorte par l'exécution de l'application 228, peut également être appelé une unité de commande de navigation à usage spécial 220. Les hommes de l'art se rendront compte que la fonctionnalité mise en place par le processeur 220 via l'exécution de l'application 228 peut également être mise en place par un ou plusieurs composants matériels et micro-logiciels conçus spécialement, comme des FPGA, ASIC et analogues dans d'autres modes de réalisation. [0042] La mémoire 222 peut également stocker un référentiel 232 contenant, par exemple, une ou plusieurs cartes de l'environnement dans lequel fonctionne l'appareil 103, pour une utilisation pendant l'exécution de l'application 228. L'appareil 103 peut communiquer avec le serveur 101, par exemple pour recevoir des instructions pour naviguer vers des emplacements spécifiés et initier des opérations de capture de données, via une interface de communication 224 sur la liaison 107 montrée dans la FIG. 1. L'interface de communication 224 permet également à l'appareil 103 de communiquer avec le serveur 101 via le socle 108 et la liaison 109. [0043] La fonctionnalité des applications 128 et 154 va être décrite à présent plus en détail. En particulier, la génération d'informations de tâche et de navigation pour déploiement au dispositif client 105 à partir du serveur 101, ainsi que le traitement des informations susmentionnées au dispositif client 105, vont être décrits. [0044] S'agissant de la FIG. 3, un procédé 300 de génération et de déploiement d'informations d'assistance à la navigation est montré. Comme illustré dans la FIG. 3, certains blocs du procédé 300 sont réalisés par le serveur 101, tandis que d'autres blocs du procédé 300 sont réalisés par le dispositif client 105. Dans d'autres modes de réalisation, le serveur 101 peut être configuré pour réaliser certains blocs montrés dans la FIG. 3 comme étant réalisés par le dispositif client 105. Dans d'autres modes de réalisation encore, le dispositif client 105 peut être configuré pour réaliser certains blocs montrés dans la FIG. 3 comme étant réalisés par le serveur 101. [0045] Au bloc 305, le serveur 101 est configuré pour obtenir une ou plusieurs définitions d'ancrage, pour stockage dans la mémoire 122 (par ex. dans le référentiel 132). Les définitions d'ancrage peuvent être obtenues au serveur 101 pendant le déploiement initial du système 100 dans l'installation. En général, une définition d'ancrage comporte des données définissant une position à l'intérieur de l'installation. La position, dans la présente discussion, correspond à un emplacement selon le cadre global de référence 102, ainsi qu'à une orientation (par ex. angles de lacet, de tangage et de roulis à l'emplacement susmentionnée). Chaque définition d'ancrage comporte également un ensemble de particularités correspondant à des caractéristiques physiques de l'installation à la position susmentionnée. En d'autres termes, une définition d'ancrage 11 définit diverses caractéristiques de l'installation lorsqu'elles sont observées depuis la position d'ancrage. Comme nous le verrons plus loin, l'utilisation d'une définition d'ancrage permet par conséquent à d'autres dispositifs informatiques, comportant le dispositif client 105, de détecter au moins une portion de l'ensemble de particularités contenues dans la définition d'ancrage. Le dispositif client 105 peut ainsi déterminer une position actuelle du dispositif client 105 à la fois globalement (c.-à-d. selon le cadre de référence 102) et localement, par rapport à la position d'ancrage. [0046] Les définitions d'ancrage peuvent être obtenues de façons variées au bloc 305. Dans certains exemples, chaque définition d'ancrage est générée par un dispositif de capture de données mobile, comme un dispositif client 105 ou l'appareil 103. En particulier, le dispositif de capture de données mobile est placé (manuellement ou via une navigation autonome ou semi-autonome) à une position connue selon le cadre de référence 102. La position connue correspond à la position d'ancrage mentionnée ci-dessus. Le dispositif de capture de données mobile est ensuite configure pour capturer des données à partir de la position d'ancrage. La nature des données capturées n'est pas particulièrement limitée. Dans le présent exemple, les données capturées comportent des données d'image représentant des structures physiques à l'intérieur de l'installation tout autour de la position d'ancrage. Autrement dit, le dispositif de capture de données mobile comporte un capteur d'images configure pour capturer une ou plusieurs trames d'image à partir de la position d'ancrage sélectionnée. Les données capturées pour une utilisation dans la génération d'une définition d'ancrage peuvent comporter également des données de balayage de profondeur, par exemple, acquises via un lidar ou une caméra de profondeur. Dans des exemples supplémentaires, les données capturées peuvent comporter des indicateurs de proximité comme des signatures de points d'accès sans fil (par ex. un ou plusieurs indicateurs d'intensité de signal reçu (RSSI) et un temps d'aller-retour (RTT) pour chacun (l'une pluralité de points d'accès détectés depuis la position d'ancrage), et/ou des signatures de balises (par ex. un ou plusieurs identifiants de balises détectables depuis la position d'ancrage, tels des identifiants de balises à Bluetooth à faible consommation d'énergie (BLE), des identifiants d'émetteur à communication visuelle par lumière (VLC), et analogues). [0047] Suivant la capture de données telle qu'elle a été décrite ci-dessus, un ensemble de particularités est extrait des données capturées, pour stockage (parallèlement à la position d'ancrage) comme définition d'ancrage. Une grande variété de particularités peut être extraite pour générer l'ensemble de particularités. Dans le cas de données d'image capturées, les particularités peuvent comporter toute combinaison appropriée de constructions géométriques comme des lignes, des plans et des polygones, extraites via l'exécution d'opérations de détection de bord et de plan appropriés (par ex. un consensus d'échantillon aléatoire (RANSAC), des filtres de Sobel, et analogues). Les 12 particularités extraites des données d'image peuvent comporter également des histogrammes de couleur et/ou de luminosité. L'extraction de particularités peut être réalisée au dispositif de capture mentionné ci-dessus, ou au serveur 101 à la réception des données capturées à partir du dispositif de capture. Suivant la capture de données et l'extraction de particularités, l'ensemble de particularités est stocké parallèlement à la position d'ancrage global comme définition d'ancrage dans la mémoire 122 (par ex. dans le référentiel 132). [0048] Les FIG. 4A et 4B illustrent la génération d'un exemple de définition d'ancrage. En particulier, la FIG. 4A illustre une vue aérienne d'une installation 400 comme une installation de vente au détail contenant une pluralité de rangées 404-1, 404-2, 404-3, 404 4.404-5, 404-6 et 404-7 de modules d'étagères formant des allées. Comme on l'a vu dans la FIG. 4A, chaque rangée 404 occupe une région de l'installation 400, qui peut être exprimée comme un ensemble de coordonnées dans le cadre global de référence 102. Une position d'ancrage 408 est également montrée dans la FIG. 4A, définie par un emplacement (par ex. le centre de l'élément circulaire de la position d'ancrage 408) et une orientation (par ex. la direction indiquée par la flèche de la position d'ancrage 408). [0049] La FIG. 4B illustre des données d'image 412 capturées par un dispositif de capture de données mobile (par ex. l'appareil 103 ou le dispositif client 105) pendant la création de la définition d'ancrage. En particulier, les données d'image 412 comportent une trame d'image capturée depuis la position d'ancrage 408, et représentant une tête de gondole. La tête de gondole comporte des étagères 416-1 et 416-2 portant des étiquettes 418, ainsi qu'une région de panneau perforé portant des étiquettes 420 (par ex. monté sur l'extrémité de chevilles pour supporter des produits). De plus, la tête de gondole comporte un identifiant d'allée, comme un signe 424 monté en haut de la tête de gondole. [0050] Le dispositif de capture de données, ou le serveur 101, sont configurés pour extraire des particularités des données d'image 412. Dans le présent exemple, un ensemble de particularités comportant trois particularités 428-1, 428-2 et 428-3 est extrait des données d'image 412 pour stockage comme définition d'ancrage (parallèlement à la position d'ancrage 408). Comme illustré dans la FIG. 4A, la particularité 428-1 comporte les bords du signe d'identifiant d'allée 424, ainsi qu'une chaîne de caractères définissant l'identifiant d'allée lui-même. La particularité 428-1 définit les positions et dimensions relatives des bords et de la chaîne de caractères. La particularité 428-2 comporte des bords, définis par leurs dimensions et positions relatives, des étiquettes 420 supportées sur le panneau perforé mentionné ci-dessus. Les particularités 482-3, pour leur part, comportent les bords des étagères 416-1 et 416-2, définis par leurs dimensions et positions relatives. L'ensemble de particularités peut également stocker les 13 positions relatives des particularités 428 les unes par rapport aux autres (par ex. une position du centre de la particularité 428-1 par rapport au centre de la particularité 428-3). [0051] Dans un autre exemple, une définition d'ancrage peut être générée en capturant une ou plusieurs images corne montré dans la FIG. 4B au dispositif 105. Le dispositif 105 peut être en outre configure pour détecter une définition de premier plan correspondant à un plancher de et une définition de deuxième plan (également appelé un plan d'étagère) sur la base de l'un parmi les étiquettes 420 et les bords d'étagères 416, ou les deux. Comme nous allons maintenant le voir, le plan de plancher et le plan d'étagère détectés, comme indiqué ci-dessus, sont sensiblement orthogonaux l'un à l'autre. De plus, le dispositif 105 peut être configure pour capturer et décoder un indice comme un code à barres à partir d'au moins l'une des étiquettes 420. L'emplacement de l'étiquette 420 à partir de laquelle le code à barres a été capturé, par rapport au plan de plancher et au plan d'étagère, peut être fourni au serveur, où un emplacement global pour le code à barres est stocké (par ex. dans un planogramme). Ainsi, une position globale d'ancrage est attribuée à l'ancre sur la base de l'emplacement prédéfini du code à barres, et la définition d'ancrage comporte les définitions des plans de plancher et d'étagère par rapport à l'emplacement du code à barres. Un dispositif mobile (par ex. le dispositif 105, l'appareil 103 ou analogues) est par conséquent en mesure de déterminer son emplacement global actuel et son orientation actuelle en détectant les plans et en capturant le code à barres. [0052] Une grande variété d'autres particularités peut également être extraite des données capturées parallèlement aux données d'image 412. Comme noté ci-dessus, chaque particularité peut comporter une liste de points d'accès RSSI et/ou de valeurs RTT, une liste d'identifiants de balises, et analogues. [0053] Le processus ci-dessus peut être répété pour n'importe quel nombre souhaité de dé- finitions d'ancrage. Dans des installations comportant des rangées d'étagères, comme les rangées 404 montrées dans la FIG. 4A, le serveur 101 peut être fourni avec au moins une définition d'ancrage par rangée 404. Par exemple, deux définitions d'ancrage peuvent être créées pour chaque rangée 404, correspondant chacune à l'une des deux têtes de gondole de la rangée 404. Dans d'autres exemples, un nombre plus petit ou plus grand de définitions d'ancrage peut être généré pour la mise à disposition au serveur 101. En général, un plus grand nombre de définitions d'ancrage peut améliorer la précision des fonctions d'assistance à la navigation effectuées par le serveur 101 et le dispositif client 105 comme décrit ci-dessous, au prix d'une augmentation des besoins de stockage de données et de la charge de calcul. Inversement, un plus petit nombre de définitions d'ancrage peut réduire la contrainte de calcul sur le serveur 101 et/ou le dispositif client 105, tout en réduisant potentiellement la précision 14 des fonctions d'assistance à la navigation. [0054] S'agissant de la FIG. 3 de nouveau, au bloc 310, le serveur 101 est configure pour obtenir une ou plusieurs définitions de tâches. Les définitions de tâches contiennent des données définissant des tâches à réaliser à l'intérieur de l'installation, par exemple pour corriger ou dans le cas contraire mettre à jour les informations de statut susmentionnées déterminées par le serveur 101 par rapport aux produits ou à d'autres objets dans l'installation. Les définitions de tâches peuvent par conséquent être obtenues au bloc 310 en générant les définitions de tâches au serveur 101 lui-même. Dans d'autres exemples, une ou plusieurs définitions de tâches peuvent être reçues au serveur 101 au bloc 310, par exemple à partir du dispositif client 105. Entre autres, un opérateur du dispositif client 105 peut manipuler le dispositif client 105 pour transmettre des informations de statut de produit au serveur 101 (par ex. indiquant qu'un produit dans un emplacement spécifié est en rupture de stock et nécessite la réalisation d'une tâche de réapprovisionnement). [0055] Chaque définition de tâche comporte une position de tâche et des données de super- position de tâches (que l'on peut également désigner par contenu de tâche). Les données de superposition de tâches, comme nous le verrons plus loin plus en détail ci-dessous, sont ensuite présentées au dispositif client 105 pour assister un opérateur du dispositif client 105 dans la réalisation de la tâche correspondante. Les données de superposition de tâches peuvent comporter par conséquent un identifiant de produit, un identifiant de tâche (par ex. une chaîne de caractères indiquant quelle action ou séquence (l'actions doivent être réalisées par rapport à l'identifiant de produit), et analogues. La position de tâche définit un emplacement à l'intérieur de l'installation à laquelle la tâche indiquée par les données de superposition de tâches doit être réalisée. Dans le présent exemple, le serveur 101 est configuré pour générer des définitions de tâches avec une position globale de tâches, définissant l'emplacement de la tâche selon le cadre global de référence 102. Comme nous le verrons ci-dessous, cependant, les définitions de tâches sont ensuite mises à jour pour comporter des positions de tâche locales, définissant la position de la tâche par rapport à une position d'ancrage (par ex. la position d'ancrage 408). [0056] S'agissant de la FIG. 5A, un exemple de données de superposition de tâches 500 est montré pour une tâche générée par le serveur 101 au bloc 310 en réponse à la détection d'une étiquette incorrecte de prix dans l'installation 400 (par ex. à partir de données capturées par l'appareil d'automatisation mobile 103). Les données de superposition de tâches 500 comportent un modèle de superposition 502 ayant des champs 504, 506 et 508. Le modèle 502 peut être employé pour chaque définition de tâche générée par le serveur 101. Dans d'autres exemples, toutefois, il n'est pas nécessaire que les données de superposition de tâches 500 soient basées sur ce modèle partagé. [0057] Les données de superposition de tâches 500 comportent également un contenu cor- respondant aux champs 504, 506 et 508. En particulier, les données de superposition de tâches 500 comportent une image 514 représentant une portion d'une étagère à laquelle la tâche doit être réalisée. Les données de superposition de tâches 500 comportent également un descripteur de tâche, qui dans l'exemple illustré indique qu'une étiquette de prix incorrecte a été détectée (par ex. mise en surbrillance dans l'image 514) et doit être replacée. En outre, les données de superposition de tâches 500 comportent un identifiant de produit 518, tel un nom, un identifiant d'unité de stock (SKU), ou analogues. L'image 514, le descripteur de tâche 516 et l'identifiant de produit 518 sont configurés pour un rendu dans les champs 504, 506 et 508 respectivement au dispositif client 105, comme nous le verrons plus loin. La définition de tâche peut comporter diverses autres données de superposition dans d'autres exemples, comportant des instructions (par ex. de texte, audio, vidéo, ou multimédia) pour réaliser la tâche. [0058] S'agissant de la FIG. 5B, une tâche 520 définie par les données de superposition 500 est montrée à l'intérieur de l'installation 400. Le serveur 101 est configure pour générer une position de tâche selon le cadre de référence 102 au bloc 310, comme indiqué par le trait discontinu 524 (par ex. représentée par un ensemble de coordonnées dans le cadre de référence 102). Le serveur 101 est également configure, cependant, pour stocker une position de tâche locale dans la définition de tâche, qui indique la position de la tâche par rapport à une position d'ancrage plutôt qu'au cadre de référence 102. [0059] S'agissant de la FIG. 3 à nouveau, au bloc 315 le serveur 101 est configuré pour associer chaque définition de tâche obtenue au bloc 310 à au moins l'une des définitions d'ancrage obtenues au bloc 305. Le serveur 101 est configuré, sur la base de la position globale de la définition de tâche (par ex. la position 524 de la tâche 520 montrée dans la FIG. 5B), pour sélectionner l'une des définitions d'ancrage. Ayant sélectionné la définition d'ancrage, le serveur 101 est configuré pour déterminer une position de tâche locale de la tâche par rapport à la position d'ancrage, sur la base des positions globales de la tâche et de la définition d'ancrage sélectionnée. [0060] En se référant de nouveau à la FIG. 5B, une deuxième position d'ancrage 528 est montrée, correspondant à un bout de la rangée 404 adjacent au bout correspondant à la position d'ancrage 408. Au bloc 315, le serveur 101 est configuré pour sélectionner l'une des positions d'ancrage 408 et 528 (plus spécialement, l'une des définitions d'ancrage contenant les positions d'ancrage 408 et 528). Par exemple, le serveur 101 peut être configuré pour sélectionner la définition d'ancrage ayant la position d'ancrage la plus proche de la position globale de la tâche 520. Dans d'autres exemples, le serveur 101 peut être configuré pour appliquer un ou plusieurs critères additionnels à la sélection d'ancrage au bloc 315. Par exemple, lorsque l'installation 400 16 contient des rangées 404 d'étagères, comme c'est le cas dans l'exemple illustré, le serveur 101 peut être configuré pour faire une sélection uniquement à partir d'ancres associés à la rangée sur laquelle la tâche 520 est localisée. Dans l'exemple illustré, le serveur 101 sélectionne la définition d'ancrage contenant la position d'ancrage 408 pour association à la tâche 520. Le serveur 101 détermine ensuite la position de tâche locale 532, définissant la position de la tâche 520 par rapport à la position d'ancrage 408 plutôt que par rapport au cadre de référence 102. La définition de tâche est mise à jour avec la position de tâche locale 532 (la position globale de tâche peut être retenue dans la définition de tâche, mais peut également être rejetée) et un identifiant de la définition d'ancrage correspondante. Dans d'autres exemples, une tâche peut être associée à plus d'une définition d'ancrage. Par exemple, si des définitions d'ancrage correspondant aux deux têtes de gondole des rangées 404 sont obtenues au bloc 305, toute tâche générée le long d'une rangée 404 donnée peut être associée aux deux définitions d'ancrage correspondantes. Autrement dit, la définition de tâche peut être mise à jour avec deux positions de tâche locales et identifiants de définition d'ancrage. [0061] En se référant de nouveau à la FIG. 3, au bloc 320 le dispositif client 105 est configure pour mettre à jour un emplacement global du dispositif client 105. L'emplacement global du dispositif client 105, dans le cadre de référence 102, peut être mis à jour selon l'un quelconque d'une variété mécanismes de localisation appropriés. Par exemple, le dispositif client 105 peut être configuré pour fournir des données de mouvement provenant du capteur de mouvement 164 comme une entrée à un filtre Kalman ou un autre algorithme de localisation approprié. Le dispositif client 105 peut également être configuré, dans certains exemples, pour employer des données de proximité comme des valeurs RSSI et/ou des valeurs RTT détectées en association avec des points d'accès sans fil, des balises ou analogues, afin de mettre à jour l'emplacement global au bloc 320. La mise à jour de l'emplacement du dispositif 105 peut également être réalisée par détection d'une ancre, si le dispositif 105 a été précédemment fourni avec une ou plusieurs définitions d'ancrage. [0062] Au bloc 325, le dispositif client 105 est configuré pour déterminer s'il faut rapporter l'emplacement global du bloc 320 au serveur 101. Par exemple, le dispositif client 105 peut être configuré pour rapporter sont emplacement global au serveur 101 périodiquement (par ex. toutes les dix secondes) et la détermination au bloc 325 peut être le fait de déterminer si la période configurée s'est écoulée depuis le rapport d'emplacement précédent au serveur 101. Lorsque la détermination au bloc 325 est négative, le dispositif client 105 continue de mettre à jour l'emplacement global au bloc 320. [0063] Lorsque la détermination au bloc 325 est affirmative, le dispositif client 105 envoie son emplacement global actuel (c.-à-d. dans le cadre de référence 102) au serveur 101 17 au bloc 330. Le dispositif client 105 continue généralement à mettre à jour l'emplacement global et à rapporter périodiquement l'emplacement global parallèlement au reste du procédé 300. [0064] Au bloc 335, le serveur 101 est configuré pour recevoir l'emplacement global du dispositif client 105. Au bloc 340, le serveur 101 est configuré pour déterminer s'il faut attribuer une ou plusieurs tâches au dispositif client 105. Dans le présent exemple, la détermination au bloc 340 est basée sur l'emplacement global du dispositif client 105. Spécialement, le serveur 101 est configuré pour attribuer une tâche au dispositif client 105 sur la base de la proximité entre l'emplacement du dispositif client 105 actuel (c.-à-d. le plus récemment rapporté) et la position globale de la tâche. Dans les exemples où la position globale de tâche n'est pas retenue suivant la réalisation du bloc 315, le serveur 101 est configuré pour attribuer des tâches aux dispositifs clients 105 sur la base de la proximité entre l'emplacement du dispositif client 105 et la position d'ancrage (tous deux dans le cadre de référence 102). [0065] Dans d'autres exemples, la détermination au bloc 340 peut se faire sur la base d'autres facteurs en plus de l'emplacement du dispositif client 105, et dans certains exemples la détermination au bloc 340 est indépendante de l'emplacement du dispositif client 105. Par exemple, le serveur 101 peut être configuré pour attribuer des tâches aux dispositifs clients 105 en se basant sur le fait de savoir si chaque dispositif client 105 s'est vu ou non attribuer une tâche, indépendamment de l'emplacement du dispositif client 105. [0066] D'autres exemples de critères évalués par le serveur 101 au bloc 340 comportent des capacités du dispositif client 105 ou d'un opérateur associé (par ex. identifié via des données d'accès fournies au dispositif d'entrée 156). Par exemple, le serveur 101 peut maintenir une liste de dispositifs clients 105 et des capacités d'entrée et de sortie associées, comme une indication précisant si un dispositif client 105 comporte une imprimante d'étiquette appropriée pour finaliser une tâche de correction d'étiquette de prix. Ainsi, le descripteur de tâche et les capacités de dispositif client, en plus ou au lieu d'un emplacement de dispositif client, peuvent être évalués par le serveur 101 au bloc 340. [0067] Lorsque la détermination au bloc 340 est négative, le serveur 101 est configuré pour réserver des rapports d'emplacement supplémentaires provenant du dispositif client 105, et peut également obtenir des définitions de tâches additionnelles (par ex. en réponse à des activités de collection supplémentaires par l'appareil d'automatisation mobile 103). Lorsque la détermination au bloc 340 est toutefois affirmative, au bloc 345, le serveur 101 est configuré pour sélectionner au moins l'une des définitions de tâches obtenues au bloc 310 selon l'un quelconque des critères notés ci-dessus, et pour envoyer la définition de tâche et la définition d'ancrage associée (c.-à-d. la définition 18 d'ancrage associée à la définition de tâche au bloc 315) au dispositif client 105. Ainsi, au bloc 345 le serveur 101 est configuré pour transmettre au moins une définition de tâche, contenant les données de superposition de tâches et la position de tâche locale, ainsi que la définition d'ancrage selon laquelle la position de tâche locale est définie, au dispositif client 105. [0068] Au bloc 350, le dispositif client 105 est configuré pour recevoir et stocker les dé- finitions de tâche et d'ancrage dans la mémoire 152. Le dispositif client 105 est également configuré pour initier un processus d'assistance à la navigation au bloc 350. Dans le présent exemple, le dispositif client 105 est configuré pour capturer une séquence d'images en utilisant la caméra 158 en réponse à la réception de la tâche et des définitions d'ancrage. La séquence d'images est employée par le dispositif client 105 pour détecter l'ensemble de particularités correspondant à la définition d'ancrage reçue au bloc 350. [0069] Au bloc 355, le dispositif client 105 est configuré pour présenter un message-guide d'ancrage, par ex. sur le dispositif d'affichage 160 (bien que des messages-guides puissent également être présentés via d'autres dispositifs de sortie, comme des message-guides audibles via un haut-parleur). Le message-guide présenté au bloc 355 indique la direction et éventuellement la distance entre la position globale actuelle du dispositif client 105 et la position globale de la définition d'ancrage reçue au bloc 350. En se référant brièvement à la FIG. 5B, une position actuelle 536-1 du dispositif client 105 est illustrée. S'agissant de la FIG. 6, un message-guide d'ancrage 600 est montré tel qu'il est présenté sur le dispositif d'affichage 160 du dispositif client 105. En particulier le dispositif client 105 présente non seulement le message-guide d'ancrage 600, mais également la séquence d'images dont une capture a été initiée au bloc 350. Ainsi, le dispositif d'affichage 160 présente également une image 604 provenant de la séquence d'images, représentant le champ de vision actuel de la caméra 158. Comme nous allons maintenant le voir, le message-guide d'ancrage 600 indique la direction de déplacement qui doit arriver à la position d'ancrage 408 (qui est adjacente à la tête de gondole de la rangée 404). [0070] Au bloc 360, le dispositif client 105 est configuré pour déterminer si l'ensemble de particularités de la définition d'ancrage reçues au bloc 350 a été détecté dans une ou plusieurs images de la séquence d'images capturées en utilisant la caméra 158. Autrement dit, le dispositif client 105 est configuré, pour chaque image de la séquence d'images, pour identifier des particularités candidates comme des plans, des lignes, des points et analogues, et pour déterminer si les particularités candidates identifiées correspondent à l'une quelconque des particularités dans l'ensemble de particularités de la définition d'ancrage reçue au bloc 350. [0071] Dans le présent exemple de réalisation du procédé 300, on suppose que les parti- 19 cularités 428-1, 428-2 et 428-3, telles qu'elles sont montrées dans la FIG. 4B ne sont pas détectées dans l'image 604 présentée dans la FIG. 6. Le dispositif client 105 retourne par conséquent au bloc 355, et continue de présenter le message-guide d'ancrage 600, mettant à jour l'orientation du message-guide d'ancrage selon la position globale du dispositif client 105 par rapport à la position globale d'ancrage 408. S'agissant de la FIG. 7A, une position de mise à jour 536a du dispositif client 105 est montrée adjacente au bout de la rangée 404-3. La FIG. 7B illustre une image 700 dans la séquence d'images dont la capture a été initiée au bloc 350. Comme il ressort de la FIG. 7B, les particularités 428 de la définition d'ancrage sont décelables dans l'image 700. La détermination au bloc 360 est par conséquent affirmative. En outre, des distorsions entre les particularités 428 telles qu'elles sont représentées dans l'image 700 et les particularités 428 telles qu'elles sont définies dans la définition d'ancrage montrée dans la FIG. 4B permettent au dispositif client 105 de déterminer la position du dispositif client 105 relativement à la position d'ancrage 408. [0072] En d'autres termes, la détection de l'ancre au bloc 360 amène le dispositif client 105 à initier un mode de navigation locale au bloc 365, dans lequel le dispositif client 105 est configure pour déterminer et mettre à jour une position de dispositif locale par rapport à la position d'ancrage 408. Le dispositif peut continuer à mettre à jour l'emplacement global mentionné ci-dessus en relation avec le bloc 320, mais les blocs restants du procédé 300 sont réalisés par le dispositif client sur la base de la position de dispositif locale, qui peut être sujette à des erreurs réduites (par ex. des erreurs résultant d'une dérive dans le capteur de mouvement 164) en comparaison à l'emplacement global du dispositif client 105. Le mode de navigation local comporte l'utilisation de non seulement le capteur de mouvement 164 et de l'interface de communication 162 (pour détecter des signatures de points d'accès sans fil), mais également de la caméra 158 et en particulier la séquence d'images dont la capture a été initiée au bloc 350. Spécialement, le dispositif client 105 peut être configuré pour détecter des particularités transitoires dans un sous-ensemble des images (par ex. des plans, des lignes, des points et analogues) et pour pister des changements dans des positions de ces particularités transitoires dans les images tant que les particularités transitoires restent visibles. Le dispositif client 105 est ensuite configuré, sur la base de changements détectés dans une position des particularités transitoires entre des images dans la séquence, pour mettre à jour la position de dispositif locale. [0073] La FIG. 8A illustre une vue aérienne supplémentaire de l'installation 400, suivant un déplacement du dispositif client 105 vers une position supplémentaire 536b. Le dispositif client 105 est configuré pour maintenir une position de mise à jour de dispositif local 800 par rapport à la position d'ancrage 408 (par ex. employer la position d'ancrage 408 comme origine d'un cadre de référence local). Au bloc 370 le dispositif client 105 est configure pour présenter un message-guide de tâche, indiquant une direction de déplacement et éventuellement une distance à la position de tâche, détermine selon la position de tâche spécifiée dans la définition de tâche et la position de dispositif locale 800. La FIG. RB illustre un message-guide de tâche 804 présenté sur le dispositif d'affichage 160 parallèlement à une image 808 de la séquence susmentionnée. Des exemples des particularités transitoires notées ci-dessus sont également montres dans la FIG. 8B, celles-ci étant employées pour navigation locale. En particulier, un bord d'étagère 812 et un produit 816 peuvent être identifies par le dispositif client 105 dans l'image 808 ainsi qu'une image ultérieure. En se basant sur des changements dans les positions du bord d'étagère 812 et le produit 816 entre les images, le dispositif client 105 peut déterminer une position locale mise à jour. [0074] En se référant de nouveau à la FIG. 3, au bloc 375 le dispositif client 105 est configure pour déterminer si la position de tâche est dans un champ de vision du dispositif client 105. La détermination au bloc 375 est faite en se basant sur la position de tâche (qui est une position locale, définie par rapport à la position d'ancrage 408) et la position de dispositif locale, ainsi que sur une définition de champ de vision stockée dans la mémoire 152. Un exemple de champ de vision 820 est montré dans la FIG. RA, et peut correspondre au champ de vision de la caméra 158. Comme il ressort clairement de la FIG. 8A, la position de tâche 520 n'est pas à l'intérieur du champ de vision 820, et la détermination au bloc 375 est par conséquent négative. Suivant une détermination négative au bloc 375, le dispositif client 105 est configure pour retourner au bloc 370 afin de mettre à jour le message-guide de tâche sur la base de la position locale actuelle de dispositif. Le bloc 375 est ensuite répété. [0075] Lorsque la détermination au bloc 375 est affirmative, la réalisation du procédé 300 passe au bloc 380. S'agissant de la FIG. 9A, une vue aérienne supplémentaire de l'installation 400 est montrée, où le dispositif client 105 s'est en outre avancé dans l'allée contenant la tâche 520, vers une position 536c, pistée au dispositif client 105 à une position de dispositif locale 900. Le dispositif client 105 a également été réorienté vers la rangée 404-3 d'étagères, et la détermination au bloc 375 est affirmative (la position de tâche 520 tombe à l'intérieur du champ de vision 820). Au bloc 380, par conséquent, le dispositif client 105 est configure pour présenter les données de superposition de tâches sur le dispositif d'affichage 160 parallèlement à la séquence d'images susmentionnée. En d'autres termes, les données de superposition de tâches sont présentées sur le dispositif d'affichage comme une superposition de réalité augmentée (c.-à-d. un objet virtuel) sur le flux d'images capturées par la caméra 158. [0076] La FIG. 9B illustre une réalisation de bloc 380, avec le dispositif client 105 à la position 536c montrée dans la FIG. 8A. En particulier, une image 904 provenant de la séquence initiée au bloc 350 est présentée sur le dispositif d'affichage 160, paral- 21 lèlement à la superposition d'objet virtuel 908 contenant les données de superposition de tâches 500 indiquées plus haut en relation avec la FIG. SA. La réalisation du procédé 300 permet ainsi au dispositif client 105 d'aider un opérateur du dispositif client 105 à localiser une position de tâche à l'intérieur de l'installation, et à réaliser la tâche correspondante. [0077] Des variations des systèmes et procédés ci-dessus sont envisagées. Par exemple, dans certains modes de réalisation la position de dispositif locale mentionnée ci-dessus en relation avec le bloc 365 peut être présentée, par ex. sur le dispositif d'affichage 160 du dispositif client 105, même en l'absence d'une définition de tâche. Par exemple, le dispositif 160 peut être configure, suite à la détection d'une ancre comme la tête de gondole montrée dans la FIG. 7B, pour présenter une carte de l'installation, ou une portion de celle-ci (par ex. une carte de l'allée correspondante). Superposé sur la carte, le dispositif 105 peut être configure pour présenter une indication de l'emplacement du dispositif 105, tel que détermine au bloc 365. [0078] Comme mentionne précédemment, les définitions de tâches obtenues par le serveur 101 au bloc 310 peuvent être reçues à partir du dispositif client 105. En particulier, dans certains modes de réalisation le dispositif client 105 est configure pour mettre à jour un emplacement global comme au bloc 320, et pour recevoir des définitions d'ancrage comme indique ci-dessus en relation avec le bloc 350. Toutefois, le dispositif client 105 n'a pas besoin de recevoir les définitions de tâches. Au lieu de cela, après avoir détecté une ancre au bloc 360, comme une gondole d'une allée (par ex. comme montré dans la FIG. 7B), le dispositif client 105 est configure pour initier une navigation locale et pour capturer un ou plusieurs codes à barres ou autres indices. [0079] Les indices capturés par le dispositif client 105 correspondent à des étiquettes sur les étagères 110 nécessitant une ou plusieurs tâches (par ex. réapprovisionner un produit, coniger un prix sur l'étiquette, ou analogues). Le dispositif client 105 est configure pour déterminer un emplacement de chaque indice balayé en se basant la navigation locale et l'emplacement global du dispositif client 105 lui-même, ainsi que sur l'emplacement de l'indice par rapport au dispositif client 105. Par exemple, l'emplacement relatif de l'indice peut être déterminé à partir d'une image de l'indice sur la base de paramètres de calibrage de la caméra 158 parallèlement à des dimensions de l'indice dans l'image. [0080] Ayant localisé l'indice balayé dans l'installation (c.-à-d. par rapport au cadre de référence 102), le dispositif client 105 peut être configure pour recevoir des données d'entrée définissant des données de superposition de tâches, comme une indication du type de tâche à réaliser (par ex. réapprovisionnement). L'emplacement de l'indice correspond à la position de tâche susmentionnée, et est transmis parallèlement aux données de superposition de tâches au serveur 101 pour stockage comme une dé- finition de tâche. [0081] Dans des modes de réalisation supplémentaires, comme note plus haut, le serveur 101 peut être configure pour réaliser certains blocs montrés dans la FIG. 3 comme étant réalises par le dispositif client 105, et/ou le dispositif client 105 peut être configure pour réaliser certains blocs montres dans la FIG. 3 comme étant réalisés par le serveur 101. Par exemple, dans un autre mode de réalisation, le serveur 101 peut être configure pour déterminer un emplacement du dispositif client 105 au bloc 320. Les blocs 325, 330 et 335 peuvent par conséquent être omis. Le serveur 101 peut également être configure pour recevoir des données d'image capturées par le dispositif client 105 et y détecter des ancres. En d'autres termes, plutôt que d'envoyer des définitions de tâche et d'ancrage au dispositif client 105 au bloc 345, le serveur 101 est configure pour sélectionner les définitions de tâche et d'ancrage, et le dispositif client 105 est configure pour capturer et envoyer des images au serveur 101 au bloc 350. Le serveur 101, à son tour, est configure pour générer et envoyer un message-guide d'ancrage au dispositif client 105 pour présentation au bloc 355, et afin qu'il réalise la détermination au bloc 360. Le serveur 101 peut être en outre configure pour réaliser le traitement associe à la navigation locale au bloc 365, et pour générer et envoyer le message-guide de tâche au dispositif client 105 pour présentation au bloc 370. De plus, le serveur 101 peut être configure pour réaliser la détermination au bloc 375 (sur la base des images capturées reçues à partir du dispositif client 105) et pour générer et envoyer la superposition de tâches pour présentation par le dispositif client 105 au bloc 380. [0082] Dans la spécification qui précède, des modes de réalisation spécifiques ont été décrits. Cependant, une personne qui possède des compétences ordinaires en la matière appréciera que diverses modifications et changements puissent être apportées sans s'écarter de la portée de l'invention telle qu'elle est exposée dans les revendications ci-dessous. En conséquence, la spécification et les figures doivent être considérées dans un sens illustratif plutôt que restrictif, et toutes ces modifications sont destinées à être incluses dans la portée des enseignements actuels. [0083] Les bienfaits, les avantages, les solutions aux problèmes et tout élément susceptible d'entraîner tout bienfait, avantage, solution ou d'en accentuer l'importance ne doivent pas être interprétés comme des particularités ou des éléments cruciaux, requis, ou essentiels de l'une ou l'autre des revendications. L'invention est définie uniquement par les revendications jointes, y compris tout amendement apporté pendant l'existence de la présente demande et tous les équivalents de ces revendications tels qu'ils sont délivrés. [0084] De plus, dans le présent document, des termes relationnels tels que premier et deuxième, haut et fond, etc., et analogues ne peuvent être utilisés que pour distinguer une entité ou une action d'une autre entité ou action sans nécessairement exiger ou 23 impliquer une relation ou un ordre actuels entre ces entités ou actions. Les termes « comprend », « comprenant »,