
نحن اليوم نجمع بين برنامج للتحكم بدون طيار مستقل مع برنامج للكشف عن الكرة من أجل انفجار الكرة مع طائرة بدون طيار مستقلة.
في المقالات السابقة ، درسنا إطلاق طائرة بدون طيار افتراضية وحقيقية ، وكذلك تطوير عقدة ROS التي تحدد وتحول إحداثيات الكرة في الفضاء . الآن سنقوم بإعادة تشكيل برنامج التحكم في الطائرة بدون طيار بحيث يحاول تلقائيًا انفجار الكرة.
برنامج الطيران الى الكرة
يعتمد البرنامج الذي يطير إلى الكرة على نفس دورة التحكم في السرعة كما في برنامج التحكم اليدوي .
الفرق هو أنه بدلاً من مفاتيح التحكم من لوحة المفاتيح ، يتم التحكم في ناقل السرعة بدون طيار بواسطة معلومات حول موضع الكرة التي تم الحصول عليها من الموضوع /baloon_detector/twist
.
setvel_forward
سرعات setvel_forward
وناقلات setvel_forward
بحيث حلقت الطائرة بدون طيار داخل الكرة مباشرة.
إذا كانت الطائرة بدون طيار لا ترى الكرة لأكثر من 0.2 ثانية ، فنحن نعتقد أننا انفجرناها ووضعناها في وضع الهبوط.
ويرد النص الكامل للبرنامج أدناه: (crash_baloon.py) توصيات التصحيح
من أجل تصحيح الأخطاء ، نوصي باختيار مساحة مفتوحة ، وإرفاق الكرة بالقاعدة ، والتأكد من عدم وجود كائنات حمراء في الجوار ، بحيث لا توجد إيجابيات خاطئة لبرنامج التوجيه.
يجب التحقق من تشغيل برنامج التوجيه ، قبل الرحلة ، باستخدام متصفح ، على 192.168.11.1:8080:

إذا تم تكوين كل شيء بشكل صحيح ، يجب أن يميز البرنامج الكرة بثقة وألا يسبب إيجابيات خاطئة.

في بداية برنامج التوجيه ، من المعلوم أن الطائرة بدون طيار سترى الكرة بعد الإقلاع. خلاف ذلك ، ستعتقد الطائرة بدون طيار أن الكرة قد انفجرت بالفعل ، وستتحول إلى وضع الهبوط.
في المستقبل ، يمكنك تعديل البرنامج - قم بالاقتراب من الكرة ، على سبيل المثال ، باستخدام وضع AUTO.MISSION. وبعد الوصول إلى نقطة GPS المطلوبة ، قم بالتبديل إلى وضع البحث المرئي.
ويتم اختيار معاملات للسرعات في الدورة الرئيسية للبرنامج تجريبيا لطائرة بدون طيار محددة.
في المسابقات ، تبدو محاولات اقتحام الكرة كما يلي:
سأكون ممتناً لتعليقات وأسئلة أولئك الذين يحاولون تكرار تجربتنا.
يتم تحميل أكواد المصدر للبرامج على جيثب .