جدول المحتويات:

متابع الخط المستقل بدون طيار مع Raspberry Pi: 5 خطوات
متابع الخط المستقل بدون طيار مع Raspberry Pi: 5 خطوات

فيديو: متابع الخط المستقل بدون طيار مع Raspberry Pi: 5 خطوات

فيديو: متابع الخط المستقل بدون طيار مع Raspberry Pi: 5 خطوات
فيديو: أعلى مستوى وصلتوا في البرمجة 2024, شهر نوفمبر
Anonim
متابع الخط المستقل بدون طيار مع Raspberry Pi
متابع الخط المستقل بدون طيار مع Raspberry Pi

يوضح هذا البرنامج التعليمي كيف يمكنك جعل متابع الخط بدون طيار في النهاية.

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

يرجى العلم أن الأمر سيستغرق وقتًا للبناء والمزيد من الوقت للتكيف. لكن النهائي … يجعلك تعتقد أنه يستحق كل هذا العناء.

لبدء إنشاء طائرة بدون طيار لتتبع الخطوط الذاتية ، تأكد من أن لديك ؛

  • Rasberry Pi 3 أو Raspberry Pi Zero W مع وصول SSH
  • طائرة بدون طيار جاهزة للطيران مع وحدة تحكم طيران APM أو Pixhawk
  • Arduino Leonardo أو Arduino آخر بسرعة ساعة عالية
  • ما لا يقل عن 6 CH الارسال
  • كاميرا ويب USB يدعمها Raspberry Pi و OpenCV
  • جهاز كمبيوتر
  • 6 ترانزستورات للأغراض العامة
  • الكابلات السلكية

الخطوة 1: الفكرة والتواصل

الفكرة والتواصل
الفكرة والتواصل

APM ، المعروفة أيضًا باسم ArduPilot ، هي وحدة تحكم في الطيران تعتمد على Arduino Mega. هذا يعني أنه يمكننا تعديله ليكون الأفضل لحالتنا. ولكن بما أنني لا أملك المعلومات اللازمة للقيام بذلك ، فسوف أذهب لأتبع طريقة أخرى.

لسوء الحظ ، فإن Raspberry Pi ليس حساسًا للوقت مما يعني أنه لا يمكنه التعامل مع إشارات PPM.

لهذا السبب نحتاج إلى لوحة Arduino الإضافية.

بهذه الطريقة ، سيقوم Raspberry Pi بمعالجة الصور وحساب إرشادات الرحلة وإرسالها إلى Arduino عبر واجهة Serial UART. ستقف بطاقة Arduino هنا باعتبارها وحدة تشفير / وحدة فك ترميز PPM ، والتي تقوم بتشفير تعليمات الرحلة لإشارات PPM التي تريدها APM. للحصول على فكرة ، يمكنك فحص مخطط الدائرة الرمزية.

سوف يتصرف Raspberry Pi كجهاز إرسال للقياس عن بعد جنبًا إلى جنب مع خط الكشف.

تظهر الدائرة الأساسية في الصور. سأستمر في الشرح في الخطوات التالية.

الخطوة 2: اتصالات وتكوين Raspberry Pi

اتصالات وتكوين Raspberry Pi
اتصالات وتكوين Raspberry Pi
اتصالات وتكوين Raspberry Pi
اتصالات وتكوين Raspberry Pi

سيتم توصيل Raspberry Pi بمحول Wi-Fi (اختياري) وكاميرا ويب USB و Arduino Leonardo عبر USB و APM عبر واجهة تسلسلية مدمجة. يظهر اتصال APM - RPI مع التفاصيل في الصور.

للتهيئة ، لديك خياران: Raspbian خالص مع الحزم المطلوبة أو صورة خاصة لاتصال MAVLink تسمى APSync. إذا كنت ستستخدم Raspbian ، فتأكد من تثبيت هذه الحزم:

sudo apt-get update

sudo apt-get install -y screen python-wxgtk3.0 python-matplotlib sudo apt-get install -y python-opencv python-pip python-numpy python-dev sudo apt-get install -y libxml2-dev libxslt-dev python- lxml sudo pip تثبيت مستقبل pymavlink mavproxy pyserial

لاستخدام الواجهة التسلسلية المضمنة في Raspberry Pi ، يجب إخبار نظام التشغيل بعدم استخدامها. للقيام بذلك ، اكتب

sudo raspi-config

واتبع خيارات Interfacing> Serial interface

يجب عليك تعطيل الواجهة التسلسلية مع تمكين الأجهزة التسلسلية.

في هذه المرحلة ، يكون الباقي مناسبًا لكل من Raspbian و APSync.

في الدليل الرئيسي ، قم بإنشاء ثلاثة ملفات: البرنامج النصي لإعادة التشغيل والمعالج النصي. السطر الثاني يجعل إعادة التشغيل النصي قابلة للتنفيذ.

المس reboot.sh image_processor.py

chmod + x reboot.sh

انسخ جميع الأسطر في الملفات الواردة أدناه إلى الدليل الرئيسي (/ home / pi) في Raspberry Pi.

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

nano reboot.sh

#! / بن / باش

python3 /home/pi/image_processor.py

احفظه باستخدام CTRL + O واخرج باستخدام CTRL + X. الخطوة الأخيرة في ذلك هي تسجيله في ملف بدء تشغيل نظام التشغيل ، rc.local

sudo nano /etc/rc.local

قم بإلحاق هذا السطر أعلى المخرج 0:

/home/pi/reboot.sh

سيتم تنفيذ البرنامج النصي الخاص بإعادة التشغيل في كل عملية تمهيد.

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

سيرسل Raspberry Pi إخراج معالجة الصور إلى Arduino (في حالتي Arduino Leonardo) عبر المنفذ التسلسلي. سيقوم Arduino بإنشاء إشارة PPM من هذا الإدخال وإرسالها إلى Flight Controller عبر أسلاك التوصيل. هذا كل شيء لـ Raspberry Pi.

دعنا ننتقل إلى الخطوة التالية.

الخطوة 3: اتصالات APM والتكوين

اتصالات وتكوين APM
اتصالات وتكوين APM

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

في برنامجك الأرضي ، في حالتي Mission Planner ، تحقق من قائمة معلمات وحدة التحكم في الطيران واكتشف البودرات. على سبيل المثال ، SERIAL_BAUD هو معدل باود USB و SERIAL_BAUD1 هو معدل باود منفذ TELEM لـ APM. لاحظ أن القيم.

الجزء الأكثر أهمية هو وصلات دبابيس INPUT. كما هو موضح في الصورة ، قم بتوصيل دبابيس Arduino الرقمية 4 بدقة 9. قد ترغب في استخدام شريط الخبز لهذا ، لأننا سنضيف بعض مخرجات الترانزستورات والمستقبلات. (انظر الصور) (ستعمل الترانزستورات في حالة رغبتك في السيطرة على الطائرة بدون طيار الخاصة بك)

ARD 4 ↔ APM INPUT 1

ARD 5 ↔ APM INPUT 2

ARD 6 ↔ APM INPUT 3

ARD 7 ↔ APM INPUT 4

ARD 8 ↔ APM INPUT 5

ARD 9 ↔ APM INPUT 6

قم بتوصيل جميع دبابيس 5 فولت في إدخال APM بدبوس Arduino Leonardo 5V. وبالمثل ، قم بتوصيل جميع دبابيس APM Input GND بدبوس Arduino Leonardo GND.

الخطوة 4: تكوين Arduino Leonardo

لقد قمنا بتوصيل جميع الأسلاك الخاصة بـ Leonardo ، لذا لم يتبق سوى الرمز.

قم بتحميل الكود أدناه إلى Arduino Leonardo الخاص بك. انتبه للباودرات.

الخطوة 5: الرحلة الأولى

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

قم بتشغيل جميع البطاقات واتصل بـ SSH بـ Raspberry Pi. اكتب في المحطة الطرفية:

sudo su

mavproxy.py --master = / dev / [SERIAL INTERFACE] - معدل نقل البيانات [TELEM PORT BAUDRATE] - طائرة [اسم مخصص

الواجهة التسلسلية الافتراضية المضمنة في Raspberry Pi هي ttyS0 (/ dev / ttyS0)

معدل البث بالباود الافتراضي لمنفذ APM TELEM هو 57600

معدل الباود الافتراضي لمنفذ USB APM هو 115200

يمكنك إعطاء أي اسم لطائرتك واختياره بحكمة حتى تتمكن من التعرف عليه لاحقًا.

إذا كان كل شيء على ما يرام ، فاتصل الآن بـ Raspberry Pi عبر VNC ، حتى تتمكن من مشاهدة ما تراه الطائرة بدون طيار في الوقت الفعلي.

الآن ، يمكنك تسليح طائرتك بدون طيار. مثير ، أليس كذلك؟

خذ الطائرة بدون طيار الخاصة بك ، وحلّق فوق مسار الخط. الآن ، يمكنك تنشيط وضع تتبع الخط باستخدام مفتاح CH6.

موصى به: