Stellen Sie sicher, dass Sie Farbsignaturen und Farbcodes mit Ihrem KI-Vision-Sensor konfiguriert haben, damit diese mit Ihren Blöcken verwendet werden können. Um mehr darüber zu erfahren, wie Sie diese konfigurieren können, lesen Sie die folgenden Artikel:
- Konfigurieren von Farbsignaturen mit der AI Vision Signature in VEXcode EXP
- Konfigurieren von Farbcodes mit der AI Vision Signature in VEXcode EXP
Der KI-Vision-Sensor kann auch KI-Klassifizierungen und AprilTags erkennen. Um zu erfahren, wie Sie diese Erkennungsmodi aktivieren, klicken Sie hier:
- KI-Klassifizierungen mit dem KI-Vision-Sensor in VEXcode EXP
- AprilTags mit dem KI-Vision-Sensor in VEXcode EXP
Schnappschuss machen
Der BlockTake Snapshot erstellt ein Bild von dem, was der KI-Vision-Sensor aktuell sieht, und extrahiert Daten aus dieser Momentaufnahme, die dann in einem Projekt verwendet werden können. Wenn eine Momentaufnahme erstellt wird, müssen Sie angeben, von welchem Objekttyp der KI-Vision-Sensor Daten erfassen soll:
- Farbsignatur
- Farbcode
- KI-Klassifizierungen
- AprilTags
Durch das Erstellen eines Snapshots wird ein Array aller erkannten Objekte erzeugt, die Sie angegeben haben. Wenn Sie beispielsweise eine „rote“Farbsignaturerkennen möchten und der KI-Vision-Sensor 3 verschiedene rote Objekte erkennt, werden die Daten aller drei in das Array eingefügt.
Weitere Informationen zur Unterscheidung zwischen verschiedenen Objekten finden Sie im Abschnitt „Objektelement festlegen“ in diesem Artikel.
In diesem Beispiel werden nur Objekte erkannt, die der konfigurierten Farbsignatur „Blau“ entsprechen, und keine anderen.
Daten aus einer Momentaufnahme
Beachten Sie, dass der KI-Vision-Sensor für alle nachfolgenden Blöcke die zuletzt aufgenommene Momentaufnahme verwendet. Um sicherzustellen, dass Sie immer die aktuellsten Informationen von Ihrem KI-Vision-Sensor erhalten, sollten Sie jedes Mal eine neue Aufnahme machen, wenn Sie Daten daraus abrufen möchten.
Auflösung
Das Verständnis der Auflösung des KI-Vision-Sensors ist für eine genaue Dateninterpretation entscheidend. Der Sensor hat eine Auflösung von 320x240 Pixeln, wobei sich der genaue Mittelpunkt bei den Koordinaten (160, 120) befindet.
X-Koordinaten kleiner als 160 entsprechen der linken Hälfte des Sichtfelds des Sensors, während solche größer als 160 die rechte Hälfte darstellen. Analog dazu bezeichnen Y-Koordinaten unter 120 die obere Hälfte des Bildausschnitts, solche über 120 die untere Hälfte.
Gehen Sie zu „Daten verstehen“ im AI Vision Utility in VEXcode EXP , um mehr darüber zu erfahren, wie Objekte mit dem AI Vision Sensor gemessen werden.
Breite und Höhe
Dies ist die Breite oder Höhe des erkannten Objekts in Pixeln.
Die Breiten- und Höhenangaben helfen bei der Identifizierung verschiedener Objekte. Ein Buckyball ist beispielsweise höher als ein Ring.
Breite und Höhe geben auch die Entfernung eines Objekts vom KI-Vision-Sensor an. Kleinere Messwerte bedeuten in der Regel, dass das Objekt weiter entfernt ist, während größere Messwerte darauf hindeuten, dass es näher ist.
In diesem Beispiel wird die Breite des Objekts zur Navigation verwendet. Der Roboter nähert sich dem Objekt so lange, bis die Breite eine bestimmte Größe erreicht hat, bevor er anhält.
ZentrumX und ZentrumY
Dies sind die Mittelpunktkoordinaten des erkannten Objekts in Pixeln.
Die CenterX- und CenterY-Koordinaten helfen bei der Navigation und Positionierung. Der KI-Vision-Sensor hat eine Auflösung von 320 x 240 Pixeln.
Man kann erkennen, dass ein Objekt, das näher am KI-Vision-Sensor ist, eine niedrigere CenterY-Koordinate hat als ein Objekt, das weiter entfernt ist.
Da sich in diesem Beispiel der Mittelpunkt des Sichtfelds des KI-Vision-Sensors bei (160, 120) befindet, dreht sich der Roboter nach rechts, bis die CenterX-Koordinate eines erkannten Objekts größer als 150 Pixel, aber kleiner als 170 Pixel ist.
Winkel
Angle ist eine Eigenschaft, die nur fürFarbcodes undAprilTagsverfügbar ist. Dies stellt dar, ob der erkannte Farbcodeoder AprilTag anders ausgerichtet ist.
Sie können überprüfen, ob der Roboter in Bezug auf den Farbcode oderAprilTag anders ausgerichtet ist und entsprechend Navigationsentscheidungen treffen.
Wird beispielsweise einFarbcode nicht im richtigen Winkel erkannt, kann das von ihm dargestellte Objekt möglicherweise nicht richtig vom Roboter aufgenommen werden.
OriginX und OriginY
OriginX und OriginY sind die Koordinaten in der oberen linken Ecke des erkannten Objekts in Pixeln.
Die Koordinaten OriginX und OriginY helfen bei der Navigation und Positionierung. Durch die Kombination dieser Koordinate mit der Breite und Höhe des Objekts lässt sich die Größe des Begrenzungsrahmens des Objekts bestimmen. Dies kann beim Verfolgen sich bewegender Objekte oder beim Navigieren zwischen Objekten hilfreich sein.
In diesem Beispiel wird auf dem Gehirn ein Rechteck gezeichnet, wobei die genauen Koordinaten seines Ursprungs, seiner Breite und seiner Höhe verwendet werden.
tagID
Die Tag-ID ist nur fürAprilTagsverfügbar. Dies ist die ID-Nummer für den angegebenenAprilTag.
Durch die Identifizierung spezifischer AprilTags wird eine selektive Navigation ermöglicht. Sie können Ihren Roboter so programmieren, dass er sich auf bestimmte Markierungen zubewegt, während er andere ignoriert, und diese somit effektiv als Wegweiser für die automatisierte Navigation nutzen.
Punktzahl
Die Score-Eigenschaft wird verwendet, wenn mit dem KI-Vision-SensorKI-Klassifizierungen erkannt werden.
Der Konfidenzwert gibt an, wie sicher sich der KI-Vision-Sensor bei seiner Erkennung ist. In diesem Bild ist die KI-Klassifizierung dieser vier Objekte zu 99 % sicher. Mithilfe dieses Wertes können Sie sicherstellen, dass sich Ihr Roboter nur auf Erkennungen mit hoher Treffsicherheit konzentriert.
Objekt festlegen
Wenn ein Objekt vom KI-Vision-Sensor erkannt wird, wird es in ein Array eingefügt. Standardmäßig liest der KI-Vision-Sensor Daten vom ersten Objekt im Array, also dem Objekt mit dem Index 1. Wenn Ihr KI-Vision-Sensor nur ein Objekt erkannt hat, wird dieses Objekt standardmäßig ausgewählt.
Wenn Ihr KI-Vision-Sensor jedoch mehrere Objekte gleichzeitig erkannt hat, müssen Sie den Block „Objekt festlegen Element verwenden, um anzugeben, von welchem Objekt Sie Daten abrufen möchten.
Wenn der KI-Vision-Sensor mehrere Objekte erkennt, werden diese in der Anordnung vom größten zum kleinsten Objekt angeordnet. Das bedeutet, dass das größte erkannte Objekt immer den Objektindex 1 erhält und das kleinste Objekt immer die höchste Zahl.
In diesem Beispiel wurden zwei Objekte mit der Farbsignatur „Blau“ erkannt. Beide Elemente werden in das Array eingefügt, wenn der BlockTake Snapshot verwendet wird.
Hierbei würde das vorderste Objekt den Objektindex 1 erhalten, da es das größte Objekt ist, und das kleinste Objekt den Objektindex 2.
Objekt existiert
Bevor Daten aus einem Snapshot abgerufen werden, ist es wichtig zu überprüfen, ob der KI-Vision-Sensor Objekte aus diesem Snapshot erkannt hat. Hier kommt der BlockObjekte existieren ins Spiel.
Dieser Block gibt einen Wert vonWahr), 1 (Falsch), (Falsch) oder(Nicht wahr zurück, je nachdem, ob im zuletzt erstellten Snapshot Objekte erkannt wurden.
Block sollteverwendet werden um sicherzustellen, dass Sie nicht versuchen, Daten aus einem möglicherweise leeren Snapshot abzurufen.
Hier wird der Roboter beispielsweise ständig Schnappschüsse mit dem KI-Vision-Sensor aufnehmen. Wenn es mit der „blauen Farbsignatur erkennt, fährt es.
Wenn ein Schnappschuss nicht die „Blaue“ Farbsignaturaufweist, stoppt der Roboter seine Bewegung.
Objektanzahl
Mit dem Block Objektanzahl KI-Vision-Sensor in seiner letzten Momentaufnahme erkennen konnte.
Hier sehen wir, dass der KI-Vision-Sensor die konfigurierte Farbsignatur Farbe „Blau“ hat und zwei Objekte erkennt.
In diesem Code würde der KI-Vision-Sensor eine Momentaufnahme machen und „2“ auf der VEXcode-Konsole ausgeben, da er nur zwei „Blaue“ Farbsignaturenerkennt.
Objekt
Der BlockObjekt ermöglicht es Ihnen, die Eigenschaften des angegebenen Objekts auszugeben. Dies ermöglicht es Ihnen, alle verfügbaren Daten aus der zuletzt erstellten Momentaufnahme zu nutzen.
Folgende Objekteigenschaften können aus erstellten Momentaufnahmen abgerufen werden:
- Breite
- Höhe
- centerX
- ZentrumY
- Winkel
- originX
- UrsprungY
- tagID
- Punktzahl
Weitere Informationen zu diesen Eigenschaften finden Sie im Abschnitt „Daten aus der Momentaufnahme“ dieses Artikels.
AprilTag erkannt
Der Block AprilTags“ ist nur verfügbar, wenn der-Erkennungsmodus aktiviert ist.
Dieser Block gibt True oder False zurück, je nachdem, ob es sich bei dem angegebenen Objekt um einen bestimmten AprilTag handelt.
Werden in einem einzelnen Snapshot mehrere AprilTags erkannt, werden sie im Array anhand ihrer identifizierten ID und nicht anhand ihrer Größe angeordnet.
In diesem Bild werden drei AprilTags mit den IDs 0, 3 und 9 erkannt. Sie werden in aufsteigender Reihenfolge ihrer ID im Array angeordnet. Das Objekt an Index 1 entspricht dem AprilTag mit der ID 0, an Index 2 dem AprilTag mit der ID 3 und an Index 3 dem AprilTag mit der ID 9.
KI-Klassifizierung ist
Der BlockAI Classification is ist nur verfügbar, wenn der Erkennungsmodus „AI Classification Detection Mode aktiviert ist.
Dieser Block gibt True oder False zurück, je nachdem, ob es sich bei dem angegebenen Objekt um eine bestimmte KI-Klassifizierung handelt.
Welche KI-Klassifizierungen vom KI-Vision-Sensor erkannt werden können, hängt vom verwendeten Modell ab. Weitere Informationen zu den verfügbaren KI-Klassifizierungen und deren Erkennung mit dem KI-Vision-Sensor finden Sie in diesem Artikel.