Questa pagina descrive come assemblare il controller Android 13, che controlla il movimento di un banco di prova per l'unione di più sensori e l'illuminazione per ITS-in-a-box. Il test di fusione dei sensori fa parte della Camera Image Test Suite (Camera ITS) nella Compatibility Test Suite (CTS). Il controller Android 13 consente l'automazione controllando l'illuminazione e il servomotore del rig per le scene di test che richiedono la rotazione e il controllo dell'illuminazione.
Panoramica del controller Android 13
ITS-in-a-box fornisce un ambiente di test coerente con una distanza fissa tra il tablet di test e lo smartphone di test, oltre a un'illuminazione uniforme senza un'illuminazione esterna. Il controller Android 13 automatizza sia il controllo del servomotore sia il controllo dell'illuminazione ed elimina la necessità di ruotare manualmente il DUT per i test di scena con fusione dei sensori e di accendere e spegnere manualmente le luci per i test controllati dall'illuminazione.
Controllo del servo e dell'illuminazione nei banchi di prova
La piattaforma di test di fusione dei sensori fornisce un movimento fisso dello smartphone per test riproducibili. Lo smartphone viene ruotato davanti a un target a scacchiera per consentire di acquisire immagini con lo smartphone in varie posizioni. Per test_sensor_fusion, il servo ruota lo smartphone intorno all'asse del centro della fotocamera di 90 gradi e poi di nuovo indietro in circa 2 secondi. Per test_video_stabilization, il servo ruota lo smartphone attorno al centro dell'asse della fotocamera di 10 gradi e viceversa ripetutamente per simulare il movimento dello smartphone quando si riprende un video mentre si cammina. La Figura 1 mostra due smartphone in movimento in un banco di prova per la fusione dei dati dei sensori. La Figura 2 mostra uno smartphone in movimento in un banco di prova per la fusione dei sensori.
Figura 1. Movimento del telefono nella piattaforma di test per test_sensor_fusion
Figura 2. Movimento dello smartphone nella configurazione di test per test_video_stabilization
Controllo del servomotore
I servomotori analogici della piattaforma di test sono servomotori di posizione controllati tramite la modulazione di larghezza dell'impulso (PWM). Un tipico esempio di controllo di posizione è mostrato nella Figura 3. Il segnale di controllo ha un periodo di 20 ms. Se imposti la larghezza dell'impulso sulla larghezza minima, il motore si sposta in posizione neutra e se imposti la larghezza dell'impulso sulla larghezza massima, il motore si sposta di 180 gradi in senso orario.
Figura 3. Descrizione tipica del controllo del servo
Controllo illuminazione
Per controllare il movimento e le luci del servomotore utilizzando un computer host, la piattaforma di test di fusione dei sensori richiede una connessione USB. Il controller Android 13 utilizza una scheda Arduino UNO R3 collegata tramite USB con una scheda di instradamento personalizzata (o shield) montata sopra. Il controller Android 13 può controllare fino a tre servomotori di gru a fusione di sensori e fino a tre sistemi di illuminazione ITS-in-a-box o una gru a fusione di sensori da un singolo computer host.
Il controller Android 13 di revisione 3.0 consente agli utenti di disattivare il ripristino automatico quando la porta seriale di Arduino viene aperta tramite USB. La funzione di reimpostazione automatica viene attivata quando il controller è collegato a un altro host o viene utilizzato per altri casi di test. Gli utenti possono attivare o disattivare il ripristino automatico utilizzando un interruttore fisico sul controller.
Il controller Android 13 può funzionare con qualsiasi Camera ITS-in-a-box. Il controller Android 13 può essere collegato a qualsiasi ITS-in-a-box (RFoV, WFoV, Modulare) o Sensor Fusion Box per eseguire test controllati dall'illuminazione. A partire da Android 15, tutti i test controllati dall'illuminazione sono inclusi in scene_flash e possono essere eseguiti utilizzando la cassetta di fusione dei sensori, tranne scene_low_light, che richiede un tablet per la visualizzazione dei grafici e deve essere eseguito utilizzando la cassetta ITS-in-a-box della fotocamera.
Per i test in scene_flash e scene_low_light, è necessario un ambiente buio con le luci spente per attivare la funzione di flash automatico sui telefoni di test. La Figura 4 mostra le luci di ITS-in-a-box che vengono spente e accese dal controller Android 13.
Figura 4. Luci spente e accese per test_auto_flash
Cronologia revisioni
La tabella seguente descrive la cronologia delle revisioni del controller Android 13 e include i link per il download di ogni versione dei file di produzione.
Data | Revisione | Download dei file di produzione | Log delle modifiche |
---|---|---|---|
Agosto 2024 | 3,0 |
|
|
Dicembre 2022 | 2,2 |
|
|
Marzo 2022 | 1 |
|
Configurazione del controller su Android 13
Questa sezione descrive come configurare un controller Android 13.
Componenti obbligatori
Puoi acquistare il controller per Android 13 tramite uno dei nostri fornitori qualificati o puoi crearlo autonomamente. Il file di produzione è costituito da un file Gerber del PCB, dalla distinta componenti (BOM) del PCB, dalle informazioni sul posizionamento del PCB e da un file STEP della cassa. Per scaricare il file di produzione, consulta la tabella in Cronologia delle revisioni.
Se stai costruendo il tuo controller, devi avere una scheda Arduino UNO R3. Se acquisti il controller da un fornitore qualificato, Arduino è incluso.
La cover del controller Android 13 è un componente facoltativo, ma consigliato, che protegge il controller e blocca le porte USB inutilizzate per evitare errori di configurazione. Per informazioni sui prezzi e sulle opzioni del controller, contatta un fornitore qualificato.
Procedura di configurazione
Per configurare il controller Android 13:
Collega gli adattatori da 12 V (per l'illuminazione) e da 5 V (per il servo) ai connettori di alimentazione appropriati (Figura 5).
Figura 5. Posizione dell'alimentatore
Collega le luci della cassetta ITS-in-a-box o Sensor Fusion a uno dei jack di uscita del canale di illuminazione (Figura 6). A seconda dell'utilizzo del cavo di alimentazione dell'illuminazione, utilizza un adattatore come necessario (Figura 7).
Figura 6. Posizione di output dei canali di illuminazione
Figura 7. Alimentatore che collega l'alimentazione dell'illuminazione al controller
Per la configurazione delle scene sensor_fusion, collega il servo a una delle intestazioni di connessione del canale del servo.
Figura 8. Posizione della connessione del servo
Per i controller di revisione 3.0, quando colleghi il controller a un nuovo host, il pulsante di reimpostazione automatica deve essere impostato su
Enable
.Per la revisione 3.0, il controller include un interruttore di reimpostazione automatica che può essere attivato o disattivato. Durante il test, ti consigliamo di impostare l'opzione di reimpostazione automatica su
Disable
per evitare che tutte le spie si spengano momentaneamente all'inizio di ogni test, poichéDisable
stabilisce la comunicazione con il controller Arduino.its_base_test
Questo è fondamentale quando esegui test in parallelo (ITS in esecuzione contemporaneamente al sistema di illuminazione della piattaforma di test collegato allo stesso controller).Figura 9. Interruttore di ripristino automatico
Collega il controller all'host con un cavo USB-A.
Figura 10. Porta di connessione USB-A all'host
La Figura 11 mostra un esempio di configurazione completa del controller Android 13 per un sistema di illuminazione e un servo.
Figura 11. Configurazione del controller Android 13 completata
Controllo del software dall'host
Il microcodice può essere scaricato su UNO per assegnare i pin PWM ai segnali del motore e definire gli intervalli di larghezza dell'impulso per angoli diversi. Il microcodice per il controllo della rotazione del servo dei sei motori HS-755MB è incluso nella sezione Altre risorse. Questa sezione include anche un link a un semplice programma chiamato rotator.py
, che ruota i servo.
Utilizzare il controller Android 13
Utilizzo ITS della videocamera:
python tools/run_all_tests.py device=device_id camera=0 rot_rig=arduino:1 scenes=sensor_fusion
Con lo script di test incluso:
python rotator.py --ch 1 --dir ON --debug