مستشعر رؤية بالذكاء الاصطناعي#
مقدمة#
يستطيع مستشعر الرؤية المدعوم بالذكاء الاصطناعي VEX IQ اكتشاف وتتبع الأجسام والألوان ومعرفات AprilTag. وهذا يسمح للروبوت بتحليل محيطه، ومتابعة الأجسام، والتفاعل بناءً على البيانات المرئية المكتشفة.
صُممت أمثلة الرؤية بالذكاء الاصطناعي للاستخدام مع روبوت Basebot مزود بمستشعر VEX IQ للرؤية بالذكاء الاصطناعي. في هذه الأمثلة، تم تكوين المستشعر بالاسم AIVision1، والذي يظهر في الكتل البرمجية.
فيما يلي قائمة بجميع الكتل:
الإجراءات — التقاط البيانات من مستشعر الرؤية VEX IQ AI لتوقيع محدد.
get object data — يلتقط البيانات لتوقيع معين، مثل لون مُكوّن، أو كائن مُدرّب مسبقًا، أو معرف AprilTag.
الإعدادات — اختر العنصر الذي تريد التفاعل معه.
set AI Vision object item — يحدد كائنًا معينًا من قائمة الكائنات المكتشفة.
القيم — الوصول إلى البيانات التي تم جمعها واستخدامها.
كائن رؤية الذكاء الاصطناعي موجود — يُبلغ عما إذا تم اكتشاف كائن ما.
عدد الكائنات المكتشفة بواسطة رؤية الذكاء الاصطناعي — يعرض عدد الكائنات المكتشفة.
خاصية كائن رؤية الذكاء الاصطناعي — تفاصيل التقارير مثل:
كائن رؤية الذكاء الاصطناعي هو؟ — يتحقق مما إذا كان الكائن المكتشف يطابق تصنيفًا محددًا.
كائن رؤية الذكاء الاصطناعي هو AprilTag؟ — يتحقق مما إذا كان الكائن المكتشف هو AprilTag مطابق لمعرف محدد.
كائن رؤية الذكاء الاصطناعي هو معرف AprilTag؟ — يتحقق مما إذا كان معرف AprilTag المكتشف يطابق معرفًا محددًا.
الإجراءات#
الحصول على بيانات الكائن#
تقوم كتلة المكدس get object data بتصفية البيانات من إطار مستشعر الرؤية VEX IQ AI إلى توقيع واحد - وهو وصف محفوظ لشيء يمكن للمستشعر التعرف عليه، مثل كائن مدرب مسبقًا، أو معرف AprilTag، أو لون أو رمز لوني تم تكوينه.
يجب أولاً ضبط الألوان ورموز الألوان في أداة الرؤية بالذكاء الاصطناعي قبل استخدامها مع هذه الوحدة.
تحتوي مجموعة البيانات على كائنات مرتبة من الأكبر إلى الأصغر حسب العرض، بدءًا من الفهرس 0. يمكن الوصول إلى خصائص كل كائن باستخدام كتلة AI Vision object property. يتم الإبلاغ عن مجموعة بيانات فارغة في حال عدم اكتشاف أي كائنات مطابقة.
احصل على بيانات [SELECT_A_SIG v] من [AIVision1 v]
المعلمة |
وصف |
|---|---|
إمضاء |
يقوم هذا الإجراء بتصفية مجموعة البيانات بحيث لا تتضمن إلا البيانات التي تحمل التوقيع المحدد. التوقيعات المتاحة هي:
|
ملاحظة: لكي تظهر خيارات معرف AprilTag أو تصنيف الذكاء الاصطناعي، يجب تمكين اكتشافها في أداة AI Vision Utility.
مثال
عند البدء
[Drive forward if an AprilTag ID is detected.]
للأبد
احصل على بيانات [AprilTag IDs v] من [AIVision1 v]
إذا <كائن [AIVIsion1 v] موجود؟> إذن
تشغيل [للأمام v] لمسافة [10] [مم v] ▶
تصنيفات الذكاء الاصطناعي#
يستطيع مستشعر الرؤية VEX IQ AI اكتشاف أجسام مختلفة ضمن تصنيفات الذكاء الاصطناعي المحددة. ويختلف الجسم الذي يتم اكتشافه باختلاف نموذج تصنيف الذكاء الاصطناعي المُختار عند إعداد مستشعر الرؤية VEX IQ AI في نافذة الأجهزة. النماذج المتاحة حاليًا هي:
أدوات الفصل الدراسي
بلو بول
جرينبول
ريدبول
بلو رينغ
جرين رينج
ريد رينغ
بلو كيوب
جرين كيوب
ريد كيوب
مسابقة VEX IQ للروبوتات - مزيج وتنسيق
شعاع
ريدبين
بلو بين
أورانج بين
ارتقِ بمستوى مسابقات VEX IQ للروبوتات
بلو بين باج
ريد بين باج
حقيبة فول صفراء
التوقيعات اللونية#
البصمة اللونية هي لون فريد يمكن لمستشعر الرؤية VEX IQ AI التعرف عليه. تُمكّن هذه البصمات المستشعر من اكتشاف الأجسام وتتبعها بناءً على لونها. بمجرد ضبط البصمة اللونية، يستطيع المستشعر تحديد الأجسام التي تحمل هذا اللون المحدد ضمن مجال رؤيته.
تُستخدم التوقيعات اللونية في كتلة get object data لمعالجة الكائنات الملونة واكتشافها في الوقت الفعلي. ويمكن تهيئة ما يصل إلى 7 توقيعات لونية في الوقت نفسه.

مثال
عند البدء
[Display if any objects matching the RED_BOX signature is detected.]
للأبد
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
امسح الصف [1] من الشاشة
[Change the signature to any configured Color Signature.]
احصل على بيانات [RED_BOX v] من [AIVision1 v]
إذا <كائن [AIVision1 v] موجود؟> إذن
اطبع [Color detected!] على الشاشة ▶
رموز الألوان#
رمز اللون هو نمط منظم يتكون من 2 إلى 4 رموز لونية مرتبة بترتيب محدد. تسمح هذه الرموز لمستشعر الرؤية VEX IQ AI بالتعرف على أنماط الألوان المحددة مسبقًا.
تُعدّ رموز الألوان مفيدةً للغاية لتحديد العناصر المعقدة، ومواءمتها مع عناصر اللعبة، أو إنشاء علامات مميزة للتنقل الذاتي. ويمكن ضبط ما يصل إلى 8 رموز ألوان في الوقت نفسه.

مثال
عند البدء
[Display if any objects matching the RED_BLUE code is detected.]
للأبد
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
امسح الصف [1] من الشاشة
[Change the signature to any configured Color Code.]
احصل على بيانات [RED_BLUE v] من [AIVision1 v]
إذا <كائن [AIVIsion1 v] موجود؟> إذن
اطبع [Code detected!] على الشاشة ▶
إعدادات#
تعيين عنصر كائن رؤية الذكاء الاصطناعي#
تحدد كتلة المكدس set AI Vision object item العنصر المراد استخدامه في مجموعة البيانات.
اضبط عنصر كائن [AIVision1 v] إلى (1)
حدود |
وصف |
|---|---|
غرض |
رقم العنصر المراد استخدامه في مجموعة البيانات. |
مثال
عند البدء
[Display the largest detected AprilTag ID.]
للأبد
احصل على بيانات [AprilTag IDs v] من [AIVision1 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.]
للأبد
احصل على بيانات [تصنيفات الذكاء الاصطناعي v] من [AIVision1 v]
إذا <كائن [AIVision1 v] موجود؟> إذن
تشغيل [للأمام v] لمسافة [10] [مم v] ▶
عدد الكائنات في رؤية الذكاء الاصطناعي#
تقوم وحدة الإبلاغ عن عدد الكائنات المكتشفة في مجموعة البيانات بـ AI Vision object count كرقم صحيح.
(عدد كائنات [AIVision1 v])
حدود |
وصف |
|---|---|
لا يحتوي هذا الجزء على أي معلمات. |
مثال
عند البدء
[Display the total amount of cubes, rings, and balls.]
للأبد
امسح الصف [1] من الشاشة
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
احصل على بيانات [تصنيفات الذكاء الاصطناعي v] من [AIVision1 v]
إذا <كائن [AIVision1 v] موجود؟> إذن
اطبع (عدد كائنات [AIVision1 v]) على الشاشة ▶
fin
انتظر [0.5] ثانية
خاصية كائن رؤية الذكاء الاصطناعي#
هناك تسع خصائص يتم تضمينها مع كل كائن (موضح أدناه) يتم تخزينها بعد استخدام كتلة get object data.
(كائن [AIVision1 v] [العرض v])
تصف جميع قيم الخصائص، باستثناء tagID، موضع وحجم الكائن المكتشف في مجال رؤية مستشعر الرؤية VEX IQ AI في اللحظة التي تم فيها استخدام كتلة get object data. تُقاس هذه القيم بالبكسل، بناءً على دقة المستشعر البالغة 320 × 240 بكسل.
المعلمة |
وصف |
|---|---|
ملكية |
أي خاصية من خصائص الكائن المكتشف يجب استخدامها؟ |
عرض#
تُبلغ خاصية العرض عن عرض الكائن المكتشف بالبكسل كرقم صحيح من 1 إلى 320.
(كائن [AIVision1 v] [العرض v])
مثال
عند البدء
[Drive towards an object until its width is larger than 100 pixels.]
للأبد
احصل على بيانات [تصنيفات الذكاء الاصطناعي v] من [AIVision1 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.]
للأبد
احصل على بيانات [تصنيفات الذكاء الاصطناعي v] من [AIVision1 v]
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <(كائن [AIVision1 v] [الارتفاع v]) [math_less_than v] [100]> إذن
تشغيل [للأمام v]
fin
وإلا
إيقاف القيادة
سنتر إكس#
تقوم خاصية centerX بالإبلاغ عن الإحداثي السيني لمركز الكائن المكتشف بالبكسل كرقم صحيح من 0 إلى 320.
(كائن [AIVision1 v] [centerX v])
مثال
عند البدء
[Turn slowly until an object is centered in front of the robot.]
اضبط سرعة الدوران إلى [30] [% v]
استدر [يمين v]
للأبد
احصل على بيانات [تصنيفات الذكاء الاصطناعي v] من [AIVision1 v]
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <[140] [math_less_than v] (كائن [AIVision1 v] [centerX v]) [math_less_than v] [180]> إذن
إيقاف القيادة
سنتري#
تقوم خاصية centerY بالإبلاغ عن إحداثيات y لمركز الكائن المكتشف بالبكسل كرقم صحيح من 0 إلى 240.
(كائن [AIVision1 v] [centerY v])
مثال
عند البدء
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
للأبد
احصل على بيانات [تصنيفات الذكاء الاصطناعي v] من [AIVision1 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.]
للأبد
احصل على بيانات [RED_BLUE v] من [AIVision1 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.
(كائن [AIVision1 v] [originX v])
مثال
عند البدء
[Display if an object is to the left or the right.]
للأبد
امسح الصف [1] من الشاشة
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
احصل على بيانات [تصنيفات الذكاء الاصطناعي v] من [AIVision1 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.
(كائن [AIVision1 v] [originY v])
مثال
عند البدء
[Display if an object is close or far from the robot.]
للأبد
امسح الصف [1] من الشاشة
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
احصل على بيانات [تصنيفات الذكاء الاصطناعي v] من [AIVision1 v]
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <(كائن [AIVision1 v] [originY v]) [math_less_than v] [80]> إذن
اطبع [Far!] على الشاشة ▶
وإلا
اطبع [Close!] على الشاشة ▶
fin
انتظر [0.5] ثانية
tagID#
تقوم خاصية tagID بالإبلاغ عن رقم تعريف AprilTag ID المكتشف كرقم صحيح.
(كائن [AIVision1 v] [tagID v])
مثال
عند البدء
[Drive forward when AprilTag ID 0 is detected.]
للأبد
احصل على بيانات [AprilTag IDs v] من [AIVision1 v]
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <(كائن [AIVision1 v] [tagID v]) [math_equal v] [0]> إذن
تشغيل [للأمام v]
وإلا
إيقاف القيادة
fin
انتظر [0.5] ثانية
ما هو الكائن الذي يتم تصويره بواسطة الذكاء الاصطناعي؟#
تقوم كتلة AI Vision object is? بالإبلاغ عن قيمة منطقية تشير إلى ما إذا كان الكائن المكتشف يطابق تصنيفًا معينًا.
صحيح — العنصر الموجود في مجموعة البيانات هو الكائن المحدد.
خطأ — العنصر الموجود في مجموعة البيانات ليس هو الكائن المحدد.
<كائن [AIVision1 v] هو [BlueBall v]؟>
المعلمة |
وصف |
|---|---|
هدف |
Which AI Classification to compare the item to. |
مثال
عند البدء
[Display if a Blue Cube is detected.]
للأبد
احصل على بيانات [تصنيفات الذكاء الاصطناعي v] من [AIVision1 v]
امسح الصف [1] من الشاشة
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <كائن [AIVision1 v] هو [BlueCube v]؟> إذن
اطبع [Cube detected!] على الشاشة ▶
انتظر [0.5] ثانية
هل كائن AI Vision هو AprilTag؟#
تقوم كتلة AI Vision object is AprilTag? بالإبلاغ عن قيمة منطقية تشير إلى ما إذا كان الكائن المكتشف هو AprilTag الذي يتطابق مع معرف معين.
صحيح — الكائن المكتشف هو AprilTag بالمعرف المحدد.
خطأ — الكائن المكتشف ليس علامة AprilTag بالمعرف المحدد.
<كائن [AIVision1 v] هو AprilTag [0]؟>
المعلمة |
وصف |
|---|---|
معرف أبريل تاج |
رقم التعريف المراد مقارنته برقم AprilTag المكتشف. |
مثال
عند البدء
[Report if AprilTag 3 is detected.]
للأبد
امسح الشاشة
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
احصل على بيانات [AprilTag IDs v] من [AIVision1 v]
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <كائن [AIVision1 v] هو AprilTag [3]؟> إذن
اطبع [That is 3!] على الشاشة ▶
وإلا
اطبع [That isn't 3!] على الشاشة ▶
fin
fin
انتظر [0.1] ثانية
هل كائن AI Vision هو معرف AprilTag؟#
تقوم كتلة AI Vision object is AprilTag ID? بالإبلاغ عن قيمة منطقية تشير إلى ما إذا كان معرف AprilTag المكتشف يطابق معرفًا محددًا.
صحيح — معرف AprilTag هو الرقم.
خطأ - معرف AprilTag ليس هو الرقم.
<[AIVision1 v] object is AprilTag ID [1] ?>
حدود |
وصف |
|---|---|
رقم تعريف AprilTag |
الرقم المراد مقارنته برقم تعريف AprilTag المكتشف. |
مثال:
عند البدء
[Report if AprilTag ID 3 is detected.]
للأبد
امسح الشاشة
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
احصل على بيانات [AprilTag IDs v] من [AIVision1 v]
إذا <كائن [AIVision1 v] موجود؟> إذن
إذا <[AIVision1 v] object is AprilTag ID [3] ?> إذن
اطبع [That is 3!] على الشاشة ▶
وإلا
اطبع [That isn't 3!] على الشاشة ▶
fin
fin
انتظر [0.1] ثانية