مستشعر رؤية بالذكاء الاصطناعي#

مقدمة#

يستطيع مستشعر الرؤية المدعوم بالذكاء الاصطناعي اكتشاف وتتبع الأجسام والألوان ومعرفات AprilTag. وهذا يسمح للروبوت بتحليل محيطه، ومتابعة الأجسام، والتفاعل بناءً على البيانات المرئية المكتشفة.

فيما يلي قائمة بالكتل المتاحة:

الإجراءات – التقاط البيانات من مستشعر الرؤية المدعوم بالذكاء الاصطناعي لتوقيع محدد.

  • أخذ لقطة – يلتقط البيانات لتوقيع معين، مثل لون مُكوّن، أو كائن مُدرّب مسبقًا، أو معرف AprilTag.

الإعدادات – اختر العنصر الذي تريد التفاعل معه.

القيم – الوصول إلى البيانات التي تم جمعها واستخدامها.

الإجراءات#

التقط صورة للشاشة#

تقوم كتلة المكدس أخذ لقطة بتصفية البيانات من إطار مستشعر الرؤية بالذكاء الاصطناعي إلى توقيع واحد - وهو وصف محفوظ لشيء يمكن للمستشعر التعرف عليه، مثل كائن مدرب مسبقًا، أو معرف AprilTag، أو لون أو رمز لوني تم تكوينه.

يجب أولاً ضبط الألوان ورموز الألوان في أداة الرؤية بالذكاء الاصطناعي قبل استخدامها مع هذه الوحدة.

تحتوي مجموعة البيانات على كائنات مرتبة من الأكبر إلى الأصغر حسب العرض، بدءًا من الفهرس 0. يمكن الوصول إلى خصائص كل كائن باستخدام كتلة AI Vision object property. يتم الإبلاغ عن مجموعة بيانات فارغة في حال عدم اكتشاف أي كائنات مطابقة.

كتلة التقاط اللقطة.#
التقط لقطة [AIVision1 v] من [SELECT_A_SIG v]

المعلمة

وصف

جهاز

أي مستشعر رؤية يعمل بالذكاء الاصطناعي يجب استخدامه؟

إمضاء

يقوم هذا الإجراء بتصفية مجموعة البيانات بحيث لا تتضمن إلا البيانات التي تحمل التوقيع المحدد. التوقيعات المتاحة هي:

ملاحظة: لكي تظهر خيارات معرف AprilTag أو تصنيف الذكاء الاصطناعي، يجب تمكين اكتشافها في أداة AI Vision Utility.

مثال

عند البدء
[Drive forward if an AprilTag ID is detected.]
للأبد
التقط لقطة [AIVision1 v] من [AprilTag IDs v]
إذا <كائن [AIVIsion1 v] موجود؟> إذن
تشغيل [للأمام v] لمسافة [10] [مم v] ▶

تصنيفات الذكاء الاصطناعي#

يستطيع مستشعر الرؤية المدعوم بالذكاء الاصطناعي اكتشاف أجسام مختلفة ضمن تصنيفات ذكاء اصطناعي محددة. ويختلف الجسم الذي يتم اكتشافه باختلاف نموذج تصنيف الذكاء الاصطناعي المُختار عند إعداد مستشعر الرؤية المدعوم بالذكاء الاصطناعي في نافذة الأجهزة. النماذج المتاحة حاليًا هي:

أدوات الفصل الدراسي

  • بلو بول

  • جرينبول

  • ريدبول

  • بلو رينغ

  • جرين رينج

  • ريد رينغ

  • بلو كيوب

  • جرين كيوب

  • ريد كيوب

دفعة خلفية في مسابقة VEX V5 للروبوتات

  • بلو بلوك

  • ريد بلوك

مسابقة VEX V5 للروبوتات ذات الرهانات العالية

  • موبايل جول

  • ريد رينغ

  • بلو رينغ

تجاوز مسابقة الروبوتات VEX V5

  • دبوس أحمر أزرق

  • دبوس أزرق أصفر

  • دبوس أحمر أصفر

  • يلوبين

  • كوب

التوقيعات اللونية#

البصمة اللونية هي لون فريد يمكن لمستشعر الرؤية المدعوم بالذكاء الاصطناعي التعرف عليه. تُمكّن هذه البصمات المستشعر من اكتشاف الأجسام وتتبعها بناءً على لونها. بمجرد ضبط البصمة اللونية، يستطيع المستشعر تحديد الأجسام التي تحمل هذا اللون المحدد ضمن مجال رؤيته.

تُستخدم التوقيعات اللونية في كتلة أخذ لقطة لمعالجة واكتشاف الكائنات الملونة في الوقت الفعلي. يمكن تهيئة ما يصل إلى 7 توقيعات لونية في وقت واحد.

أداة الرؤية المدعومة بالذكاء الاصطناعي تُظهر مستشعر رؤية متصلًا يكتشف جسمين ملونين. يعرض الجانب الأيسر بثًا مباشرًا من الكاميرا مع مربع أزرق على اليسار ومربع أحمر على اليمين، كل منهما مُحاط بمربعات بيضاء. تُظهر الملصقات السوداء أسماءهما وإحداثياتهما وأبعادهما. يحتوي الجانب الأيمن على إعدادات توقيع اللون، مع أشرطة تمرير لنطاق درجة اللون والتشبع لكل من المربعين الأحمر والأزرق. توجد أزرار إضافة الألوان وتجميد الفيديو ونسخ الصورة وحفظها في الأسفل، بالإضافة إلى زر إغلاق في الزاوية اليمنى السفلى.

مثال

عند البدء
[Display if any objects matching the RED_BOX signature is detected.]
للأبد
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
امسح الصف [1] من الشاشة
[Change the signature to any configured Color Signature.]
التقط لقطة [AIVision1 v] من [RED_BOX v]
إذا <كائن [AIVision1 v] موجود؟> إذن
اطبع [Color detected!] على الشاشة ▶

رموز الألوان#

رمز اللون هو نمط منظم يتكون من 2 إلى 4 رموز لونية مرتبة بترتيب محدد. تسمح هذه الرموز لمستشعر الرؤية المدعوم بالذكاء الاصطناعي بالتعرف على أنماط الألوان المحددة مسبقًا.

تُعدّ رموز الألوان مفيدةً للغاية لتحديد العناصر المعقدة، ومواءمتها مع عناصر اللعبة، أو إنشاء علامات مميزة للتنقل الذاتي. ويمكن ضبط ما يصل إلى 8 رموز ألوان في الوقت نفسه.

تعرض واجهة أداة الرؤية بالذكاء الاصطناعي مستشعر رؤية متصلًا يكتشف جسمين متجاورين، مربع أزرق على اليسار ومربع أحمر على اليمين، مجمعين معًا في مربع أبيض واحد يحمل اسم BlueRed. تتضمن معلومات الكشف الزاوية (A: 11°)، والإحداثيات (X: 143، Y: 103)، والعرض (W: 233)، والارتفاع (H: 108). في اللوحة اليمنى، تظهر ثلاثة أنماط لونية: Red_Box وBlue_Box وBlueRed، مع نطاقات قابلة للتعديل للون والتشبع. يجمع نمط BlueRed بين نمطي Blue_Box وRed_Box. أسفل بث الفيديو، توجد أزرار تحمل أسماء: تجميد الفيديو، ونسخ الصورة، وحفظ الصورة، والإغلاق.

مثال

عند البدء
[Display if any objects matching the RED_BLUE code is detected.]
للأبد
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
امسح الصف [1] من الشاشة
[Change the signature to any configured Color Code.]
التقط لقطة [AIVision1 v] من [RED_BLUE v]
إذا <كائن [AIVision1 v] موجود؟> إذن
اطبع [Code detected!] على الشاشة ▶

إعدادات#

تعيين عنصر كائن رؤية الذكاء الاصطناعي#

تحدد كتلة المكدس set AI Vision object item العنصر المراد استخدامه في مجموعة البيانات.

مجموعة عناصر مجموعة رؤية الذكاء الاصطناعي.#
اضبط عنصر كائن [AIVision1 v] إلى (1)

حدود

وصف

جهاز

أي مستشعر رؤية يعمل بالذكاء الاصطناعي يجب استخدامه؟

غرض

رقم العنصر المراد استخدامه في مجموعة البيانات.

مثال

مجموعة من الكتل البرمجية تبدأ بكتلة “عند بدء التشغيل”، تليها كتلة تعليق بعنوان “عرض أكبر مُعرّف AprilTag تم اكتشافه”. داخل حلقة تكرار لا نهائية، تقوم كتلة “التقاط لقطة AI Vision” بالتقاط صورة لمعرّفات AprilTag. تتحقق كتلة “إذا” من وجود كائن AI Vision. إذا كان الشرط صحيحًا، تقوم كتلة “تعيين عنصر كائن AI Vision” بتعيين عدد الكائنات إلى متغير، وتقوم كتلة “طباعة” بعرض مُعرّف العلامة للكائن المكتشف على الشاشة.#
عند البدء
[Display the largest detected AprilTag ID.]
للأبد
التقط لقطة [AIVision1 v] من [AprilTag IDs v]
امسح الصف [1] من الشاشة
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
إذا <كائن [AIVision1 v] موجود؟> إذن
اضبط عنصر كائن [AIVision1 v] إلى (عدد كائنات [AIVision1 v])
اطبع (كائن [AIVision1 v] [tagID v]) على الشاشة ▶

قيم#

كائن رؤية الذكاء الاصطناعي موجود#

يشير مربع AI Vision object exists المنطقي إلى ما إذا تم اكتشاف أي كائن في مجموعة البيانات.

  • صحيح – تتضمن مجموعة البيانات كائنًا تم اكتشافه.

  • خطأ – لا تتضمن مجموعة البيانات أي كائنات تم اكتشافها.

كائن رؤية الذكاء الاصطناعي موجود في كتلة منطقية.#
<كائن [AIVision1 v] موجود؟>

حدود

وصف

جهاز

أي مستشعر رؤية يعمل بالذكاء الاصطناعي يجب استخدامه؟

مثال

عند البدء
[Drive forward if an object is detected.]
للأبد
التقط لقطة [AIVision1 v] من [تصنيفات الذكاء الاصطناعي v]
إذا <كائن [AIVision1 v] موجود؟> إذن
تشغيل [للأمام v] لمسافة [10] [مم v] ▶

كائن رؤية الذكاء الاصطناعي هو#

تقوم كتلة AI Vision object is المنطقية بالإبلاغ عما إذا كان الكائن المكتشف يطابق تصنيفًا محددًا.

  • صحيح – العنصر الموجود في مجموعة البيانات هو الكائن المحدد.

  • خطأ – العنصر الموجود في مجموعة البيانات ليس هو الكائن المحدد.

يُعدّ تصنيف الذكاء الاصطناعي للرؤية والذكاء الاصطناعي كتلة منطقية للكائن.#
<كائن [AIVision1 v] هو [BlueBall v]؟>

المعلمة

وصف

جهاز

أي مستشعر رؤية يعمل بالذكاء الاصطناعي يجب استخدامه؟

هدف

Which AI Classification to compare the item to.

مثال

عند البدء
[Display if a Blue Cube is detected.]
للأبد
التقط لقطة [AIVision1 v] من [تصنيفات الذكاء الاصطناعي v]
امسح الصف [1] من الشاشة
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <كائن [AIVision1 v] هو [BlueCube v]؟> إذن
اطبع [Cube detected!] على الشاشة ▶
انتظر [0.5] ثانية

كائن رؤية الذكاء الاصطناعي هو معرف AprilTag#

كائن الرؤية الذكية هو معرف AprilTag كتلة منطقية تُبلغ عما إذا كان معرف AprilTag المكتشف يطابق معرفًا محددًا.

  • صحيح – معرف AprilTag هو الرقم.

  • خطأ – معرف AprilTag ليس هو الرقم.

تم اكتشاف معرف AprilTag بواسطة تقنية الذكاء الاصطناعي، وهو عبارة عن كتلة منطقية.#
<[AIVision1 v] object is AprilTag ID [1] ?>

حدود

وصف

جهاز

أي مستشعر رؤية يعمل بالذكاء الاصطناعي يجب استخدامه؟

رقم تعريف AprilTag

الرقم المراد مقارنته برقم تعريف AprilTag المكتشف.

مثال:

عند البدء
[Report if AprilTag ID 3 is detected.]
للأبد
امسح الشاشة
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
التقط لقطة [AIVision1 v] من [AprilTag IDs v]
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <[AIVision1 v] object is AprilTag ID [3] ?> إذن
اطبع [That is 3!] على الشاشة ▶
وإلا
اطبع [That isn't 3!] على الشاشة ▶
fin
fin
انتظر [0.1] ثانية

عدد الكائنات في رؤية الذكاء الاصطناعي#

تقوم وحدة الإبلاغ عن عدد الكائنات المكتشفة في مجموعة البيانات بـ AI Vision object count كرقم صحيح.

مجموعة عناصر مجموعة رؤية الذكاء الاصطناعي.#
(عدد كائنات [AIVision1 v])

حدود

وصف

جهاز

أي مستشعر رؤية يعمل بالذكاء الاصطناعي يجب استخدامه؟

مثال

عند البدء
[Display the total amount of cubes, rings, and balls.]
للأبد
امسح الصف [1] من الشاشة
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
التقط لقطة [AIVision1 v] من [تصنيفات الذكاء الاصطناعي v]
إذا <كائن [AIVision1 v] موجود؟> إذن
اطبع (عدد كائنات [AIVision1 v]) على الشاشة ▶
fin
انتظر [0.5] ثانية

خاصية كائن رؤية الذكاء الاصطناعي#

هناك تسع خصائص يتم تضمينها مع كل كائن (موضح أدناه) يتم تخزينها بعد استخدام كتلة take snapshot.

كتلة الإبلاغ عن خصائص كائنات الرؤية الذكية.#
(كائن [AIVision1 v] [العرض v])

تصف جميع قيم الخصائص، باستثناء tagID وscore، موضع وحجم الكائن المكتشف في مجال رؤية مستشعر الرؤية بالذكاء الاصطناعي لحظة استخدام كتلة take snapshot. تُقاس هذه القيم بالبكسل، بناءً على دقة المستشعر البالغة 320 × 240 بكسل.

المعلمة

وصف

جهاز

أي مستشعر رؤية يعمل بالذكاء الاصطناعي يجب استخدامه؟

ملكية

أي خاصية من خصائص الكائن المكتشف يجب استخدامها؟

عرض#

تُبلغ خاصية العرض عن عرض الكائن المكتشف بالبكسل كرقم صحيح من 1 إلى 320.

كتلة خصائص كائن الرؤية الذكية مع ضبط معلماتها على العرض.#
(كائن [AIVision1 v] [العرض v])

مثال

عند البدء
[Drive towards an object until its width is larger than 100 pixels.]
للأبد
التقط لقطة [AIVision1 v] من [تصنيفات الذكاء الاصطناعي v]
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <(كائن [AIVision1 v] [العرض v]) [math_less_than v] [100]> إذن
تشغيل [للأمام v]
وإلا
إيقاف القيادة
fin

ارتفاع#

تُظهر خاصية الارتفاع ارتفاع الكائن المكتشف بالبكسل كرقم صحيح من 1 إلى 240.

كتلة خصائص كائن الرؤية الذكية مع ضبط معلماتها على الارتفاع.#
(كائن [AIVision1 v] [الارتفاع v])

مثال

عند البدء
[Drive towards an object until its height is larger than 100 pixels.]
للأبد
التقط لقطة [AIVision1 v] من [تصنيفات الذكاء الاصطناعي v]
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <(كائن [AIVision1 v] [الارتفاع v]) [math_less_than v] [100]> إذن
تشغيل [للأمام v]
وإلا
إيقاف القيادة
fin

سنتر إكس#

تقوم خاصية centerX بالإبلاغ عن الإحداثي السيني لمركز الكائن المكتشف بالبكسل كرقم صحيح من 0 إلى 320.

كتلة خصائص كائن الرؤية الذكية مع ضبط معلماتها على centerX.#
(كائن [AIVision1 v] [centerX v])

مثال

عند البدء
[Turn slowly until an object is centered in front of the robot.]
اضبط سرعة الدوران إلى [30] [% v]
استدر [يمين v]
للأبد
التقط لقطة [AIVision1 v] من [تصنيفات الذكاء الاصطناعي v]
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <[140] [math_less_than v] (كائن [AIVision1 v] [centerX v]) [math_less_than v] [180]> إذن
إيقاف القيادة

سنتري#

تقوم خاصية centerY بالإبلاغ عن إحداثيات y لمركز الكائن المكتشف بالبكسل كرقم صحيح من 0 إلى 240.

كتلة خصائص كائن الرؤية بالذكاء الاصطناعي مع ضبط معلماتها على centerY.#
(كائن [AIVision1 v] [centerY v])

مثال

عند البدء
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
للأبد
التقط لقطة [AIVision1 v] من [تصنيفات الذكاء الاصطناعي v]
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <(كائن [AIVision1 v] [centerY v]) [math_less_than v] [140]> إذن
تشغيل [للأمام v]
وإلا
إيقاف القيادة
fin

زاوية#

تشير خاصية الزاوية إلى اتجاه رمز اللون المكتشف أو معرف AprilTag كرقم صحيح بالدرجات من 0 إلى 359.

كتلة خصائص كائن الرؤية بالذكاء الاصطناعي مع ضبط معلماتها على الزاوية.#
(كائن [AIVision1 v] [الزاوية v])

مثال

عند البدء
[Slide left or right depending on how the Color Code is rotated.]
للأبد
التقط لقطة [AIVision1 v] من [RED_BLUE v]
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <[50] [math_less_than v] (كائن [AIVision1 v] [الزاوية v]) [math_less_than v] [100]> إذن
تشغيل [يمين v]
وإلا إذا <[270] [math_less_than v] (كائن [AIVision1 v] [الزاوية v]) [math_less_than v] [330]> إذن
تشغيل [يسار v]
وإلا
إيقاف القيادة
fin
وإلا
إيقاف القيادة

IX#

تشير خاصية originX إلى الإحداثي السيني للزاوية العلوية اليسرى من المربع المحيط بالكائن المكتشف بالبكسل كرقم صحيح من 0 إلى 320.

كتلة خصائص كائن الرؤية بالذكاء الاصطناعي مع تعيين معلماتها إلى originX.#
(كائن [AIVision1 v] [originX v])

مثال

عند البدء
[Display if an object is to the left or the right.]
للأبد
امسح الصف [1] من الشاشة
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
التقط لقطة [AIVision1 v] من [تصنيفات الذكاء الاصطناعي v]
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <(كائن [AIVision1 v] [originX v]) [math_less_than v] [160]> إذن
اطبع [To the left!] على الشاشة ▶
وإلا
اطبع [To the right!] على الشاشة ▶
fin
انتظر [0.5] ثانية

الأصل Y#

تشير خاصية originY إلى إحداثيات y للزاوية العلوية اليسرى من المربع المحيط بالكائن المكتشف بالبكسل كرقم صحيح من 0 إلى 240.

كتلة خصائص كائن الرؤية بالذكاء الاصطناعي مع تعيين معلماتها إلى originY.#
(كائن [AIVision1 v] [originY v])

مثال

عند البدء
[Display if an object is close or far from the robot.]
للأبد
امسح الصف [1] من الشاشة
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
التقط لقطة [AIVision1 v] من [تصنيفات الذكاء الاصطناعي v]
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <(كائن [AIVision1 v] [originY v]) [math_less_than v] [80]> إذن
اطبع [Far!] على الشاشة ▶
وإلا
اطبع [Close!] على الشاشة ▶
fin
انتظر [0.5] ثانية

tagID#

تقوم خاصية tagID بالإبلاغ عن رقم تعريف AprilTag ID المكتشف كرقم صحيح.

كتلة خصائص كائن الرؤية الذكية مع تعيين معلماتها إلى tagID.#
(كائن [AIVision1 v] [tagID v])

مثال

عند البدء
[Drive forward when AprilTag ID 0 is detected.]
للأبد
التقط لقطة [AIVision1 v] من [AprilTag IDs v]
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <(كائن [AIVision1 v] [tagID v]) [math_equal v] [0]> إذن
تشغيل [للأمام v]
وإلا
إيقاف القيادة
fin
انتظر [0.5] ثانية

نتيجة#

تُظهر خاصية النتيجة مدى ثقة النموذج في تصنيف الذكاء الاصطناعي المكتشف كنسبة مئوية من 70% إلى 100%.

تشير الدرجة المنخفضة إلى أن المستشعر أقل ثقة بشأن الجسم المكتشف، بينما تشير الدرجة الأعلى إلى أن المستشعر أكثر ثقة.

كتلة خصائص كائن الرؤية الذكية مع تعيين معلماتها إلى tagID.#
(كائن [AIVision1 v] [النتيجة v])