Controller für Android 13

Auf dieser Seite wird beschrieben, wie Sie den Android 13-Controller zusammenbauen, der die Bewegung für einen Sensor-Fusion-Prüfstand und die Beleuchtung für ITS-in-a-Box steuert. Der Sensor-Fusion-Test ist Teil der Camera Image Test Suite (Camera ITS) in der Compatibility Test Suite (CTS). Der Controller für Android 13 ermöglicht die Automatisierung durch Steuerung der Beleuchtung und des Servomotors für Testszenen, die eine Dreh- und Beleuchtungssteuerung erfordern.

Controller-Übersicht für Android 13

ITS-in-a-box bietet eine einheitliche Testumgebung mit einem festen Abstand zwischen dem Testtablet und dem Testsmartphone sowie eine einheitliche Beleuchtung ohne externe Lichtquelle. Der Android 13-Controller automatisiert sowohl die Servosteuerung als auch die Beleuchtungssteuerung. Dadurch ist es nicht mehr erforderlich, das zu testende Gerät für Sensor-Fusion-Szenentests manuell zu drehen und die Beleuchtung für Tests mit Beleuchtungssteuerung manuell ein- und auszuschalten.

Servo- und Beleuchtungssteuerung in Prüfständen

Das Testgerät für die Sensorfusion sorgt für eine feste Bewegung des Smartphones, um reproduzierbare Tests zu ermöglichen. Das Smartphone wird vor einem Schachbrettmuster gedreht, um Bilder aus verschiedenen Positionen aufzunehmen. Beim Test test_sensor_fusion dreht das Servo das Smartphone in etwa 2 Sekunden um 90 Grad um die Achse des Kamerazentrums und wieder zurück. Bei test_video_stabilization dreht das Servo das Smartphone wiederholt um 10 Grad um die Achse des Kamerazentrums und zurück, um die Bewegung des Smartphones beim Aufnehmen eines Videos während des Gehens zu simulieren. Abbildung 1 zeigt zwei Smartphones, die sich in einem Sensorfusions-Prüfstand bewegen. Abbildung 2 zeigt ein Smartphone, das sich in einem Sensor-Fusion-Prüfstand bewegt.

Bewegung des Smartphones im Prüfstand

Abbildung 1: Bewegung des Smartphones im Prüfstand für test_sensor_fusion

Bewegung des Smartphones im Prüfstand

Abbildung 2: Bewegung des Smartphones im Prüfstand für test_video_stabilization

Servomotorsteuerung

Die analogen Servomotoren im Prüfstand sind Positionsservos, die über Pulsweitenmodulation (PWM) gesteuert werden. Ein typisches Beispiel für die Positionskontrolle ist in Abbildung 3 dargestellt. Das Steuersignal hat eine Periode von 20 ms. Wenn Sie die Impulsbreite auf die Mindestbreite ändern, wird der Motor in die neutrale Position gebracht. Wenn Sie die Impulsbreite auf die maximale Breite ändern, dreht sich der Motor um 180 Grad im Uhrzeigersinn.

Beschreibung der Servosteuerung

Abbildung 3: Typische Beschreibung der Servosteuerung

Beleuchtung steuern

Um die Bewegung des Servomotors und die Lichter über einen Hostcomputer zu steuern, ist für den Sensorfusions-Prüfstand eine USB-Verbindung erforderlich. Der Android 13-Controller verwendet ein über USB verbundenes Arduino UNO R3-Board mit einem benutzerdefinierten Routing-Board (oder Shield), das oben montiert ist. Der Android 13-Controller kann bis zu drei Rotator-Servos für Sensor-Fusion-Rigs und bis zu drei ITS-in-a-Box-Beleuchtungssysteme oder ein Sensor-Fusion-Rig von einem einzelnen Hostcomputer aus steuern.

Mit dem Controller für Android 13 in Revision 3.0 können Nutzer das automatische Zurücksetzen deaktivieren, wenn der serielle Arduino-Port über USB geöffnet wird. Die automatische Rücksetzfunktion wird aktiviert, wenn der Controller an einen anderen Host angeschlossen oder für andere Testläufe verwendet wird. Nutzer können die automatische Rückstellung über einen physischen Schalter am Controller aktivieren oder deaktivieren.

Der Android 13-Controller kann mit jeder Camera ITS-in-a-box verwendet werden. Der Android 13-Controller kann mit jeder Camera ITS-in-a-box (RFoV, WFoV, Modular) oder Sensor Fusion-Box verbunden werden, um Tests mit kontrollierter Beleuchtung durchzuführen. Ab Android 15 sind alle Tests mit kontrollierter Beleuchtung in scene_flash enthalten und können mit der Sensor-Fusion-Box ausgeführt werden, mit Ausnahme von scene_low_light. Für diesen Test ist ein Tablet zur Diagrammdarstellung erforderlich und er muss mit Camera ITS-in-a-box ausgeführt werden.

Für Tests in scene_flash und scene_low_light ist eine dunkle Umgebung mit ausgeschalteter Beleuchtung erforderlich, um die automatische Blitzfunktion auf Testgeräten auszulösen. Abbildung 4 zeigt, wie die Lichter in ITS-in-a-box vom Android 13-Controller ein- und ausgeschaltet werden.

Lampensteuerung in ITS-in-a-box

Abbildung 4: Lichter für test_auto_flash aus- und eingeschaltet

Überarbeitungsverlauf

In der folgenden Tabelle wird der Revisionsverlauf des Android 13-Controllers beschrieben. Außerdem sind Downloadlinks zu den einzelnen Versionen der Produktionsdateien enthalten.

Datum Revision Download von Produktionsdateien Änderungsprotokoll
August 2024 3
  • Es wurde eine Umgehung des automatischen Zurücksetzens hinzugefügt, sodass die Beleuchtung während der Kommunikation mit dem DUT nicht umgeschaltet wird.
Dezember 2022 2.2
  • Option zum Bestellen einer bestückten Leiterplatte bei EasyEDA hinzugefügt
  • Falsche Verzögerungen nach Servobewegungen im Arduino-Mikrocode entfernt
  • Abstandshalter von Metall zu Nylon geändert
  • Durchkontaktierte MOSFETs durch oberflächenmontierte MOSFETs ersetzt
  • Kondensator von 10 µF auf 1.000 µF geändert
März 2022 1
  • Es wurde die Möglichkeit zur Steuerung der Beleuchtung hinzugefügt.
  • Von 6 Servosteuerungen zu 3 Beleuchtungs- und 3 Servosteuerungen geändert

Controller-Einrichtung unter Android 13

In diesem Abschnitt wird beschrieben, wie Sie einen Controller für Android 13 einrichten.

Erforderliche Komponenten

Sie können den Android 13-Controller bei einem unserer qualifizierten Anbieter kaufen oder ihn selbst erstellen. Die Produktionsdatei besteht aus einer PCB-Gerber-Datei, der PCB-Stückliste, Informationen zur PCB-Platzierung und einer STEP-Datei für das Gehäuse. Informationen zum Herunterladen der Produktionsdatei finden Sie in der Tabelle im Überarbeitungsverlauf.

Wenn Sie einen eigenen Controller erstellen, benötigen Sie ein Arduino UNO R3-Board. Wenn Sie den Controller über einen qualifizierten Anbieter kaufen, ist das Arduino enthalten.

Das Controllergehäuse für Android 13 ist eine optionale, aber empfohlene Komponente, die den Controller schützt und ungenutzte USB-Anschlüsse abdeckt, um Einrichtungsfehler zu vermeiden. Weitere Informationen zu Preisen und Optionen für den Controller erhalten Sie von einem qualifizierten Anbieter.

Einrichtung

So richten Sie den Controller für Android 13 ein:

  1. Schließen Sie die 12‑V-Adapter (für die Beleuchtung) und die 5‑V-Adapter (für den Servo) an die entsprechenden Strombuchsen an (Abbildung 5).

    Standort des Netzteils

    Abbildung 5: Standort des Netzteils

  2. Verbinden Sie die Leuchten Ihrer ITS-in-a-box oder Sensor Fusion Box mit einer der Buchsen für die Lichtkanal-Ausgabe (Abbildung 6). Verwenden Sie je nach Fassung der Leuchte einen Adapter (Abbildung 7).

    Speicherort der Beleuchtungsausgabe

    Abbildung 6 Speicherort der Ausgabe von Beleuchtungskanälen

    3,5 mm × 1,35 mm Stecker auf 5,5 mm × 2,1 mm Buchse

    Abbildung 7. Adapter, der die Stromversorgung der Beleuchtung mit dem Controller verbindet

  3. Um die Sensor-Fusion-Szenen einzurichten, verbinden Sie das Servo mit einem der Servo-Kanal-Anschluss-Header.

    Anschlussort des Servokanals

    Abbildung 8. Standort der Servoverbindung

    Bei Controllern der Revision 3.0 muss der automatische Rücksetzschalter auf Enable eingestellt sein, wenn der Controller mit einem neuen Host verbunden wird.

    Bei Revision 3.0 ist der Controller mit einem automatischen Rücksetzschalter ausgestattet, der aktiviert oder deaktiviert werden kann. Wir empfehlen, beim Testen den Schalter für das automatische Zurücksetzen auf Disable zu stellen, damit nicht alle Lichter zu Beginn jedes Tests kurz ausgehen, wenn its_base_test die Kommunikation mit dem Arduino-Controller herstellt. Das ist besonders wichtig, wenn parallele Tests durchgeführt werden (ITS wird gleichzeitig mit dem Beleuchtungssystem des Prüfstands ausgeführt, das mit derselben Steuerung verbunden ist).

    Standort automatisch zurücksetzen

    Abbildung 9. Schalter für automatisches Zurücksetzen

  4. Verbinde den Controller über ein USB‑A-Kabel mit dem Host.

    USB-A-Anschluss

    Abbildung 10. USB‑A-Anschluss zum Host

Abbildung 11 zeigt ein Beispiel für eine abgeschlossene Einrichtung des Controllers für Android 13 für ein Beleuchtungssystem und einen Servo.

USB-A-Anschluss

Abbildung 11. Android 13-Controller-Einrichtung abgeschlossen

Softwaresteuerung durch den Organisator

Der Mikrocode kann auf den UNO heruntergeladen werden, um die PWM-Pins den Motorsignalen zuzuweisen und die Impulsbreitenbereiche für verschiedene Winkel zu definieren. Der Mikrocode für die Servorotationssteuerung der sechs HS-755MB-Motoren ist in den anderen Ressourcen enthalten. Dieser Abschnitt enthält auch einen Link zu einem einfachen Programm namens rotator.py, das die Servos dreht.

Android 13-Controller verwenden

Verwendung von Camera ITS:

python tools/run_all_tests.py device=device_id camera=0 rot_rig=arduino:1 scenes=sensor_fusion

Mit enthaltenem Testskript:

python rotator.py --ch 1 --dir ON --debug

Downloads für die Softwaresteuerung