Stellen Sie sicher, dass Sie Farbsignaturen und Farbcodes mit Ihrem AI Vision Sensor konfiguriert haben, damit diese mit Ihren Blöcken verwendet werden können. Um mehr darüber zu erfahren, wie Sie sie konfigurieren, können Sie die folgenden Artikel lesen:
- Konfigurieren von Farbsignaturen mit der AI Vision Signature in VEXcode V5
- Konfigurieren von Farbcodes mit der AI Vision Signature in VEXcode V5
Der AI Vision Sensor kann auch AI-Klassifizierungen und AprilTags erkennen. Um zu erfahren, wie Sie diese Erkennungsmodi aktivieren, klicken Sie hier:
- KI-Klassifizierungen mit dem KI-Vision-Sensor in VEXcode V5
- AprilTags mit dem AI Vision Sensor in VEXcode V5
Schnappschuss machen
Der BlockSchnappschuss machen “ macht ein Bild von dem, was der AI Vision Sensor aktuell sieht, und extrahiert Daten aus diesem Schnappschuss, die dann in einem Projekt verwendet werden können. Wenn ein Schnappschuss gemacht wird, müssen Sie angeben, von welchem Objekttyp der AI Vision Sensor Daten erfassen soll:
- Farbsignatur
- Farbcode
- KI-Klassifikationen
- AprilTags
Durch das Erstellen eines Schnappschusses wird ein Array aller erkannten Objekte erstellt, die Sie angegeben haben. Wenn Sie beispielsweise eine „Rote“Farbsignaturerkennen möchten und der AI Vision Sensor drei verschiedene rote Objekte erkennt, werden die Daten von allen drei in das Array eingefügt.
Weitere Informationen zum Festlegen 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 sonst nichts.
Aus einem Snapshot entnommene Daten
Bedenken Sie, dass der AI Vision Sensor für alle nachfolgenden Blöcke seinen zuletzt aufgenommenen Schnappschuss verwendet. Um sicherzustellen, dass Sie immer die aktuellsten Informationen von Ihrem AI Vision Sensor erhalten, erstellen Sie Ihren Schnappschuss jedes Mal erneut, wenn Sie Daten daraus abrufen möchten.
Auflösung
Für eine genaue Dateninterpretation ist es entscheidend, die Auflösung des AI Vision Sensors zu verstehen. Der Sensor hat eine Auflösung von 320 x 240 Pixeln, wobei der genaue Mittelpunkt bei den Koordinaten (160, 120) liegt.
X-Koordinaten kleiner als 160 entsprechen der linken Hälfte des Sichtfelds des Sensors, während X-Koordinaten größer als 160 die rechte Hälfte darstellen. Ebenso geben Y-Koordinaten unter 120 die obere Hälfte der Ansicht an und solche über 120 die untere Hälfte.
Weitere Informationen zum Messen von Objekten mit dem AI Vision Sensor finden Sie unter Verstehen der Daten im AI Vision Utility in VEXcode V5.
Breite und Höhe
Dies ist die Breite oder Höhe des erkannten Objekts in Pixeln.
Die Breiten- und Höhenangaben helfen dabei, unterschiedliche Objekte zu identifizieren. Beispielsweise ist ein Buckyball höher als ein Ring.
Breite und Höhe geben auch die Entfernung eines Objekts vom AI Vision Sensor an. Kleinere Messungen bedeuten normalerweise, dass das Objekt weiter entfernt ist, während größere Messungen vermuten lassen, dass es näher ist.
In diesem Beispiel wird die Breite des Objekts zur Navigation verwendet. Der Roboter nähert sich dem Objekt, bis die Breite eine bestimmte Größe erreicht hat, und stoppt dann.
CenterX und Center Y
Dies sind die Mittelpunktskoordinaten des erkannten Objekts in Pixeln.
Die Koordinaten CenterX und CenterY helfen bei der Navigation und Positionierung. Der AI Vision Sensor hat eine Auflösung von 320 x 240 Pixeln.
Sie können sehen, dass ein Objekt, das näher am AI Vision Sensor ist, eine niedrigere CenterY-Koordinate hat als ein weiter entferntes Objekt.
Da in diesem Beispiel der Mittelpunkt der Ansicht des AI Vision Sensors (160, 120) ist, dreht sich der Roboter nach rechts, bis die Mitte-X-Koordinate eines erkannten Objekts größer als 150 Pixel, aber kleiner als 170 Pixel ist.
Winkel
Winkel ist eine Eigenschaft, die nur fürFarbcodes undAprilTagsverfügbar ist. Dies stellt dar, ob der erkannteFarbcodeoder AprilTag anders ausgerichtet ist.
Sie können erkennen, ob der Roboter in Bezug auf denFarbcode oderAprilTag anders ausgerichtet ist und entsprechend Navigationsentscheidungen treffen.
Wenn beispielsweise einFarbcode nicht im richtigen Winkel erkannt wird, kann es sein, dass der Roboter das entsprechende Objekt nicht richtig aufnehmen kann.
OriginX und OriginY
OriginX und OriginY sind die Koordinate an der oberen linken Ecke des erkannten Objekts in Pixeln.
OriginX- und OriginY-Koordinaten helfen bei der Navigation und Positionierung. Durch Kombinieren dieser Koordinate mit der Breite und Höhe des Objekts können Sie die Größe des Begrenzungsrahmens des Objekts bestimmen. Dies kann beim Verfolgen bewegter Objekte oder beim Navigieren zwischen Objekten hilfreich sein.
In diesem Beispiel wird auf das Gehirn ein Rechteck mit den genauen Koordinaten seines Ursprungs, seiner Breite und Höhe gezeichnet.
tagID
Die TagID ist nur fürAprilTagsverfügbar. Dies ist die ID-Nummer für den angegebenenAprilTag.
Durch die Identifizierung spezifischer AprilTags ist eine selektive Navigation möglich. Sie können Ihren Roboter so programmieren, dass er sich auf bestimmte Markierungen zubewegt und andere ignoriert, und diese so effektiv als Wegweiser für die automatische Navigation nutzt.
Punktzahl
Die Score-Eigenschaft wird verwendet, wennKI-Klassifizierungen mit dem KI-Vision-Sensor erkannt werden.
Der Vertrauenswert gibt an, wie sicher sich der AI Vision Sensor bei seiner Erkennung ist. In diesem Bild ist die Identifizierung der KI-Klassifizierungen dieser vier Objekte zu 99 % sicher. Mit diesem Score können Sie sicherstellen, dass sich Ihr Roboter nur auf Erkennungen mit hoher Sicherheit konzentriert.
Objektelement festlegen
Wenn der AI Vision Sensor ein Objekt erkennt, wird es in ein Array eingefügt. Standardmäßig zieht der AI Vision Sensor Daten vom ersten Objekt im Array oder dem Objekt mit dem Index 1. Wenn Ihr AI Vision Sensor nur ein Objekt erkannt hat, wird dieses Objekt standardmäßig ausgewählt.
Wenn Ihr AI Vision Sensor jedoch mehrere Objekte gleichzeitig erkannt hat, müssen Sie den BlockObjektelement festlegen verwenden, um anzugeben, von welchem Objekt Sie Daten abrufen möchten.
Wenn der AI Vision Sensor mehrere Objekte erkennt, werden sie im Array vom größten zum kleinsten angeordnet. Das bedeutet, dass dem größten erkannten Objekt immer der Objektindex 1 und dem kleinsten Objekt immer die höchste Nummer zugewiesen wird.
In diesem Beispiel wurden zwei Objekte mit der Farbsignatur „Blau“ erkannt. Sie werden beide in das Array eingefügt, wenn der BlockTake Snapshot verwendet wird.
Dabei würde das vordere Objekt den Objektindex 1 erhalten, da es das größte Objekt ist, und das kleinste Objekt würde den Objektindex 2 erhalten.
Objekt existiert
Bevor Sie Daten aus einem Snapshot abrufen, müssenimmer ob der AI Vision Sensor zuerst alle Objekte aus diesem Snapshot erkannt hat. Hier kommt der BlockObjekt existiert ins Spiel.
Dieser Block gibt einen WertTrue oderFalse zurück, je nachdem, ob im zuletzt erstellten Snapshot Objekte erkannt wurden oder nicht.
Dieser Block sollteimmer verwendet werden, um sicherzustellen, dass Sie nicht versuchen, Daten aus einem möglicherweise leeren Snapshot abzurufen.
Hier macht der Roboter beispielsweise mit dem AI Vision Sensor ständig Schnappschüsse. Wenn es irgendein Objekt mit der „blauen“ Farbsignaturidentifiziert, fährt es vorwärts.
Wenn ein Schnappschuss nicht die Farbsignatur „Blau“ aufweist, stoppt der Roboter seine Bewegung.
Objektanzahl
Mit dem Block Objektanzahl können Sie sehen, wie viele Objekte einer bestimmten Farbsignatur der AI Vision Sensor in seinem letzten Schnappschuss sehen kann.
Hier sehen wir, dass der AI Vision Sensor die konfigurierte Farbsignatur „Blau“ hat und zwei Objekte erkennt.
In diesem Code würde der AI Vision Sensor einen Schnappschuss machen und „2“ auf der VEXcode-Konsole ausgeben, da er nur zwei „blaue“ Farbsignaturenerkennt.
Objekt
Der BlockObjekt ermöglicht Ihnen, die Eigenschaft Ihres angegebenen Objekts zu melden. Auf diese Weise können Sie alle verfügbaren Daten aus dem zuletzt erstellten Snapshot verwenden.
Aus aufgenommenen Schnappschüssen können folgende Objekteigenschaften abgerufen werden:
- Breite
- Höhe
- ZentrumX
- MitteY
- Winkel
- HerkunftX
- Herkunft
- tagID
- Punktzahl
Weitere Informationen zu diesen Eigenschaften finden Sie im Abschnitt „Aus dem Snapshot übernommene Daten“ dieses Artikels.
Erkannter AprilTag ist
Der BlockErkannter AprilTag ist ist nur verfügbar, wenn derAprilTag-Erkennungsmodus aktiviert ist.
Dieser Block meldet „Wahr“ oder „Falsch“, je nachdem, ob das angegebene Objekt ein bestimmter AprilTag ist.
Wenn in einem einzelnen Snapshot mehrere AprilTags erkannt werden, werden sie im Array basierend auf ihrer identifizierten ID und nicht nach Größe angeordnet.
In diesem Bild werden drei AprilTags mit den IDs 0, 3 und 9 erkannt. Sie werden im Array in aufsteigender Reihenfolge ihrer ID organisiert. Das Objekt bei Index 1 würde dem AprilTag mit der ID 0 entsprechen, bei Index 2 dem AprilTag mit der ID 3 und bei Index 3 dem AprilTag mit der ID 9.
KI-Klassifizierung ist
Der BlockAI-Klassifizierung ist ist nur verfügbar, wenn der Erkennungsmodus derAI-Klassifizierung eingeschaltet ist.
Dieser Block meldet „True“ oder „False“, 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 zur Aktivierung ihrer Erkennung mit dem KI-Vision-Sensor finden Sie in diesem Artikel.