رؤية الذكاء الاصطناعي#
مقدمة#
يكتشف مستشعر الرؤية المدعوم بالذكاء الاصطناعي في روبوت VEX AIM Coding Robot ويتتبع الأجسام والألوان ومعرفات AprilTag. وهذا يسمح للروبوت بتحليل محيطه، ومتابعة الأجسام، والتفاعل بناءً على البيانات المرئية المكتشفة.
يتمتع مستشعر الرؤية المدعوم بالذكاء الاصطناعي بدقة 320×240 بكسل. تقع نقطة الأصل (0، 0) في الزاوية العلوية اليسرى، مما يجعل مركز المستشعر عند (160، 120)، كما هو موضح في الرسم البياني أدناه:

فيما يلي قائمة بجميع الكتل:
الإجراءات — التحكم في تغذية الرؤية بالذكاء الاصطناعي والتقاط بيانات الكائنات.
عارض رؤية الذكاء الاصطناعي على الشاشة — تمكين أو تعطيل بث رؤية الذكاء الاصطناعي المباشر على شاشة الروبوت.
get object data — يلتقط البيانات لتوقيع معين، مثل لون مُكوّن، أو كائن مُدرّب مسبقًا، أو معرف AprilTag.
الإعدادات — اضبط العناصر التي يتم الوصول إليها بعد اكتشافها.
set AI Vision object item — يحدد كائنًا معينًا من قائمة الكائنات المكتشفة.
القيم — إرجاع وجود الكائن وتصنيفه وخصائصه.
has object — يتحقق مما إذا كان الروبوت يحمل كائنًا تم اكتشافه.
كائن رؤية الذكاء الاصطناعي موجود — يُبلغ عما إذا تم اكتشاف كائن ما.
كائن رؤية الذكاء الاصطناعي هو — يتحقق مما إذا كان الكائن المكتشف يطابق تصنيفًا محددًا.
كائن رؤية الذكاء الاصطناعي هو معرف AprilTag — يتحقق مما إذا كان معرف AprilTag المكتشف يطابق معرفًا محددًا.
عدد الكائنات المكتشفة بواسطة رؤية الذكاء الاصطناعي — يعرض عدد الكائنات المكتشفة.
خاصية كائن رؤية الذكاء الاصطناعي — تفاصيل التقارير مثل:
الإجراءات#
عارض رؤية الذكاء الاصطناعي على الشاشة#
تتيح لك وحدة عارض رؤية الذكاء الاصطناعي على الشاشة تفعيل أو تعطيل بث رؤية الذكاء الاصطناعي المباشر على شاشة الروبوت. عند التفعيل، تعرض الشاشة بيانات المستشعرات في الوقت الفعلي، مما يمنع ظهور أي صور أو نصوص أخرى. لعرض محتوى آخر، استخدم هذه الوحدة لإخفاء البث.
AI Vision [عرض v] عارض على الشاشة
حدود |
وصف |
|---|---|
حالة |
يتحكم في عرض موجز البيانات على شاشة الروبوت: show يعرض موجز البيانات، بينما hide يزيل موجز البيانات من الشاشة. |
مثال
عند البدء
[View the AI Vision Sensor's feed for five seconds.]
AI Vision [عرض v] عارض على الشاشة
انتظر [5] ثانية
AI Vision [إخفاء v] عارض على الشاشة
الحصول على بيانات الكائن#
تقوم كتلة المكدس get object data بتصفية البيانات من إطار مستشعر الرؤية بالذكاء الاصطناعي إلى توقيع واحد - وهو وصف محفوظ لشيء يمكن للمستشعر التعرف عليه، مثل كائن مدرب مسبقًا، أو معرف AprilTag، أو لون أو رمز لوني تم تكوينه.
يجب أولاً ضبط الألوان ورموز الألوان في أداة الرؤية بالذكاء الاصطناعي قبل استخدامها مع هذه الوحدة.
تحتوي مجموعة البيانات على كائنات مرتبة من الأكبر إلى الأصغر حسب العرض، بدءًا من الفهرس 0. يمكن الوصول إلى خصائص كل كائن باستخدام كتلة AI Vision object property. يتم الإبلاغ عن مجموعة بيانات فارغة في حال عدم اكتشاف أي كائنات مطابقة.
احصل على بيانات [كرة رياضية v] من AI Vision
المعلمة |
وصف |
|---|---|
إمضاء |
يقوم هذا الإجراء بتصفية مجموعة البيانات بحيث لا تتضمن إلا البيانات التي تحمل التوقيع المحدد. التوقيعات المتاحة هي:
|
مثال
عند البدء
[Move forward if a sports ball is detected.]
للأبد
احصل على بيانات [كرة رياضية v] من AI Vision
إذا <كائن AI Vision موجود؟> إذن
تحرك [للأمام v] لمسافة [10] [مم v] ▶
التوقيعات اللونية#
البصمة اللونية هي لون فريد يمكن لمستشعر الرؤية المدعوم بالذكاء الاصطناعي التعرف عليه. تُمكّن هذه البصمات المستشعر من اكتشاف الأجسام وتتبعها بناءً على لونها. بمجرد ضبط البصمة اللونية في أداة الرؤية المدعومة بالذكاء الاصطناعي، يستطيع المستشعر تحديد الأجسام التي تحمل هذا اللون المحدد ضمن مجال رؤيته.
تُستخدم التوقيعات اللونية في كتلة get object data لمعالجة واكتشاف الكائنات الملونة في الوقت الحقيقي.

مثال
عند البدء
[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] من AI Vision
إذا <كائن AI Vision موجود؟> إذن
اطبع [Color signature detected!] على الشاشة ▶
رموز الألوان#
رمز اللون هو نمط منظم يتكون من 2 إلى 4 رموز لونية مرتبة بترتيب محدد. بمجرد إعداد رمز اللون في أداة الرؤية بالذكاء الاصطناعي، يستطيع المستشعر التعرف على أنماط الألوان المحددة مسبقًا.
تُعد رموز الألوان مفيدة بشكل خاص لتحديد الأشياء المعقدة، أو التوافق مع عناصر اللعبة، أو إنشاء علامات فريدة للتنقل الذاتي.

مثال
عند البدء
[Display if any objects matching the BlueRed code is detected.]
للأبد
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
امسح الصف [1] من الشاشة
[Change the signature to any configured Color Code.]
احصل على بيانات [BlueRed v] من AI Vision
إذا <كائن AI Vision موجود؟> إذن
اطبع [Color code detected!] على الشاشة ▶
إعدادات#
تعيين عنصر كائن رؤية الذكاء الاصطناعي#
تحدد كتلة المكدس set AI Vision object item العنصر المراد استخدامه في مجموعة البيانات.
اضبط عنصر كائن AI Vision إلى (1)
حدود |
وصف |
|---|---|
غرض |
رقم العنصر المراد استخدامه في مجموعة البيانات. |
مثال
عند البدء
[Display the width of the smallest detected object.]
للأبد
احصل على بيانات [كل البضائع v] من AI Vision
امسح الصف [1] من الشاشة
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
إذا <كائن AI Vision موجود؟> إذن
اضبط عنصر كائن AI Vision إلى (عدد كائنات AI Vision)
اطبع (كائن AI Vision [العرض v]) على الشاشة ▶
قيم#
يحتوي على كائن#
تقوم كتلة has object المنطقية بالإبلاغ عما إذا كان الروبوت قد اكتشف حاليًا جسمًا مقابل Kicker.
صحيح — الروبوت يمتلك الشيء.
خطأ — الروبوت لا يملك الشيء.
<لديه [كرة رياضية v]؟ :: custom-ai-vision>
المعلمة |
وصف |
|---|---|
هدف |
الهدف المراد رصده بواسطة ركل الروبوت:
|
مثال
عند البدء
[Kick when the robot has a sports ball.]
للأبد
إذا <لديه [كرة رياضية v]؟ :: custom-ai-vision> إذن
ركل الكائن [متوسط v]
كائن رؤية الذكاء الاصطناعي موجود#
يشير مربع AI Vision object exists المنطقي إلى ما إذا تم اكتشاف كائن في مجموعة البيانات.
صحيح — تتضمن مجموعة البيانات كائنًا تم اكتشافه.
خطأ — لم يتم رصد أي أجسام.
<كائن AI Vision موجود؟>
حدود |
وصف |
|---|---|
لا يحتوي هذا الجزء على أي معلمات. |
مثال
عند البدء
[Move forward if a sports ball is detected.]
للأبد
احصل على بيانات [كرة رياضية v] من AI Vision
إذا <كائن AI Vision موجود؟> إذن
تحرك [للأمام v] لمسافة [10] [مم v] ▶
كائن رؤية الذكاء الاصطناعي هو#
تقوم كتلة AI Vision object is المنطقية بالإبلاغ عما إذا كان الكائن المكتشف يطابق تصنيفًا محددًا.
صحيح — العنصر الموجود في مجموعة البيانات هو الكائن المحدد.
خطأ — العنصر الموجود في مجموعة البيانات ليس هو الكائن المحدد.
<كائن AI Vision هو [كرة رياضية v]؟>
المعلمة |
وصف |
|---|---|
هدف |
ما هو الشيء الذي يجب مقارنة العنصر به؟
|
مثال
عند البدء
[Display if a sports ball is detected.]
للأبد
احصل على بيانات [كل البضائع v] من AI Vision
امسح الصف [1] من الشاشة
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
إذا <كائن AI Vision موجود؟> إذن
إذا <كائن AI Vision هو [كرة رياضية v]؟> إذن
اطبع [Sports ball detected!] على الشاشة ▶
انتظر [0.5] ثانية
كائن رؤية الذكاء الاصطناعي هو معرف AprilTag#
كائن الرؤية الذكية هو معرف AprilTag كتلة منطقية تُبلغ عما إذا كان معرف AprilTag المكتشف يطابق معرفًا محددًا.
صحيح — معرف AprilTag هو الرقم.
خطأ — معرف AprilTag ليس هو الرقم.
<AI Vision object is AprilTag ID [1] ?>
حدود |
وصف |
|---|---|
معرف أبريل تاج |
الرقم المراد مقارنته برقم تعريف AprilTag المكتشف. |
عدد الكائنات في رؤية الذكاء الاصطناعي#
تقوم وحدة الإبلاغ عن عدد الكائنات المكتشفة في مجموعة البيانات بـ AI Vision object count كرقم صحيح.
عدد كائنات AI Vision
حدود |
وصف |
|---|---|
لا يحتوي هذا الجزء على أي معلمات. |
مثال
عند البدء
[Display the amount of sports balls and barrels.]
للأبد
امسح الصف [1] من الشاشة
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
احصل على بيانات [كل البضائع v] من AI Vision
إذا <كائن AI Vision موجود؟> إذن
اطبع (عدد كائنات AI Vision) على الشاشة ▶
fin
انتظر [0.5] ثانية
خاصية كائن رؤية الذكاء الاصطناعي#
هناك تسع خصائص يتم تضمينها مع كل كائن (موضح أدناه) يتم تخزينها بعد استخدام كتلة get object data.
كائن AI Vision [العرض v]
تصف جميع قيم الخصائص، باستثناء tagID، موضع الجسم المكتشف وحجمه واتجاهه وزاويته لحظة استخدام كتلة get object data. تُقاس هذه القيم بالبكسل أو الدرجات، بناءً على دقة المستشعر البالغة 320 × 240 بكسل.

المعلمة |
وصف |
|---|---|
ملكية |
أي خاصية من خصائص الكائن المكتشف يجب استخدامها؟ |
عرض#
تُبلغ خاصية العرض عن عرض الكائن المكتشف بالبكسل كرقم صحيح من 1 إلى 320.
ملاحظة: قيم البكسل نسبية لنظام إحداثيات المستشعر. انظر الرسم التوضيحي في المقدمة للمزيد من المعلومات.
كائن AI Vision [العرض v]

مثال
عند البدء
[Move towards a blue barrel until its width is larger than 100 pixels.]
للأبد
احصل على بيانات [برميل أزرق v] من AI Vision
إذا <كائن AI Vision موجود؟> إذن
إذا <(كائن AI Vision [العرض v]) [math_less_than v] [100]> إذن
تحرك [للأمام v]
fin
وإلا
أوقف جميع الحركات
ارتفاع#
تُظهر خاصية الارتفاع ارتفاع الكائن المكتشف بالبكسل كرقم صحيح من 1 إلى 240.
ملاحظة: قيم البكسل نسبية لنظام إحداثيات المستشعر. انظر الرسم التوضيحي في المقدمة للمزيد من المعلومات.
كائن AI Vision [الارتفاع v]

مثال
عند البدء
[Move towards a blue barrel until its height is larger than 100 pixels.]
للأبد
احصل على بيانات [برميل أزرق v] من AI Vision
إذا <كائن AI Vision موجود؟> إذن
إذا <(كائن AI Vision [الارتفاع v]) [math_less_than v] [100]> إذن
تحرك [للأمام v]
fin
وإلا
أوقف جميع الحركات
سنتر إكس#
تقوم خاصية centerX بالإبلاغ عن الإحداثي السيني لمركز الكائن المكتشف بالبكسل كرقم صحيح من 0 إلى 320.
ملاحظة: قيم البكسل نسبية لنظام إحداثيات المستشعر. انظر الرسم التوضيحي في المقدمة للمزيد من المعلومات.
كائن AI Vision [centerX v]

مثال
عند البدء
[Turn slowly until a blue barrel is centered in front of the robot.]
اضبط سرعة الدوران إلى [30]%
استدر [يمين v]
للأبد
احصل على بيانات [برميل أزرق v] من AI Vision
إذا <كائن AI Vision موجود؟> إذن
إذا <[140] [math_less_than v] (كائن AI Vision [centerX v]) [math_less_than v] [180]> إذن
أوقف جميع الحركات
سنتري#
تقوم خاصية centerY بالإبلاغ عن إحداثيات y لمركز الكائن المكتشف بالبكسل كرقم صحيح من 0 إلى 240.
ملاحظة: قيم البكسل نسبية لنظام إحداثيات المستشعر. انظر الرسم التوضيحي في المقدمة للمزيد من المعلومات.
كائن AI Vision [centerY v]

مثال
عند البدء
[Move towards a blue barrel until its center y-coordinate is more than 140 pixels.]
للأبد
احصل على بيانات [برميل أزرق v] من AI Vision
إذا <كائن AI Vision موجود؟> إذن
إذا <(كائن AI Vision [centerY v]) [math_less_than v] [140]> إذن
تحرك [للأمام v]
fin
وإلا
أوقف جميع الحركات
IX#
تشير خاصية originX إلى الإحداثي السيني للزاوية العلوية اليسرى من المربع المحيط بالكائن المكتشف بالبكسل كرقم صحيح من 0 إلى 320.
ملاحظة: قيم البكسل نسبية لنظام إحداثيات المستشعر. انظر الرسم التوضيحي في المقدمة للمزيد من المعلومات.
كائن AI Vision [originX v]

مثال
عند البدء
[Display if an orange barrel is to the left or the right.]
للأبد
امسح الصف [1] من الشاشة
اضبط المؤشر على الصف [1] العمود [1] على الشاشة
احصل على بيانات [برميل برتقالي v] من AI Vision
إذا <كائن AI Vision موجود؟> إذن
إذا <(كائن AI Vision [originX v]) [math_less_than v] [160]> إذن
اطبع [To the left!] على الشاشة ▶
وإلا
اطبع [To the right!] على الشاشة ▶
fin
انتظر [0.5] ثانية
الأصل Y#
تشير خاصية originY إلى إحداثيات y للزاوية العلوية اليسرى من المربع المحيط بالكائن المكتشف بالبكسل كرقم صحيح من 0 إلى 240.
ملاحظة: قيم البكسل نسبية لنظام إحداثيات المستشعر. انظر الرسم التوضيحي في المقدمة للمزيد من المعلومات.
كائن AI Vision [originY v]

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

مثال
عند البدء
[Slide left or right depending on how the Color Code is rotated.]
للأبد
احصل على بيانات [Red_Blue v] من AI Vision
إذا <كائن AI Vision موجود؟> إذن
إذا <[50] [math_less_than v] (كائن AI Vision [دوران v]) [math_less_than v] [100]> إذن
تحرك [يمين v]
وإلا إذا <[270] [math_less_than v] (كائن AI Vision [دوران v]) [math_less_than v] [330]> إذن
تحرك [يسار v]
وإلا
أوقف جميع الحركات
fin
وإلا
أوقف جميع الحركات
محمل#
تُشير خاصية الاتجاه إلى مدى بُعد الجسم عن مركز مجال رؤية مستشعر الرؤية بالذكاء الاصطناعي، سواءً إلى اليسار أو اليمين، مُقاسةً بالدرجات. القيمة 0 تعني أن الجسم في المركز، والقيم الموجبة تعني أنه إلى اليمين، والقيم السالبة تعني أنه إلى اليسار.
عند البدء
[Keep the blue barrel directly in front of the robot.]
اضبط سرعة الدوران إلى [40]%
للأبد
احصل على بيانات [برميل أزرق v] من AI Vision
إذا <كائن AI Vision موجود؟> إذن
إذا <(كائن AI Vision [الاتجاه v]) [math_greater_than v] [5]> إذن
استدر [يمين v]
وإلا إذا <(كائن AI Vision [الاتجاه v]) [math_less_than v] [-5]> إذن
استدر [يسار v]
وإلا
أوقف جميع الحركات
tagID#
تقوم خاصية tagID بالإبلاغ عن رقم تعريف AprilTag ID المكتشف كرقم صحيح.
كائن AI Vision [tagID v]
مثال
عند البدء
[Move forward when AprilTag ID 0 is detected.]
للأبد
احصل على بيانات [AprilTag ID 0 v] من AI Vision
إذا <كائن AI Vision موجود؟> إذن
تحرك [للأمام v]
fin
أوقف جميع الحركات