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 d'ITS-in-a-box. Le test de fusion des capteurs fait partie de la suite de tests d'image de l'appareil photo (Camera ITS) dans la suite de tests de compatibilité (CTS). Le contrôleur Android 13 permet l'automatisation en contrôlant l'éclairage du banc de test et le servomoteur pour les scènes de test nécessitant une rotation et un contrôle de l'éclairage.
Présentation du contrôleur Android 13
ITS-in-a-box fournit un environnement de test cohérent avec une distance fixe entre la tablette et le téléphone de test, ainsi qu'un éclairage constant sans source lumineuse externe. Le contrôleur Android 13 automatise le contrôle des servomoteurs et de l'éclairage, et élimine la nécessité de faire pivoter manuellement le DUT pour les tests 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 des servomoteurs et de l'éclairage dans les bancs d'essai
Le banc d'essai de fusion de capteurs fournit un mouvement fixe du téléphone pour des tests reproductibles. Le téléphone est tourné devant une mire 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 de 90 degrés autour de l'axe central de la caméra, puis le remet en place en deux secondes environ. Pour test_video_stabilization, le servomoteur fait pivoter le téléphone de 10 degrés autour de l'axe central de la caméra, puis le remet en place, et ce à plusieurs reprises, pour imiter le mouvement du téléphone lors de l'enregistrement d'une vidéo en marchant. La figure 1 montre deux téléphones se déplaçant 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
Contrôle du servomoteur
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 contrôle positionnel. Le signal de commande a une période de 20 ms. Si vous définissez la largeur d'impulsion sur la largeur minimale, le moteur se déplace vers la position neutre. Si vous définissez la largeur d'impulsion sur la largeur maximale, le moteur effectue une rotation de 180 degrés dans le sens des aiguilles d'une montre.
Figure 3. Description typique du contrôle d'un servomoteur
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.
Le contrôleur Android 13 de révision 3.0 permet aux utilisateurs de désactiver la 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 le contrôleur.
Le contrôleur Android 13 peut fonctionner avec n'importe quelle Camera ITS-in-a-box. La manette Android 13 peut être connectée à n'importe quelle Camera ITS-in-a-box (RFoV, WFoV, modulaire) ou Sensor Fusion box pour effectuer des tests contrôlés de luminosité. À partir d'Android 15, tous les tests contrôlés par l'éclairage sont inclus dans scene_flash et peuvent être exécutés à l'aide de la boîte de fusion de capteurs, sauf scene_low_light, qui nécessite une tablette pour l'affichage des graphiques et doit être exécuté à l'aide de Camera ITS-in-a-box.
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 d'ITS-in-a-box allumées et éteintes par le contrôleur Android 13.
Figure 4. Lumières éteintes et allumées pour test_auto_flash
Historique des révisions
Le tableau suivant décrit l'historique des révisions du contrôleur Android 13 et inclut des liens de téléchargement vers chaque version des fichiers de production.
Date | Révision | Téléchargement des fichiers de production | Journal des modifications |
---|---|---|---|
Août 2024 | 3,0 |
|
|
Décembre 2022 | 2.2 |
|
|
Mars 2022 | 1 |
|
Configurer une manette Android 13
Cette section explique comment configurer une manette 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 circuit imprimé, de la nomenclature du circuit imprimé, d'informations sur l'emplacement du circuit imprimé et d'un fichier STEP du boîtier. Pour télécharger le fichier de production, consultez le tableau dans Historique des révisions.
Si vous créez votre propre contrôleur, vous devez disposer d'une carte Arduino UNO R3. Si vous achetez la manette auprès d'un fournisseur agréé, 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 du contrôleur, contactez un fournisseur qualifié.
Procédure de configuration
Pour configurer le contrôleur Android 13, procédez comme suit :
Connectez les adaptateurs 12 V (pour l'éclairage) et 5 V (pour le servomoteur) aux prises 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 Sensor Fusion box à l'une des prises de sortie du canal d'éclairage (figure 6). Selon l'utilisation du cylindre de l'alimentation de l'éclairage, utilisez un adaptateur si nécessaire (figure 7).
Figure 6. Emplacement de sortie des canaux d'éclairage
Figure 7. Adaptateur connectant l'alimentation de l'éclairage au contrôleur
Pour configurer les scènes sensor_fusion, connectez le servomoteur à l'un des connecteurs de canal de servomoteur.
Figure 8. Emplacement de la connexion Servo
Pour les manettes de révision 3.0, lorsque vous connectez la manette à un nouvel hôte, le commutateur de réinitialisation automatique doit être défini sur
Enable
.Pour la révision 3.0, le contrôleur inclut un commutateur de réinitialisation automatique qui peut être activé ou désactivé. Lors des tests, nous vous recommandons de régler le commutateur 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. C'est essentiel lors de l'exécution de tests en parallèle (ITS s'exécutant 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 de contrôleur Android 13 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
Le microcode peut être téléchargé sur l'UNO pour attribuer les broches PWM aux signaux du moteur et définir les plages de largeur d'impulsion pour différents angles. Le microcode pour le contrôle de la rotation des six servomoteurs HS-755MB est inclus dans Autres ressources. Cette section inclut également un lien vers un programme simple appelé rotator.py
, qui fait tourner les servomoteurs.
Utiliser le contrôleur Android 13
Utilisation de la suite ITS pour l'appareil photo :
python tools/run_all_tests.py device=device_id camera=0 rot_rig=arduino:1 scenes=sensor_fusion
Avec un script de test inclus :
python rotator.py --ch 1 --dir ON --debug