Cette page explique comment assembler le contrôleur Android 13, qui contrôle le mouvement d'un banc d'essai de fusion de capteurs et l'éclairage pour ITS-in-a-box. Le test de fusion des capteurs fait partie de la suite de test des images de l'appareil photo (Camera ITS) de la suite de tests de compatibilité (CTS). Le contrôleur Android 13 permet l'automatisation en contrôlant l'éclairage du bras mécanique et le moteur de servocommande pour les scènes de test qui nécessitent une rotation et un contrôle de l'éclairage.
Présentation du contrôleur Android 13
L'ITS-in-a-box fournit un environnement de test cohérent avec une distance fixe entre la tablette de test et le téléphone de test, ainsi qu'un éclairage cohérent sans source lumineuse externe. Le contrôleur Android 13 automatise à la fois le contrôle des servomoteurs et le contrôle de l'éclairage, et élimine le besoin de faire pivoter manuellement le DUT pour les tests de scène de fusion de capteurs et d'allumer et d'éteindre manuellement les lumières pour les tests contrôlés par l'éclairage.
Contrôle du servo et de l'éclairage dans des plates-formes d'essai
Le support de test de fusion de capteurs fournit un mouvement fixe du téléphone pour des tests reproductibles. Le téléphone est pivoté devant une cible en damier pour permettre la capture d'images avec le téléphone à différentes positions. Pour test_sensor_fusion, le servomoteur fait pivoter le téléphone autour de l'axe du centre de la caméra de 90 degrés et inversement en environ deux secondes. Pour test_video_stabilization, le servomoteur fait pivoter le téléphone autour du centre de l'axe de la caméra de 10 degrés et inversement de manière répétée pour imiter le mouvement du téléphone lorsque vous filmez une vidéo en marchant. La figure 1 montre deux téléphones en mouvement dans un banc d'essai de fusion de capteurs. La figure 2 montre un téléphone en mouvement dans un banc d'essai de fusion de capteurs.
Figure 1 : Mouvement du téléphone dans le banc d'essai pour test_sensor_fusion
Figure 2. Mouvement du téléphone dans le banc d'essai pour test_video_stabilization
Commande de moteur servo
Les servomoteurs analogiques du banc d'essai sont des servomoteurs de position contrôlés à l'aide de la modulation de largeur d'impulsion (PWM). La figure 3 présente un exemple type de commande de position. La période du signal de commande est de 20 ms. Si vous définissez la largeur de la pulsation sur la largeur minimale, le moteur se déplace en position neutre. Si vous définissez la largeur de la pulsation sur la largeur maximale, le moteur se déplace de 180 degrés dans le sens des aiguilles d'une montre.
Figure 3. Description d'un contrôleur de servomoteur type
Contrôle de l'éclairage
Pour contrôler le mouvement du servomoteur et les lumières à l'aide d'un ordinateur hôte, le banc d'essai de fusion de capteurs nécessite une connexion USB. Le contrôleur Android 13 utilise une carte Arduino UNO R3 connectée par USB avec une carte de routage personnalisée (ou shield) montée dessus. Le contrôleur Android 13 peut contrôler jusqu'à trois servomoteurs de rotation de plates-formes de fusion de capteurs, et jusqu'à trois systèmes d'éclairage ITS-in-a-box ou une plate-forme de fusion de capteurs à partir d'un seul ordinateur hôte.
La version 3.0 du contrôleur Android 13 permet aux utilisateurs de désactiver le réinitialisation automatique lorsque le port série Arduino est ouvert via USB. La fonction de réinitialisation automatique est activée lorsque le contrôleur est branché sur un autre hôte ou utilisé pour d'autres cas de test. Les utilisateurs peuvent activer ou désactiver la réinitialisation automatique à l'aide d'un bouton physique sur la manette.
La manette Android 13 peut fonctionner avec n'importe quelle caméra ITS-in-a-Box. La manette Android 13 peut être connectée à n'importe quel ITS-in-a-box (RFoV, WFoV, modulaire) ou boîtier de fusion de capteurs pour effectuer des tests contrôlés par l'éclairage. À partir d'Android 15, tous les tests à luminosité contrôlée sont inclus dans scene_flash et peuvent être exécutés à l'aide de la boîte de fusion des capteurs, sauf scene_low_light, qui nécessite une tablette pour afficher les graphiques et qui doit être exécutée avec l'appareil photo ITS fourni dans la boîte.
Pour les tests dans scene_flash et scene_low_light, un environnement sombre avec les lumières éteintes est nécessaire pour déclencher la fonction de flash automatique sur les téléphones de test. La figure 4 montre les lumières de l'ITS-in-a-box qui sont éteintes et allumées par le contrôleur Android 13.
Figure 4. Voyants éteints et allumés pour test_auto_flash
Historique des révisions
Le tableau suivant décrit l'historique des révisions de la manette Android 13 et inclut des liens de téléchargement vers chaque version des fichiers de production.
Date | Révision | Téléchargement du fichier de production | Journal des modifications |
---|---|---|---|
Août 2024 | 3,0 |
|
|
Décembre 2022 | 2,2 |
|
|
Mars 2022 | 1 |
|
Configuration de la manette Android 13
Cette section explique comment configurer un contrôleur Android 13.
Composants requis
Vous pouvez acheter le contrôleur Android 13 auprès de l'un de nos fournisseurs qualifiés ou le créer vous-même. Le fichier de production se compose d'un fichier Gerber de PCB, de la nomenclature (BOM) du PCB, d'informations sur le placement du PCB et d'un fichier STEP de l'enveloppe. Pour télécharger le fichier de production, consultez le tableau de la section Historique des révisions.
Si vous créez votre propre manette, vous devez disposer d'une carte Arduino UNO R3. Si vous achetez la manette auprès d'un fournisseur qualifié, l'Arduino est inclus.
Le boîtier de la manette Android 13 est un composant facultatif, mais recommandé, qui protège la manette et bloque les ports USB inutilisés pour éviter les erreurs de configuration. Pour en savoir plus sur les tarifs et les options de cette manette, contactez un fournisseur qualifié.
Procédure de configuration
Pour configurer la manette Android 13, procédez comme suit:
Branchez les adaptateurs 12 V (pour l'éclairage) et 5 V (pour les servo) aux fiches d'alimentation appropriées (Figure 5).
Figure 5. Emplacement de l'adaptateur secteur
Connectez les voyants de votre ITS-in-a-box ou de votre boîtier Sensor Fusion à l'une des prises de sortie du canal d'éclairage (figure 6). Selon l'utilisation du connecteur de l'alimentation d'éclairage, utilisez un adaptateur si nécessaire (figure 7).
Figure 6. Emplacement de sortie des canaux d'éclairage
Figure 7. Adaptateur raccordant l'alimentation de l'éclairage à la télécommande
Pour configurer les scènes sensor_fusion, connectez le servo à l'un des en-têtes de connexion du canal servo.
Figure 8. Emplacement de la connexion du servo
Pour les contrôleurs de révision 3.0, lorsque vous connectez le contrôleur à un nouvel hôte, le bouton de réinitialisation automatique doit être défini sur
Enable
.Pour la version 3.0, le contrôleur inclut un bouton de réinitialisation automatique qui peut être activé ou désactivé. Lors des tests, nous vous recommandons de régler le bouton de réinitialisation automatique sur
Disable
pour éviter que toutes les lumières ne s'éteignent momentanément au début de chaque test, carits_base_test
établit la communication avec le contrôleur Arduino. Cela est essentiel lors de l'exécution de tests parallèles (ITS exécuté simultanément avec le système d'éclairage du banc d'essai connecté au même contrôleur).Figure 9. Bouton de réinitialisation automatique
Connectez la manette à l'hôte à l'aide d'un câble USB-A.
Figure 10. Port de connexion USB-A à l'hôte
La figure 11 montre un exemple de configuration du contrôleur Android 13 terminée pour un système d'éclairage et un servomoteur.
Figure 11 : Configuration de la manette Android 13 terminée
Contrôle logiciel depuis l'hôte
Vous pouvez télécharger un microcode sur l'UNO pour attribuer les broches PWM aux signaux du moteur et définir les plages de largeur de la période pour différents angles. Le micro-code pour le contrôle de la rotation des servos des six moteurs HS-755 Mo est inclus dans la section Autres ressources. Cette section inclut également un lien vers un programme simple appelé rotator.py
, qui fait pivoter les servos.
Utiliser la manette Android 13
Utilisation de la caméra ITS:
python tools/run_all_tests.py device=device_id camera=0 rot_rig=arduino:1 scenes=sensor_fusion
Avec le script de test inclus:
python rotator.py --ch 1 --dir ON --debug
Téléchargements de logiciels de contrôle
- Microcode Arduino pour Android 11 ou version ultérieure
VarSpeedServo_and_lighting_control.ino
- Code de test de contrôle Python
rotator.py