Controller Android 13

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.

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

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

Controllo delle luci in ITS-in-a-box

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
  • È 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 i movimenti del servo nel microcodice Arduino
  • I distanziatori sono stati cambiati da metallo a nylon
  • Sostituiti i MOSFET through-hole con MOSFET montati a superficie
  • Il condensatore è passato da 10 uF a 1000 uF
Marzo 2022 1
  • Aggiunta della funzionalità di controllo dell'illuminazione.
  • Modifica da 6 controlli servo a 3 controlli di illuminazione e 3 controlli servo

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:

  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 di fusione dei sensori, collega il servo a una delle intestazioni di connessione del canale del servo.

    Località 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 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 della porta 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.

Posizione della porta 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 di test incluso:

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

Download di controllo software