استكشاف أخطاء مستشعرات الذكاء (الجيل الثاني) وإصلاحها

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

خطوات هذه العملية هي:

  1. حدد المشكلة
  2. تحقق من الأجهزة
  3. تحقق من البرامج
  4. تحليل وتطبيق البيانات

تحديد المشكلة

الخطوة الأولى لاستكشاف أخطاء المستشعر وإصلاحها هي تحديد المستشعر الذي يسبب المشكلة. قارن سلوك الروبوت الملاحظ مع سلوك الروبوت المقصود. هل السلوك الإشكالي ناتج عن جهاز استشعار؟ إذا كان الأمر كذلك، أي جهاز استشعار؟ إذا كنت بحاجة إلى مزيد من المعلومات لتحديد المستشعر الذي قد يكون سبب المشكلة، فاقرأ المقالة (المقالات) أدناه المتعلقة بأجهزة الاستشعار الموجودة على الروبوت الخاص بك.

أجهزة استشعار VEX IQ (الجيل الثاني):

بمجرد تحديد المستشعر الذي يسبب السلوك غير المقصود، يمكنك المضي قدمًا في العملية.


فحص الأجهزة

الخطوة الثانية هي فحص الأجهزة الموجودة على الروبوت للتأكد من أن المستشعر يمكن أن يعمل على النحو المنشود. قد تؤثر كل من اعتبارات الأجهزة التالية على وظيفة المستشعر الخاص بك.

التحقق من وضع المستشعر

بناء Clawbot بسيط للقيادة في الميدان. يحتوي الروبوت على مستشعر بصري متصل يتم تسليط الضوء عليه ويشير إلى مكعب أحمر أمامه.

ابدأ بالنظر إلى مكان وجود المستشعر على الروبوت الخاص بك. هل تم حظر المستشعر بواسطة أي شيء، مثل جزء آخر من الروبوت الخاص بك؟ تأكد من أن المستشعر لديه المساحة اللازمة للعمل على النحو المنشود.

كما هو موضح هنا، يتمتع المستشعر البصري بخط رؤية واضح للكائن الذي يهدف إلى اكتشافه.

تحقق من اتصال الاستشعار

تظهر شاشة الدماغ في قائمة الأجهزة مع تحديد جهاز LED اللمسي.

اختبر وظائف المستشعر من خلال النظر في البيانات الواردة في شاشة الأجهزة على VEX IQ (الجيل الثاني) Brain. يمكن أن يساعدك هذا في التحقق من توصيل المستشعر وتشغيله.

للوصول إلى شاشة الأجهزة، اتبع الخطوات الواردة في هذه المقالة.

رسم تخطيطي لدماغ (الجيل الثاني) متصل بجهاز استشعار المسافة (الجيل الثاني).

بمجرد فتح شاشة الأجهزة، تحقق مما إذا كان المستشعر يقوم بالإبلاغ عن البيانات.

إذا لم يكن الأمر كذلك، فتأكد من توصيل أجهزة الاستشعار الخاصة بك بشكل صحيح. عند توصيل المستشعرات، يجب أن تسمع صوتًا مفاجئًا عندما يكون لسان قفل المستشعر متصلاً بالكامل بالمنفذ.

يمكنك أيضًا محاولة تبديل المستشعر الذي تستخدمه بآخر لمعرفة ما إذا كان ذلك سيحل مشكلتك.

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


تحقق من البرامج

بمجرد تحديد أن المستشعر قد تم تركيبه وتوصيله بالروبوت بنجاح، يمكنك النظر إلى مشروع VEXcode IQ التالي. يمكن أن يساعدك التكرار في المشروع على ضمان استخدام البيانات الواردة من المستشعر بشكل فعال في مشروعك. يمكن أن تساعدك الاستراتيجيات التالية في تشفير المستشعر الخاص بك.

إذا قمت بتطبيق أي من هذه الاستراتيجيات على مشروع VEXcode IQ الخاص بك، فاختبر مشروعك مرة أخرى لمعرفة ما إذا كان هذا قد أدى إلى حل المشكلة.

التحقق من البرامج الثابتة والتكوين

قائمة أجهزة VEXcode IQ مع قائمة طويلة من الأجهزة المتصلة المعروضة. يمكن استخدام هذه القائمة للتأكد من توصيل كل مستشعر بشكل صحيح، والتحقق من المنفذ المحدد له على الدماغ.

الآن بعد أن تأكدت من توصيل جميع الأجهزة بشكل صحيح بالدماغ، تحقق من تكوين الجهاز في VEXcode IQ.

تحقق للتأكد من وجود كافة أجهزة الاستشعار في التكوين. ثم تحقق للتأكد من توصيل كل واحد بالمنفذ الصحيح.

قم بتغيير أي تكوينات غير صحيحة للجهاز.

تشغيل مشروع مثال

قائمة أمثلة المشاريع في VEXcode Blocks تحتوي على مجموعة متنوعة من المشاريع عبر فئات مختلفة للاختيار من بينها. تم تسليط الضوء على فئة الاستشعار.

افتح مثالاً لمشروع يستخدم المستشعر الذي تقوم باستكشاف الأخطاء وإصلاحها. يمكنك تحديد فئة "الاستشعار" لتصفية أمثلة المشاريع.

لمزيد من المعلومات حول نماذج ومشاريع نماذج IQ Blocks، راجع هذه المقالة.

لمزيد من المعلومات حول نماذج ومشاريع IQ Python النموذجية، راجع هذه المقالة.

لمزيد من المعلومات حول نماذج ونماذج مشاريع IQ C++‎، راجع هذه المقالة.

تم فتح VEXcode IQ مع مشروع مثال من فئة الاستشعار، بما في ذلك كومة من كتل التعليمات البرمجية وملاحظة تحتوي على وصف للمشروع. تم تسليط الضوء على الملاحظة.

بمجرد فتحه، اقرأ الملاحظة لتحديد ما إذا كانت الوظيفة الموجودة في مشروع المثال تتوافق مع ما تحاول القيام به باستخدام المستشعر.

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

قم بتشغيل المشروع النموذجي ولاحظ سلوك الروبوت. ثم انظر إلى المشروع لترى كيف يتم استخدام بيانات المستشعر للتسبب في السلوكيات المرصودة. قد ترغب في تشغيل المشروع النموذجي عدة مرات للمساعدة في ذلك.

قد ترغب في محاولة إنشاء مشروعك المبسط لتطبيق ما تعلمته من نموذج المشروع على مهمتك.

استخدم أدوات VEXcode IQ الأخرى

هناك أيضًا أدوات واستراتيجيات يمكنك استخدامها لمساعدتك أثناء تعلم المزيد حول برمجة المستشعر الخاص بك في VEXcode IQ. يمكنك التعرف على الكتل أو الأوامر الموجودة في Toolbox بشكل فردي باستخدام التعليمات. يمكنك أيضًا عرض بيانات المستشعر أثناء تشغيل المشروع لمعرفة المزيد حول ما يبلغ عنه المستشعر.

تم فتح VEXcode IQ مع قائمة "التعليمات" وتحديد كتلة عنوان Drive. يتم عرض أوصاف الكتلة وكيفية استخدامها جنبًا إلى جنب مع صور لاستخدامات المثال.

المساعدة

اقرأ التعليمات الخاصة بالكتل أو الأوامر في المشروع النموذجي، أو في مشروعك للتعرف على البيانات المستخدمة، والقيم التي سيبلغ عنها الأمر، وأمثلة حول كيفية استخدام الأمر في المشروع.

قم بعرض هذه المقالة لمعرفة المزيد حول الوصول إلى التعليمات في VEXcode IQ Blocks.

قم بعرض هذه المقالة لمعرفة المزيد حول الوصول إلى التعليمات في VEXcode IQ Python.

قم بعرض هذه المقالة لمعرفة المزيد حول الوصول إلى التعليمات في VEXcode IQ C++.

بيانات الطباعة

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

لاحظ أنه في مشروع الكتل، يمكن استخدام كتلة قبعة {When started} منفصلة للحفاظ على جميع أوامر الطباعة منظمة في مجموعتها الخاصة.

كتل الذكاء VEXcode
يقوم VEXcode IQ بحظر المشروع الذي يستخدم كتلة When began لطباعة بيانات المستشعر مباشرة أثناء تشغيل المشروع. يحتوي المشروع على كتلة "عندما بدأ" متبوعة بأربع كتل في حلقة "إلى الأبد". في الحلقة، يوجد أولاً كتلة تعليق تقرأ "طباعة قيمة لفة مستشعر القصور الذاتي على الدماغ"، ثم انتقل إلى الصف التالي. بعد ذلك، تقوم كتلة الطباعة بقراءة اتجاه BrainInertial للطباعة على Brain وتعيين المؤشر إلى الصف التالي. بعد ذلك، تقرأ كتلة التعليق "انتظر" لطباعة القيمة، ثم كرر الحلقة. وأخيرًا، تقرأ كتلة الانتظار 0.1 ثانية.
فيكس كود آي كيو بايثون
بينما (صحيح):
Brain.screen.set_font(FontType.MONO40)
Brain.screen.print(brain_inertial.orientation(ROLL, DEGREES))
Brain.screen.next_row()
انتظر (0.1، SECONDS)
فيكس كود آي كيو سي++
int main() 
{
while(true)
{
Brain.Screen.setFont(mono40);
Brain.Screen.print(BrainInertial.orientation(roll, Degrees));
Brain.Screen.newLine();
انتظر (0.1، ثانية)؛
} }

تعد الطباعة إلى IQ Brain مفيدة عندما تريد رؤية القيم تتغير أثناء تشغيل مشروع VEXcode IQ. يمكن أن يساعدك هذا في تحديد القيم التي تم الإبلاغ عنها من المستشعر لاستخدامها كمعلمات في مشروعك. يمكن دمج أوامر الطباعة هذه في مشروع VEXcode IQ الذي قمت بإنشائه بالفعل حتى تتمكن من رؤية قيم المستشعر تتغير في أوقات محددة أثناء تحرك الروبوت. 

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

كتل الذكاء VEXcode فيكس كود آي كيو بايثون

يقوم VEXcode IQ بحظر المشروع الذي يستخدم كتلة When began لطباعة بيانات المستشعر مباشرة أثناء تشغيل المشروع. يحتوي المشروع على كتلة "عندما بدأ" متبوعة بأربع كتل في حلقة "إلى الأبد". في الحلقة، يوجد أولاً كتلة تعليق تقرأ "طباعة قيمة مستشعر المسافة على وحدة التحكم"، ثم انتقل إلى الصف التالي. بعد ذلك، تقوم كتلة الطباعة بقراءة مسافة الكائن Distance5 بالمليمتر على وحدة التحكم وتعيين المؤشر إلى الصف التالي. بعد ذلك، تقرأ كتلة التعليق "انتظر" لطباعة القيمة، ثم كرر الحلقة. وأخيرًا، تقرأ كتلة الانتظار 0.1 ثانية.

بينما (صحيح):
طباعة (distance_7.object_distance(MM))
انتظار (0.1، SECONDS)
فيكس كود آي كيو سي++
int main() 
{
while (true)
{
printf(Distance7.objectDistance(mm));
برينتف("\n");
انتظر (0.1، ثانية)؛
} }

الطباعة إلى وحدة تحكم الطباعة في VEXcode IQ يوصى بها عند تشغيل مشروع VEXcode IQ حيث لا يتحرك الروبوت. يجب أن يظل IQ Brain متصلاً أثناء تنفيذ المشروع حتى يتمكن من الطباعة إلى وحدة تحكم الطباعة. يعد هذا مفيدًا لأنه يمكنك قراءة القيم من نافذة VEXcode IQ بدلاً من محاولة قراءة البيانات من شاشة Brain.

توضح هذه الأمثلة مشروع طباعة البيانات من مستشعر المسافة (الجيل الثاني) إلى وحدة التحكم في VEXcode IQ. 

لمزيد من المعلومات حول استخدام وحدة التحكم بالطباعة في كتل VEXcode IQ، راجع هذه المقالة.

لمزيد من المعلومات حول استخدام وحدة التحكم بالطباعة في VEXcode IQ Python، راجع هذه المقالة.


تحليل وتطبيق البيانات

بعد ذلك، استخدم ما تعلمته في الخطوات السابقة لضبط مشروعك الأصلي. يمكنك الاستمرار في استخدام أدوات مثل التعليمات وطباعة البيانات لتمكينك من استخدام المستشعر بفعالية لتحقيق هدفك.

يمكنك أيضًا طرح أسئلة حول مشروعك لمساعدتك على المضي قدمًا. فكر في أشياء مثل:

  • هل تستخدم أكبر من < أو أقل من > في مشروعك؟ هل الرمز متجه للاتجاه الصحيح؟ إذا كنت تستخدم يساوي = فحاول استبداله بأكبر من أو أقل من لاستخدام نطاق من القيم.
  • هل إعداداتك صحيحة؟ هل تستخدم البيانات الواردة من المستشعر لتعيين المعلمات الخاصة بك؟ هل اخترت خيار القائمة المنسدلة الذي تحتاجه؟
  • هل تقوم بالتحقق من الشروط أكثر من مرة؟ حاول إضافة حلقة للأبد إلى مشروعك، بحيث يتم التحقق من الحالة بشكل متكرر عند تشغيل المشروع.
  • هل مشروعك متعثر؟ هل تم ضبط شروطك بشكل صحيح؟ إذا كنت تستخدم حلقات متداخلة، فحاول تبسيط مشروعك لعزل السلوكيات الفردية.
  • هل تؤثر ظروفك البيئية على المستشعر؟ هل هو مشرق جدًا أم مظلم جدًا؟ هل هناك أشياء أو أشخاص في الطريق؟ حاول تشغيل مشروعك في موقع مختلف لمعرفة ما إذا كان ذلك مفيدًا.
  • هل تقوم بتشغيل أحدث إصدار من مشروعك؟ هل قمت بتنزيل مشروعك المحدث إلى Brain؟ تأكد من إعادة تنزيل المشروع في كل مرة تقوم فيها بإجراء تغيير.
  • هل تكتشف اللون الصحيح؟ هل يظهر المستشعر لونًا مختلفًا عن اللون الموجود في مشروعك؟ حاول تغيير معلمة اللون، أو استخدام نطاق من قيم تدرج اللون، لمعرفة ما إذا كان ذلك مفيدًا.
  • هل تكتشف جسمًا ما ضمن مجال رؤية المستشعر؟ تذكر أن مجال الرؤية يتحرك بالتزامن مع حركة الروبوت.
  • هل تستخدم كتلة الانتظار أثناء التحقق من الحالة؟ تأكد من استخدام الكتل غير المنتظرة في المشروع عند التحقق من وجود حالة ما. شاهد هذه المقالة لمعرفة المزيد حول كتل الانتظار مقابل كتل عدم الانتظار في VEXcode IQ.
  • إذا كنت تقوم بالبرمجة في كتل، فهل مجموعتك بأكملها متصلة بكتلة القبعة {When started} ؟ سيتم تشغيل فقط عند اتصالهما. يمكنك الاستماع إلى صوت النقر عند سحب الكتل وتوصيلها معًا.

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

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: