MISE EN OEUVRE TECHNOLOGIQUE

L’objectif de ce lot est d'intégrer les outils de BVS au sein d'une tête robotique de NAO.

Les étapes prévues sont tout d'abord la conception d'une carte de tests du système BVS, à relier à la carte visage d'une tête NAO. Par la suite, la validation de cette carte permettra de concevoir un design définitif pour l'intégration au sein même de la tête de NAO.

Système mis en oeuvre

Afin de pouvoir traiter deux flux vidéo à une cadence de 30 images par seconde chacun, BVS propose d'utiliser un simple BIPS à une cadence de 60 images par seconde, en alternant les flux provenant des yeux gauche et droit.

Cette approche nouvelle nécessite un effort d'adaptation des designs existants chez BVS.

Les deux flux vidéo provenant des imageurs étant en HD 960P, et les circuits BIPS étant limités en dimensions d'images, on se limitera au VGA dans le traitement du BIPS. L'utilisateur pourra sélectionner le mode de mise en forme de l'image: l'image pourra être redimensionnée en VGA, ou un recadrage sur une zone de 640*480 pixels permettra de traiter avec une précision maximale une portion de l'image d'entrée.

La liaison avec l'unité centrale du NAO se fera par PCI-Express pour les flux vidéo, en reprenant le design existant Aldebaran, et par USB pour les informations fournies par le BIPS, et la configuration du système.


juliette-architecture-systeme-retenue

Architecture du système


Avancement du design

D’abord les efforts se sont concentrés sur le design FPGA. Le FPGA originellement utilisé dans la tête du NAO, permettait de relier les imageurs au port PCI-Express de l'unité centrale. Ce Spartan-6 LX25T de Xilinx (XC6SLX25T-2CSG324C) permet a priori de déployer l'intégralité du design envisagé par BVS. 

L'utilisation actuelle par Aldebaran des broches du composant étant connue, les tests préliminaires sont faits en fonction de ces contraintes. Ainsi, l'adaptation de la carte PCI-Express sera facilitée.

Le design BVS est présenté plus en détail dans les illustrations suivantes. Le code couleur est le suivant : bleu = IP réalisée, orange = IP à faire ou à adapter/porter, gris = IP Aldebaran.


juliette-flux-video-imageurs

Flux vidéo, des imageurs aux BIPS

 

La Figure ci-dessus permet de visualiser les différentes IP utilisées pour la mise en forme du signal vidéo d'entrée du circuit BIPS. La totalité de ces IP ont été réalisées pour le Spartan 6 LX25T, et validées pour les cadences d'horloges visées. Le signal permettant de choisir entre redimensionnement et recadrage du flux HD provient de la commande par USB.

Le composant SDRAM envisagé, de Micron Technology, est un MT48LC2M32B2B5, dont le boitier VFBGA fait 8mm*13mm.

La sortie du BIPS pourra être envoyée à l'unité centrale par l'interface PCI-Express, afin de pouvoir récupérer la totalité des informations fournies par le BIPS.

Deux solutions sont proposées pour l'interface vidéo. La première, à gauche, propose une solution mettant en œuvre l'interface PCI-Express existante d'Aldebaran. Cette solution nécessite que l'interface PCI-Express puisse s'adapter à ce type de fonctionnement (le flux provenant du BIPS sera de résolution VGA). La seconde, à droite, présente un fonctionnement plus sain, nécessitant toutefois une adaptation de l'interface PCI-Express existante.


juliette-interface-video1  juliette-interface-video2

Interface vidéo vers l'unité centrale


Enfin, la figure ci-dessous présente l'interface USB, ou plus généralement le gestionnaire USB, qui reçoit par USB les commandes à destination du BIPS, ou des IP, et renvoie les informations qui lui parviennent du BIPS. Cette IP a été portée pour les FPGA Xilinx, il reste à lui ajouter les fonctionnalités de recadrage et de redimensionnement, qui ne sont pas intégrées pour le moment. La validation de cette interface dans les FPGA utilisés reste elle aussi à réaliser.


juliette-interface-usb

Interface USB


La carte de test

Afin de valider le fonctionnement du système de perception, une carte de tests est en cours de réalisation. La conception VHDL de cette carte est finalisée, et devrait permettre de tester le circuit avec divers points de contrôle permettant d'évaluer le respect des contraintes des signaux.

On peut voir sur la Figure ci-dessous la connexion USB avec l'ordinateur embarqué du robot pour les informations perceptives. La transmission des signaux vidéo bruts des imageurs et des éléments traités se fait par le connecteur principal, tout comme la carte déjà présente.


juliette-carte-test