Controller Android 13

Questa pagina descrive come assemblare il controller Android 13, che controlla il movimento di un banco di prova di 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 rotazione e 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 attivare e disattivare 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 di 90 gradi intorno al centro dell'asse della fotocamera e lo riporta 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 torna 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.

Movimento dello smartphone nel banco di prova

Figura 1. Movimento dello smartphone nel banco di prova per test_sensor_fusion

Movimento dello smartphone nel banco di prova

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 posizionali 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.

Descrizione del controllo del servosterzo

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 è abilitata 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 con illuminazione controllata. 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, ad eccezione di 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.

Controllo delle luci in ITS-in-a-box

Figura 4. Luci spente e accese per test_auto_flash

Cronologia delle revisioni

La tabella seguente descrive la cronologia delle revisioni del controller Android 13 e include i link di download a ogni versione dei file di produzione.

Data Revisione Download del file di produzione Log delle modifiche
Agosto 2024 3,0
  • È stato aggiunto il bypass del ripristino automatico in modo che le luci non vengano attivate/disattivate durante la comunicazione con il DUT
Dicembre 2022 2.2
  • Aggiunta l'opzione per ordinare la scheda PCB popolata da EasyEDA
  • Sono stati rimossi ritardi spuri dopo lo spostamento del servo nel microcodice Arduino
  • I distanziatori sono stati cambiati da metallo a nylon
  • Sostituiti i MOSFET through-hole con MOSFET a montaggio superficiale
  • Il condensatore è passato da 10 uF a 1000 uF
Marzo 2022 1
  • È stata aggiunta la funzionalità di controllo dell'illuminazione.
  • Modifica da 6 controlli del servosterzo a 3 controlli dell'illuminazione e 3 controlli del servosterzo

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 materiali (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:

  1. Collega gli alimentatori da 12 V (per l'illuminazione) e 5 V (per il servo) alle prese di alimentazione appropriate (Figura 5).

    Posizione dell'alimentatore

    Figura 5. Posizione dell'alimentatore

  2. 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).

    Posizione di output dell'illuminazione

    Figura 6. Posizione di output dei canali di illuminazione

    Convertitore da spina maschio da 3,5 mm x 1,35 mm a jack femmina da 5,5 mm x 2,1 mm

    Figura 7. Adattatore che collega l'alimentazione dell'illuminazione al controller

  3. Per la configurazione delle scene sensor_fusion, collega il servo a uno degli header di connessione del canale servo.

    Località di connessione del canale del servo

    Immagine 8. Località 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 mentre its_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).

    Reimposta automaticamente la posizione

    Figura 9. Opzione di reimpostazione automatica

  4. Collega il controller all'host con un cavo USB-A.

    Posizione USB-A

    Figura 10. Porta di connessione USB-A all'host

La figura 11 mostra un esempio di configurazione del controller Android 13 completata per un sistema di illuminazione e un servo.

Posizione USB-A

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 per il test incluso:

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

Download dei controlli software