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-Fusionstest ist Teil der Camera Image Test Suite (Camera ITS) in der Compatibility Test Suite (CTS). Mit dem Controller für Android 13 können Sie die Beleuchtung und den Servomotor für Testszenen steuern, die eine Rotation 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 für Tests mit Beleuchtungssteuerung die Beleuchtung manuell ein- und auszuschalten.

Servo- und Beleuchtungssteuerung in Prüfständen

Das Sensor-Fusion-Testgerät sorgt für eine gleichbleibende 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° 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 einer Sensor-Fusion-Testvorrichtung 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 in der Testvorrichtung für test_video_stabilization

Servomotorsteuerung

Die analogen Servomotoren im Prüfstand sind Positionsservos, die über die Pulsweitenmodulation (PWM) gesteuert werden. Ein typisches Beispiel für eine 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 bewegt. Wenn Sie die Impulsbreite auf die maximale Breite ändern, wird der Motor um 180 Grad im Uhrzeigersinn gedreht.

Beschreibung der Servosteuerung

Abbildung 3: Typische Beschreibung der Servosteuerung

Beleuchtungssteuerung

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 Überarbeitungsverlauf des Controllers für Android 13 beschrieben. Außerdem sind Downloadlinks für die Produktionsdateien der einzelnen Versionen 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 uF auf 1.000 uF geändert
März 2022 1
  • Funktion 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 du einen Controller für Android 13 einrichtest.

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 im Lieferumfang 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 den Lichtkanal (Abbildung 6). Verwenden Sie je nach Fassung der Beleuchtung ein geeignetes Netzteil (Abbildung 7).

    Speicherort der Beleuchtungsausgabe

    Abbildung 6. Speicherort der Ausgabe von Beleuchtungskanälen

    Konverter von 3,5 mm × 1,35 mm-Stecker zu 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.

    Die Version 3.0 des Controllers ist 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. Dies ist entscheidend, wenn parallele Tests durchgeführt werden (ITS-Tests werden 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 eines Controllers für Android 13 für ein Beleuchtungssystem und ein Servo.

USB-A-Anschluss

Abbildung 11. Controller-Einrichtung unter Android 13 abgeschlossen

Softwaresteuerung durch den Organisator

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 unter Weitere Ressourcen verfügbar. 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