Utilisation de GRIP avec un ordinateur de type Kangaroo

Un ordinateur récemment disponible appelé kangourou se présente comme une excellente plate-forme pour exécuter GRIP sur les robots FRC®. Voici quelques-unes des spécifications de ce processeur :

  • Processeur quad core 1.4Ghz Atom

  • Port HDMI

  • 2 ports USB (1 USB2 et 1 USB3)

  • 2 Go de RAM

  • Flash 32 Go

  • Emplacement pour carte flash

  • WiFi

  • Batterie avec 4 heures d’autonomie

  • Source d’alimentation

  • Windows 10

  • et un lecteur d’empreintes digitales

L’avantage de joindre un Kangaroo au RoboRio est qu’il décharge ce dernier du traitement d’image et comme il s’agit d’un système Windows normal, théroquement tous nos logiciels devraient fonctionner sans modification. Assurez-vous de lire les mises en garde à la fin de cette page avant de commencer.

Des instructions plus détaillées pour utiliser un Kangaroo afin d’exécuter GRIP peuvent être trouvées dans le document PDF suivant créé par Scott Taylor et FRC 1735. Son explication va au-delà de ce qui est montré ici, détaillant comment un programme GRIP pour automatiquement démarrer lors de la mise sous tension du robot et de nombreux autres détails.

Installation

../../../../_images/setup2.png

Un des avantages à propos de cette configuration est que vous avez juste besoin de brancher un moniteur, un clavier, une souris et (dans ce cas) la caméra Web Microsoft et vous êtes prêt à programmer le pipeline GRIP. Lorsque vous avez terminé, déconnectez le clavier, la souris et le moniteur et placez le Kangaroo sur votre robot. Vous devrez désactiver le WiFi sur le Kangaroo et le connecter au robot avec une clé USB Ethernet sur le port Ethernet supplémentaire de la radio du robot.

Dans cet exemple, vous pouvez voir l’ordinateur Kangaroo (1) connecté à un concentrateur USB (3), un clavier et un moniteur HDMI pour la programmation. Le concentrateur USB est connecté à l’appareil photo et à la souris.

Exemple de programme GRIP

../../../../_images/sample-grip-program.png

Vous trouverez ci-joint l’exemple de programme exécuté sur le Kangaroo détectant le cœur rouge sur le petit robot en mousse dans l’image (panneau de gauche). Il fait un seuil HSV pour obtenir uniquement cette couleur rouge, puis recherche les contours, puis filtre les contours en utilisant la taille et la solidité. À la fin du pipeline, les valeurs sont publiées sur NetworkTables.

Affichage du rapport des contours dans NetworkTables

../../../../_images/viewing-contours-report-in-networktables.png

Il s’agit de la sortie de « OutlineViewer » (<username>/WPILib/tools/OutlineViewer.jar), exécutée sur un autre ordinateur en tant que serveur (car il n’y a pas de roboRIO sur le réseau dans cet exemple) et des valeurs renvoyées pour le contour unique qui le programme a détecté qu’il répondait aux exigences de l’opération « Filter Contours ».

Considérations

Le Kangaroo fonctionne sous Windows 10, il faut donc veiller à ce que GRIP continue de fonctionner sur le robot pendant un match ou un test. Par exemple, le Kangaroo ne doit pas essayer de faire une mise à jour Windows, une actualisation de l’analyse antivirus, une mise en veille, etc. Une fois configuré, il a l’avantage d’être une architecture Intel normale et devrait donner des performances prévisibles puisqu’il n’exécute qu’une seule application.