Questa pagina descrive come assemblare il controller Android 13, che controlla il movimento di un banco di prova per la fusione dei sensori e l'illuminazione per ITS-in-a-box. Il test di fusione dei sensori fa parte della suite di test delle immagini della fotocamera (Camera ITS) nella suite di test di compatibilità (CTS). Il controller Android 13 consente l'automazione controllando l'illuminazione del rig e il servomotore 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 coerente senza una sorgente luminosa esterna. Il controller Android 13 automatizza il controllo del servomotore e dell'illuminazione ed elimina la necessità di ruotare manualmente il DUT per i test di fusione dei sensori e di accendere e spegnere manualmente le luci per i test controllati dall'illuminazione.
Controllo di servomotori e illuminazione nei banchi di prova
Il banco di prova per la fusione dei sensori fornisce un movimento fisso dello smartphone per test riproducibili. Lo smartphone viene ruotato davanti a un reticolo a scacchiera per consentire l'acquisizione di immagini con lo smartphone in varie posizioni. Per test_sensor_fusion, il servo ruota lo smartphone intorno al centro dell'asse della fotocamera di 90 gradi e torna indietro in circa 2 secondi. Per test_video_stabilization, il servo ruota lo smartphone attorno al centro dell'asse della videocamera di 10 gradi e indietro ripetutamente per imitare il movimento dello smartphone quando si registra un video mentre si cammina. La figura 1 mostra due smartphone che si muovono in un banco di prova per la fusione dei sensori. La Figura 2 mostra uno smartphone che si muove in un banco di prova per la fusione dei sensori.
Figura 1. Movimento dello smartphone nel banco di prova per test_sensor_fusion
Figura 2. Movimento dello smartphone nel banco di prova per test_video_stabilization
Controllo del servomotore
I servomotori analogici nel banco di prova sono servomotori di posizione controllati tramite modulazione di larghezza di impulso (PWM). Un tipico esempio di controllo posizionale è mostrato nella Figura 3. Il segnale di controllo ha un periodo di 20 ms. La modifica della larghezza dell'impulso alla larghezza minima sposta il motore in posizione neutra, mentre la modifica della larghezza dell'impulso alla larghezza massima sposta il motore di 180 gradi in senso orario.
Figura 3. Descrizione tipica del controllo del servocomando
Controllo dell'illuminazione
Per controllare il movimento e le luci del servomotore utilizzando un computer host, il banco di prova 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 routing personalizzata (o shield) montata sopra. Il controller Android 13 può controllare fino a tre servomotori rotatori di rig di fusione dei sensori e fino a tre sistemi di illuminazione ITS in-a-box o un rig di fusione dei sensori da un singolo computer host.
Il controller Android 13 revisione 3.0 consente agli utenti di disattivare il ripristino automatico quando la porta seriale Arduino viene aperta tramite USB. La funzione di ripristino automatico viene attivata quando il controller è collegato a un altro host o viene utilizzato per altri scenari 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 Camera 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 casella di fusione dei sensori, tranne scene_low_light, che richiede un tablet per la visualizzazione del grafico e deve essere eseguito utilizzando Camera ITS-in-a-box.
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 sugli smartphone 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 del file di produzione | Log delle modifiche |
---|---|---|---|
Agosto 2024 | 3,0 |
|
|
Dicembre 2022 | 2.2 |
|
|
Marzo 2022 | 1 |
|
Configurazione del controller Android 13
Questa sezione descrive come configurare un controller Android 13.
Componenti obbligatori
Puoi acquistare il controller Android 13 tramite uno dei nostri fornitori qualificati oppure puoi costruirlo da solo. Il file di produzione è costituito da un file Gerber PCB, dalla distinta base (BOM) del PCB, dalle informazioni sul posizionamento del PCB e da un file STEP dell'involucro. Per scaricare il file di produzione, consulta la tabella nella cronologia delle revisioni.
Se stai creando il tuo controller, devi avere una scheda Arduino UNO R3. Se acquisti il controller tramite un fornitore qualificato, Arduino è incluso.
La custodia 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 dettagliate sui prezzi e sulle opzioni del controller, contatta un fornitore qualificato.
Procedura di configurazione
Per configurare il controller Android 13:
Collega gli alimentatori da 12 V (per l'illuminazione) e 5 V (per il servo) alle prese di alimentazione appropriate (Figura 5).
Figura 5. Posizione dell'alimentatore
Collega le luci della scatola ITS-in-a-box o Sensor Fusion a uno dei jack di uscita del canale di illuminazione (Figura 6). A seconda dell'uso del cilindro dell'alimentatore dell'illuminazione, utilizza un adattatore come richiesto (Figura 7).
Figura 6. Posizione di output dei canali di illuminazione
Figura 7. Adattatore che collega l'alimentazione dell'illuminazione al controller
Per la configurazione delle scene di fusione dei sensori, 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 si collega il controller a un nuovo host, l'interruttore di ripristino automatico deve essere impostato su
Enable
.Per la revisione 3.0, il controller include un interruttore di ripristino automatico che può essere attivato o disattivato. Durante il test, ti consigliamo di impostare l'interruttore di ripristino automatico su
Disable
per evitare che tutte le luci si spengano momentaneamente all'inizio di ogni test mentreits_base_test
stabilisce la comunicazione con il controller Arduino. Ciò è fondamentale quando si eseguono test paralleli (ITS in esecuzione contemporaneamente al sistema di illuminazione del banco di prova collegato allo stesso controller).Figura 9. Opzione di reimpostazione automatica
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 completata del controller Android 13 per un sistema di illuminazione e un servo.
Figura 11. Configurazione del controller Android 13 completata
Controllo del software da parte dell'organizzatore
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 in
Altre risorse. Questa sezione include anche un link a un
semplice programma chiamato rotator.py
, che ruota i servomotori.
Utilizzare il controller Android 13
Utilizzo del sistema ITS della videocamera:
python tools/run_all_tests.py device=device_id camera=0 rot_rig=arduino:1 scenes=sensor_fusion
Con script di test incluso:
python rotator.py --ch 1 --dir ON --debug