Assicurati di avere Firme colore e Codici colore configurati con il tuo sensore di visione AI in modo che possano essere utilizzati con i tuoi blocchi. Per saperne di più su come configurarli, puoi leggere gli articoli seguenti:
- Configurazione delle firme a colori con la firma AI Vision in VEXcode V5
- Configurazione dei codici colore con la firma AI Vision in VEXcode V5
Il sensore di visione AI può anche rilevare le classificazioni AI e gli AprilTag. Per sapere come abilitare queste modalità di rilevamento, vai qui:
- Classificazioni AI con il sensore di visione AI in VEXcode V5
- AprilTags con il sensore di visione AI in VEXcode V5
Per saperne di più sui singoli blocchi e su come utilizzarli in VEXcode, visita il sito API.
Scatta un'istantanea
Il bloccoTake Snapshot scatta una foto di ciò che il sensore di visione AI sta attualmente vedendo ed estrae dati da tale istantanea che possono poi essere utilizzati in un progetto. Quando si acquisisce un'istantanea, è necessario specificare di quale tipo di oggetto il sensore di visione AI deve raccogliere dati:
- Firma a colori
- Codice colore
- Classificazioni AI
- Tag di aprile
L'acquisizione di uno snapshot creerà una matrice di tutti gli oggetti rilevati specificati. Ad esempio, se si desidera rilevare una firma di colore "Rosso"e il sensore di visione AI rileva 3 diversi oggetti rossi, i dati di tutti e tre verranno inseriti nell'array
Per maggiori informazioni su come specificare tra oggetti diversi, consultare la sezione "Imposta elemento oggetto" in questo articolo.
In questo esempio, rileverà solo gli oggetti che corrispondono alla sua firma di colore "Blu" configurata e nient'altro.
Dati presi da uno snapshot
Tieni presente che il sensore di visione AI utilizzerà l'ultima istantanea scattata per tutti i blocchi successivi. Per assicurarti di ricevere sempre le informazioni più aggiornate dal tuo sensore di visione AI, scatta nuovamente l'istantanea ogni volta che desideri estrarre dati da esso.
Risoluzione
Per un'interpretazione accurata dei dati è fondamentale comprendere la risoluzione del sensore di visione AI. Il sensore ha una risoluzione di 320x240 pixel, con il centro esatto alle coordinate (160, 120).
Le coordinate X inferiori a 160 corrispondono alla metà sinistra del campo visivo del sensore, mentre quelle superiori a 160 rappresentano la metà destra. Allo stesso modo, le coordinate Y inferiori a 120 indicano la metà superiore della vista, mentre quelle superiori a 120 rappresentano la metà inferiore.
Vai a Comprensione dei dati nell'utilità AI Vision in VEXcode V5 per ulteriori informazioni su come gli oggetti vengono misurati con il sensore AI Vision.
Larghezza e altezza
Questa è la larghezza o l'altezza dell'oggetto rilevato in pixel.
Le misure di larghezza e altezza aiutano a identificare i diversi oggetti. Ad esempio, un Buckyball avrà un'altezza maggiore di un Ring.
Larghezza e altezza indicano anche la distanza di un oggetto dal sensore di visione AI. Di solito, misure più piccole indicano che l'oggetto è più lontano, mentre misure più grandi indicano che è più vicino.
In questo esempio, la larghezza dell'oggetto viene utilizzata per la navigazione. Il robot si avvicinerà all'oggetto finché la larghezza non avrà raggiunto una dimensione specifica prima di fermarsi.
CentroX e Centro Y
Si tratta delle coordinate centrali dell'oggetto rilevato in pixel.
Le coordinate CenterX e CenterY aiutano nella navigazione e nel posizionamento. Il sensore di visione AI ha una risoluzione di 320 x 240 pixel.
Come puoi vedere, un oggetto più vicino al sensore di visione AI avrà una coordinata CenterY inferiore rispetto a un oggetto più lontano.
In questo esempio, poiché il centro della visuale del sensore di visione AI è (160, 120), il robot girerà a destra finché la coordinata centraleX di un oggetto rilevato non sarà maggiore di 150 pixel, ma minore di 170 pixel.
Angolo
L'angolo è una proprietà disponibile solo per i codici colore eAprilTags. Ciò indica se il codice coloreo AprilTag rilevato è orientato in modo diverso.
È possibile vedere se il robot è orientato in modo diverso rispetto al codice colore oAprilTag e prendere decisioni di navigazione di conseguenza.
Ad esempio, se un codice colore viene rilevato con l'angolazione corretta, l'oggetto che rappresenta potrebbe non essere rilevato correttamente dal robot.
OriginX e OriginY
OriginX e OriginY sono le coordinate nell'angolo in alto a sinistra dell'oggetto rilevato in pixel.
Le coordinate OriginX e OriginY aiutano nella navigazione e nel posizionamento. Combinando questa coordinata con la larghezza e l'altezza dell'oggetto, è possibile determinare la dimensione del riquadro di delimitazione dell'oggetto. Può essere utile per tracciare oggetti in movimento o per spostarsi tra gli oggetti.
In questo esempio, verrà disegnato un rettangolo sul cervello utilizzando le coordinate esatte della sua origine, larghezza e altezza.
ID tag
Il tagID è disponibile solo perAprilTags. Questo è il numero ID per l'specificato.
L'identificazione di specifici AprilTags consente una navigazione selettiva. Puoi programmare il tuo robot in modo che si muova verso determinati tag ignorandone altri, utilizzandoli di fatto come segnali per la navigazione automatizzata.
Punto
La proprietà del punteggio viene utilizzata quando si rilevanoclassificazioni AI con il sensore di visione AI.
Il punteggio di affidabilità indica il livello di certezza del sensore di visione AI in merito al suo rilevamento. In questa immagine, l'identificazione delle classificazioni AI di questi quattro oggetti è sicura al 99%. Puoi usare questo punteggio per assicurarti che il tuo robot si concentri solo su rilevamenti altamente affidabili.
Imposta oggetto elemento
Quando un oggetto viene rilevato dal sensore di visione AI, viene inserito in una matrice. Per impostazione predefinita, il sensore di visione AI estrarrà i dati dal primo oggetto nell'array, ovvero dall'oggetto con indice 1. Se il sensore di visione AI ha rilevato un solo oggetto, tale oggetto verrà selezionato per impostazione predefinita.
Tuttavia, quando il sensore di visione AI ha rilevato più oggetti contemporaneamente, sarà necessario utilizzare il bloccoImposta oggetto elemento per specificare da quale oggetto si desidera estrarre i dati.
Quando il sensore di visione AI rileva più oggetti, questi vengono disposti nella matrice dal più grande al più piccolo. Ciò significa che l'oggetto più grande rilevato verrà sempre impostato sull'indice oggetto 1, mentre l'oggetto più piccolo verrà sempre impostato sul numero più alto.
In questo esempio sono stati rilevati due oggetti con la firma di colore "Blu". Entrambi verranno inseriti nell'array quando verrà utilizzato il bloccoTake Snapshot.
In questo caso, l'oggetto in primo piano diventerebbe l'oggetto indice 1, poiché è l'oggetto più grande, mentre l'oggetto più piccolo diventerebbe l'oggetto indice 2.
L'oggetto esiste
Prima di estrarre dati da uno snapshot, è importante che il sensore di visione AI abbia rilevato prima eventuali oggetti da quello snapshot. È qui che entra in gioco il bloccoObject Exists.
Questo blocco restituirà un valoreVero oFalso a seconda che nell'ultimo snapshot siano stati rilevati oggetti.
Questo blocco dovrebbe essereutilizzato per garantire che si stia tentando di estrarre dati da uno snapshot potenzialmente vuoto.
Ad esempio, in questo caso il robot scatterà costantemente istantanee con il sensore di visione AI. Se identifica un qualsiasi oggetto con la firma di colore "Blu" , proseguirà.
Se un'istantanea non ha la firma di colore "Blu" , il robot smetterà di muoversi.
Conteggio oggetti
Utilizzando il blocco Conteggio oggetti potrai vedere quanti oggetti di una specifica Firma colori il sensore di visione AI riesce a vedere nella sua ultima istantanea.
Qui vediamo che il sensore di visione AI ha configurato la firma di colore "Blu" e sta rilevando due oggetti.
In questo codice, il sensore di visione AI acquisisce un'istantanea e stampa "2" sulla console VEXcode, poiché rileva solo due firme di colore "Blu" .
Oggetto
Il bloccoObject consente di segnalare la proprietà dell'oggetto specificato. Ciò consente di utilizzare tutti i dati disponibili estratti dall'istantanea acquisita più di recente.
Le proprietà degli oggetti che possono essere estratte dagli snapshot acquisiti sono:
- larghezza
- altezza
- centroX
- centroY
- angolo
- origineX
- origineY
- ID tag
- punto
Per maggiori informazioni su queste proprietà, leggere la sezione "Dati ricavati dallo snapshot" di questo articolo.
Rilevato AprilTag è
Il blocco AprilTag rilevatoè ed è disponibile solo quando è attivata la modalità di rilevamento AprilTag
Questo blocco riporterà Vero o Falso a seconda che l'oggetto specificato sia un determinato AprilTag.
Quando vengono rilevati più AprilTag in un singolo snapshot, vengono disposti nell'array in base al loro ID identificato, non in base alla dimensione.
In questa immagine vengono rilevati tre AprilTag con ID 0, 3 e 9. Saranno organizzati in ordine crescente in base al loro ID nell'array. L'oggetto all'indice 1 corrisponderebbe all'AprilTag con ID 0, all'indice 2 all'AprilTag con ID 3 e all'indice 3 all'AprilTag con ID 9.
La classificazione AI è
La classificazione AIè blocco ed è disponibile solo quando è attivata la modalità di rilevamento della classificazione AI.
Questo blocco riporterà Vero o Falso a seconda che l'oggetto specificato sia una determinata classificazione AI.
Le classificazioni AI che possono essere rilevate dal sensore di visione AI variano a seconda del modello utilizzato. Per maggiori informazioni sulle classificazioni AI disponibili e su come abilitarne il rilevamento con il sensore di visione AI, leggi questo articolo.