KI-Vision#
Einführung#
Der KI-Vision-Sensor des VEX AIM Coding-Roboters erkennt und verfolgt Objekte, Farben und AprilTag-IDs. Dadurch kann der Roboter seine Umgebung analysieren, Objekten folgen und auf Basis der erfassten visuellen Daten reagieren.
Der KI-Vision-Sensor hat eine Auflösung von 320×240 Pixeln. Der Ursprung (0, 0) befindet sich in der oberen linken Ecke, wodurch sich der Mittelpunkt des Sensors bei (160, 120) befindet, wie in der folgenden Abbildung dargestellt:

Nachfolgend finden Sie eine Liste aller Blöcke:
Aktionen – Steuern Sie den AI Vision-Feed und erfassen Sie Objektdaten.
AI Vision-Viewer auf dem Bildschirm — Aktiviert oder deaktiviert die Live-AI-Vision-Übertragung auf dem Bildschirm des Roboters.
get object data — Erfasst Daten für eine bestimmte Signatur, wie z. B. eine konfigurierte Farbe, ein vorab trainiertes Objekt oder eine AprilTag-ID.
Einstellungen – Legen Sie fest, auf welche erkannten Objekte zugegriffen wird.
set AI Vision object item — Wählt ein bestimmtes Objekt aus der Liste der erkannten Objekte aus.
Werte – Gibt das Vorhandensein, die Klassifizierung und die Eigenschaften eines Objekts zurück.
hat Objekt — Prüft, ob der Roboter ein erkanntes Objekt hält.
AI Vision Objekt existiert — Meldet, ob ein Objekt erkannt wurde.
AI Vision object is — Prüft, ob ein erkanntes Objekt einer bestimmten Klassifizierung entspricht.
AI Vision object is AprilTag ID — Prüft, ob eine erkannte AprilTag-ID mit einer bestimmten ID übereinstimmt.
AI Vision Objektanzahl — Gibt die Anzahl der erkannten Objekte an.
AI Vision-Objekteigenschaft — Gibt Details wie die folgenden aus:
centerX & centerY — Koordinaten der Mittelpunktposition im Sichtfeld des Sensors.
originX & originY — Koordinaten der Position der oberen linken Ecke im Sichtfeld des Sensors.
Rotation — Orientierung des Objekts.
Peilung — Horizontaler Winkel relativ zur Vorderseite des Roboters.
tagID — Identifikationsnummer einer AprilTag-ID.
Aktionen#
AI Vision-Viewer auf dem Bildschirm#
Der AI Vision-Viewer auf dem Bildschirm-Block aktiviert oder deaktiviert die Live-Anzeige des AI Vision-Feeds auf dem Roboterbildschirm. Ist er aktiviert, werden Echtzeit-Sensordaten angezeigt, wodurch die Darstellung anderer Bilder oder Texte verhindert wird. Um andere Inhalte anzuzeigen, verwenden Sie diesen Block, um den Feed auszublenden.
AI Vision [anzeigen v] Viewer auf Bildschirm
Parameter |
Beschreibung |
|---|---|
Status |
Steuert die Anzeige des Datenfeeds auf dem Bildschirm des Roboters: show zeigt den Datenfeed an, während hide den Datenfeed vom Bildschirm entfernt. |
Beispiel
wenn gestartet
[View the AI Vision Sensor's feed for five seconds.]
AI Vision [anzeigen v] Viewer auf Bildschirm
warte [5] Sekunden
AI Vision [ausblenden v] Viewer auf Bildschirm
Objektdaten abrufen#
Der get object data-Stackblock filtert Daten aus dem AI Vision Sensor-Frame zu einer einzigen Signatur – einer gespeicherten Beschreibung von etwas, das der Sensor erkennen kann, wie z. B. ein vorab trainiertes Objekt, eine AprilTag-ID oder eine konfigurierte Farbe oder ein Farbcode.
Farben und Farbcodes müssen zuerst im AI Vision Utility konfiguriert werden, bevor sie mit diesem Block verwendet werden können.
Der Datensatz speichert Objekte, sortiert nach ihrer Breite von groß nach klein, beginnend mit Index 0. Auf die Eigenschaften jedes Objekts kann über den Block AI Vision-Objekteigenschaft zugegriffen werden. Wird kein passendes Objekt gefunden, wird ein leerer Datensatz gemeldet.
hole [Sportball v] Daten von AI Vision
Parameter |
Beschreibung |
|---|---|
Unterschrift |
Filtert den Datensatz, sodass nur Daten der angegebenen Signatur enthalten sind. Verfügbare Signaturen:
|
Beispiel
wenn gestartet
[Move forward if a sports ball is detected.]
für immer
hole [Sportball v] Daten von AI Vision
wenn <AI Vision Objekt vorhanden?> dann
bewege [vorwärts v] für [10] [mm v] ▶
Farbsignaturen#
Eine Farbsignatur ist eine einzigartige Farbe, die der KI-Vision-Sensor erkennen kann. Mithilfe dieser Signaturen kann der Sensor Objekte anhand ihrer Farbe erkennen und verfolgen. Sobald eine Farbsignatur in der KI-Vision-Software konfiguriert ist, kann der Sensor Objekte mit dieser spezifischen Farbe in seinem Sichtfeld identifizieren.
Farbsignaturen werden im Block get object data verwendet, um farbige Objekte in Echtzeit zu verarbeiten und zu erkennen.

Beispiel
wenn gestartet
[Display if any objects matching the Red_Box signature is detected.]
für immer
setze Cursor auf Zeile [1] Spalte [1] auf Bildschirm
lösche Zeile [1] auf Bildschirm
[Change the signature to any configured Color Signature.]
hole [Red_Box v] Daten von AI Vision
wenn <AI Vision Objekt vorhanden?> dann
drucke [Color signature detected!] auf Bildschirm ▶
Farbcodes#
Ein Farbcode ist ein strukturiertes Muster, das aus zwei bis vier Farbsignaturen in einer bestimmten Reihenfolge besteht. Sobald ein Farbcode in der KI-Vision-Software konfiguriert ist, kann der Sensor vordefinierte Farbmuster erkennen.
Farbcodes sind besonders nützlich, um komplexe Objekte zu identifizieren, sie an Spielelementen auszurichten oder eindeutige Markierungen für die autonome Navigation zu erstellen.

Beispiel
wenn gestartet
[Display if any objects matching the BlueRed code is detected.]
für immer
setze Cursor auf Zeile [1] Spalte [1] auf Bildschirm
lösche Zeile [1] auf Bildschirm
[Change the signature to any configured Color Code.]
hole [BlueRed v] Daten von AI Vision
wenn <AI Vision Objekt vorhanden?> dann
drucke [Color code detected!] auf Bildschirm ▶
Einstellungen#
Set AI Vision Objektelement#
Der set AI Vision object item-Stackblock legt fest, welches Element im Datensatz verwendet werden soll.
setze AI Vision Objektelement auf (1)
Parameter |
Beschreibung |
|---|---|
Artikel |
Die Nummer des zu verwendenden Elements im Datensatz. |
Beispiel
wenn gestartet
[Display the width of the smallest detected object.]
für immer
hole [gesamte Ladung v] Daten von AI Vision
lösche Zeile [1] auf Bildschirm
setze Cursor auf Zeile [1] Spalte [1] auf Bildschirm
wenn <AI Vision Objekt vorhanden?> dann
setze AI Vision Objektelement auf (AI Vision Objektanzahl)
drucke (AI Vision Objekt [Breite v]) auf Bildschirm ▶
Werte#
hat Objekt#
Der boolesche Block has object meldet, ob der Roboter aktuell ein erkanntes Objekt an seinem Kicker hat.
Wahr — Der Roboter hat das Objekt.
Falsch — Der Roboter besitzt das Objekt nicht.
<hat [Sportball v]? :: custom-ai-vision>
Parameter |
Beschreibung |
|---|---|
Objekt |
Das Objekt, das der Roboter mit seinem Kicker abwehren soll:
|
Beispiel
wenn gestartet
[Kick when the robot has a sports ball.]
für immer
wenn <hat [Sportball v]? :: custom-ai-vision> dann
Objekt [mittel v] treten
AI Vision-Objekt existiert#
Der Boolesche Block AI Vision object exists gibt an, ob ein Objekt im Datensatz erkannt wurde.
Wahr — Der Datensatz enthält ein erkanntes Objekt.
Falsch — Es wurden keine Objekte erkannt.
<AI Vision Objekt vorhanden?>
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
wenn gestartet
[Move forward if a sports ball is detected.]
für immer
hole [Sportball v] Daten von AI Vision
wenn <AI Vision Objekt vorhanden?> dann
bewege [vorwärts v] für [10] [mm v] ▶
Das AI Vision-Objekt ist#
Der AI Vision-Objekt ist ein Boolescher Block, der meldet, ob ein erkanntes Objekt einer bestimmten Klassifizierung entspricht.
Wahr — Das Element im Datensatz ist das spezifische Objekt.
Falsch — Das Element im Datensatz ist nicht das gesuchte Objekt.
<AI Vision Objekt ist [Sportball v]?>
Parameter |
Beschreibung |
|---|---|
Objekt |
Mit welchem Objekt soll der Gegenstand verglichen werden?
|
Beispiel
wenn gestartet
[Display if a sports ball is detected.]
für immer
hole [gesamte Ladung v] Daten von AI Vision
lösche Zeile [1] auf Bildschirm
setze Cursor auf Zeile [1] Spalte [1] auf Bildschirm
wenn <AI Vision Objekt vorhanden?> dann
wenn <AI Vision Objekt ist [Sportball v]?> dann
drucke [Sports ball detected!] auf Bildschirm ▶
warte [0.5] Sekunden
AI Vision-Objekt ist AprilTag-ID#
Der AI Vision-Objekt ist AprilTag ID Boolescher Block meldet, ob eine erkannte AprilTag-ID mit einer bestimmten ID übereinstimmt.
Wahr — Die AprilTag-ID ist die Nummer.
Falsch — Die AprilTag-ID ist nicht die Nummer.
<AI Vision object is AprilTag ID [1] ?>
Parameter |
Beschreibung |
|---|---|
AprilTag ID |
Die Nummer, die mit der ermittelten AprilTag-ID-Nummer verglichen werden soll. |
Objektzählung in KI-Vision#
Der AI Vision Objektzählungsblock gibt die Anzahl der erkannten Objekte im Datensatz als ganze Zahl aus.
AI Vision Objektanzahl
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
wenn gestartet
[Display the amount of sports balls and barrels.]
für immer
lösche Zeile [1] auf Bildschirm
setze Cursor auf Zeile [1] Spalte [1] auf Bildschirm
hole [gesamte Ladung v] Daten von AI Vision
wenn <AI Vision Objekt vorhanden?> dann
drucke (AI Vision Objektanzahl) auf Bildschirm ▶
Ende
warte [0.5] Sekunden
Eigenschaften eines AI Vision-Objekts#
Es gibt neun Eigenschaften, die zu jedem Objekt (siehe unten) hinzugefügt werden, das nach der Verwendung des Blocks get object data gespeichert wird.
AI Vision Objekt [Breite v]
Alle Eigenschaftswerte außer tagID beschreiben Position, Größe, Ausrichtung oder Richtung des erkannten Objekts zum Zeitpunkt der Verwendung des Blocks Objektdaten abrufen. Diese Werte werden in Pixeln oder Grad gemessen, basierend auf der Auflösung des Sensors von 320 x 240 Pixeln.

Parameter |
Beschreibung |
|---|---|
Eigentum |
Welche Eigenschaft des erkannten Objekts soll verwendet werden? |
Breite#
Die width-Eigenschaft gibt die Breite des erkannten Objekts in Pixeln als ganze Zahl von 1 bis 320 an.
Hinweis: Die Pixelwerte beziehen sich auf das Koordinatensystem des Sensors. Siehe dazu das Diagramm in der Einleitung.
AI Vision Objekt [Breite v]

Beispiel
wenn gestartet
[Move towards a blue barrel until its width is larger than 100 pixels.]
für immer
hole [blaues Fass v] Daten von AI Vision
wenn <AI Vision Objekt vorhanden?> dann
wenn <(AI Vision Objekt [Breite v]) [math_less_than v] [100]> dann
bewege [vorwärts v]
Ende
sonst
alle Bewegungen stoppen
Höhe#
Die height-Eigenschaft gibt die Höhe des erkannten Objekts in Pixeln als ganze Zahl von 1 bis 240 an.
Hinweis: Die Pixelwerte beziehen sich auf das Koordinatensystem des Sensors. Siehe dazu das Diagramm in der Einleitung.
AI Vision Objekt [Höhe v]

Beispiel
wenn gestartet
[Move towards a blue barrel until its height is larger than 100 pixels.]
für immer
hole [blaues Fass v] Daten von AI Vision
wenn <AI Vision Objekt vorhanden?> dann
wenn <(AI Vision Objekt [Höhe v]) [math_less_than v] [100]> dann
bewege [vorwärts v]
Ende
sonst
alle Bewegungen stoppen
centerX#
Die centerX-Eigenschaft gibt die x-Koordinate des Mittelpunkts des erkannten Objekts in Pixeln als ganze Zahl von 0 bis 320 an.
Hinweis: Die Pixelwerte beziehen sich auf das Koordinatensystem des Sensors. Siehe dazu das Diagramm in der Einleitung.
AI Vision Objekt [centerX v]

Beispiel
wenn gestartet
[Turn slowly until a blue barrel is centered in front of the robot.]
setze Drehgeschwindigkeit auf [30]%
drehe [rechts v]
für immer
hole [blaues Fass v] Daten von AI Vision
wenn <AI Vision Objekt vorhanden?> dann
wenn <[140] [math_less_than v] (AI Vision Objekt [centerX v]) [math_less_than v] [180]> dann
alle Bewegungen stoppen
ZentrumY#
Die centerY-Eigenschaft gibt die y-Koordinate des Mittelpunkts des erkannten Objekts in Pixeln als ganze Zahl von 0 bis 240 an.
Hinweis: Die Pixelwerte beziehen sich auf das Koordinatensystem des Sensors. Siehe dazu das Diagramm in der Einleitung.
AI Vision Objekt [centerY v]

Beispiel
wenn gestartet
[Move towards a blue barrel until its center y-coordinate is more than 140 pixels.]
für immer
hole [blaues Fass v] Daten von AI Vision
wenn <AI Vision Objekt vorhanden?> dann
wenn <(AI Vision Objekt [centerY v]) [math_less_than v] [140]> dann
bewege [vorwärts v]
Ende
sonst
alle Bewegungen stoppen
originX#
Die originX-Eigenschaft gibt die x-Koordinate der oberen linken Ecke des Begrenzungsrahmens des erkannten Objekts in Pixeln als ganze Zahl von 0 bis 320 an.
Hinweis: Die Pixelwerte beziehen sich auf das Koordinatensystem des Sensors. Siehe dazu das Diagramm in der Einleitung.
AI Vision Objekt [originX v]

Beispiel
wenn gestartet
[Display if an orange barrel is to the left or the right.]
für immer
lösche Zeile [1] auf Bildschirm
setze Cursor auf Zeile [1] Spalte [1] auf Bildschirm
hole [orangefarbenes Fass v] Daten von AI Vision
wenn <AI Vision Objekt vorhanden?> dann
wenn <(AI Vision Objekt [originX v]) [math_less_than v] [160]> dann
drucke [To the left!] auf Bildschirm ▶
sonst
drucke [To the right!] auf Bildschirm ▶
Ende
warte [0.5] Sekunden
UrsprungY#
Die originY-Eigenschaft gibt die y-Koordinate der oberen linken Ecke des Begrenzungsrahmens des erkannten Objekts in Pixeln als ganze Zahl von 0 bis 240 an.
Hinweis: Die Pixelwerte beziehen sich auf das Koordinatensystem des Sensors. Siehe dazu das Diagramm in der Einleitung.
AI Vision Objekt [originY v]

Beispiel
wenn gestartet
[Display if an orange barrel is close or far from the robot.]
für immer
lösche Zeile [1] auf Bildschirm
setze Cursor auf Zeile [1] Spalte [1] auf Bildschirm
hole [orangefarbenes Fass v] Daten von AI Vision
wenn <AI Vision Objekt vorhanden?> dann
wenn <(AI Vision Objekt [originY v]) [math_less_than v] [80]> dann
drucke [Far!] auf Bildschirm ▶
sonst
drucke [Close!] auf Bildschirm ▶
Ende
warte [0.5] Sekunden
Drehung#
Die Rotationseigenschaft gibt die Ausrichtung der erkannten AprilTag-ID oder des Farbcodes als ganze Zahl in Grad von 0 bis 359 an.
AI Vision Objekt [Drehung v]

Beispiel
wenn gestartet
[Slide left or right depending on how the Color Code is rotated.]
für immer
hole [Red_Blue v] Daten von AI Vision
wenn <AI Vision Objekt vorhanden?> dann
wenn <[50] [math_less_than v] (AI Vision Objekt [Drehung v]) [math_less_than v] [100]> dann
bewege [rechts v]
sonst wenn <[270] [math_less_than v] (AI Vision Objekt [Drehung v]) [math_less_than v] [330]> dann
bewege [links v]
sonst
alle Bewegungen stoppen
Ende
sonst
alle Bewegungen stoppen
Lager#
Die Richtung gibt in Grad an, wie weit ein Objekt links oder rechts vom Zentrum des Sichtfelds des KI-Vision-Sensors liegt. Ein Wert von 0 bedeutet, dass es sich im Zentrum befindet, positive Werte bedeuten, dass es sich rechts davon befindet, und negative Werte bedeuten, dass es sich links davon befindet.
wenn gestartet
[Keep the blue barrel directly in front of the robot.]
setze Drehgeschwindigkeit auf [40]%
für immer
hole [blaues Fass v] Daten von AI Vision
wenn <AI Vision Objekt vorhanden?> dann
wenn <(AI Vision Objekt [Peilung v]) [math_greater_than v] [5]> dann
drehe [rechts v]
sonst wenn <(AI Vision Objekt [Peilung v]) [math_less_than v] [-5]> dann
drehe [links v]
sonst
alle Bewegungen stoppen
tagID#
Die tagID-Eigenschaft gibt die Identifikationsnummer der erkannten AprilTag-ID als ganze Zahl an.
AI Vision Objekt [tagID v]
Beispiel
wenn gestartet
[Move forward when AprilTag ID 0 is detected.]
für immer
hole [AprilTag ID 0 v] Daten von AI Vision
wenn <AI Vision Objekt vorhanden?> dann
bewege [vorwärts v]
Ende
alle Bewegungen stoppen