فهرست مطالب:

پهپاد Autonomous Line Follower With Raspberry Pi: 5 مرحله
پهپاد Autonomous Line Follower With Raspberry Pi: 5 مرحله

تصویری: پهپاد Autonomous Line Follower With Raspberry Pi: 5 مرحله

تصویری: پهپاد Autonomous Line Follower With Raspberry Pi: 5 مرحله
تصویری: With a Lidar strapped to its back, PuppyPi Pro can avoid any obstacle 👣🤖https://bit.ly/383HAeV 2024, نوامبر
Anonim
پهپاد Autonomous Line Follower With Raspberry Pi
پهپاد Autonomous Line Follower With Raspberry Pi

این آموزش نشان می دهد که چگونه می توانید در نهایت هواپیمای بدون سرنشین دنبال کننده خط بسازید.

این پهپاد دارای یک سوئیچ "حالت خودکار" است که پهپاد را وارد حالت می کند. بنابراین ، شما همچنان می توانید پهپاد خود را مانند قبل پرواز کنید.

لطفاً توجه داشته باشید که ساخت آن زمان می برد و حتی زمان بیشتری برای تنظیم آن زمان می برد. اما نکته نهایی این است که شما فکر می کنید ارزشش را دارد.

برای شروع ایجاد پهپاد ردیاب خط خودکار خود ، مطمئن شوید که دارید ؛

  • Rasberry Pi 3 یا Raspberry Pi Zero W با دسترسی SSH
  • هواپیمای بدون سرنشین آماده پرواز با کنترل پرواز APM یا Pixhawk
  • آردوینو لئوناردو یا آردوینو دیگری با سرعت ساعت سریع
  • حداقل 6 فرستنده CH
  • وب کم USB که رزبری پای و OpenCV از آن پشتیبانی می کند
  • یک کامپیوتر
  • 6 ترانزیستور عمومی
  • کابل های سیم کشی

مرحله 1: ایده و ارتباطات

ایده و ارتباطات
ایده و ارتباطات

APM ، با نام مستعار ArduPilot ، کنترل کننده پرواز مبتنی بر Arduino Mega است. این بدان معناست که ما می توانیم آن را برای بهترین مورد برای مورد خود تغییر دهیم. اما از آنجا که اطلاعات لازم برای انجام این کار را ندارم ، می روم تا راه دیگری را دنبال کنم.

متاسفانه رزبری پای حساس به زمان نیست ، به این معنی که نمی تواند با سیگنال های PPM برخورد کند.

به همین دلیل ما به برد آردوینو اضافی نیاز داریم.

به این ترتیب ، رزبری پای تصاویر را پردازش می کند و دستورالعمل پرواز را محاسبه می کند و از طریق رابط Serial UART به آردوینو ارسال می کند. کارت آردوینو در اینجا به عنوان رمزگذار/رمزگشای PPM قرار می گیرد که دستورالعمل پرواز را به سیگنال های PPM مورد نیاز APM رمزگذاری می کند. برای داشتن ایده ، می توانید نمودار مدار نمادین را بررسی کنید.

رزبری پای در کنار خط تشخیص به عنوان فرستنده تله متری عمل خواهد کرد.

مدار ضروری در تصاویر نشان داده شده است. در مراحل بعدی توضیحات خود را ادامه خواهم داد.

مرحله 2: اتصالات و پیکربندی 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 آینده را نصب کنید

برای استفاده از رابط سریال داخلی رزبری پای ، باید به سیستم عامل بگویید که از آن استفاده نکند. برای انجام این کار ، تایپ کنید

sudo raspi-config

و گزینه های Interfacing> Serial interface را دنبال کنید

شما باید رابط سریال را غیرفعال کنید اما سخت افزار سریال را فعال کنید.

در این مرحله ، بقیه برای Raspbian و APSync مناسب است.

در فهرست اصلی ، سه فایل ایجاد کنید: اسکریپت را مجدداً راه اندازی کنید و اسکریپت پردازشگر تصویر. خط دوم اسکریپت راه اندازی مجدد را اجرایی می کند.

reboot.sh image_processor.py را لمس کنید

chmod +x reboot.sh

تمام خطوط موجود در فایلهای زیر را در فهرست خانگی خود (/home/pi) در رزبری پای کپی کنید.

اسکریپت راه اندازی مجدد شامل محرک هایی است که قرار است پردازنده تصویر و اسکریپت های تله متری را فعال کند. همچنین تنظیمات کمی. توجه داشته باشید که اگر ویژگی دورسنجی را نمی خواهید ، # قبل از آن خط اضافه کنید.

nano reboot.sh

#!/bin/bash

python3 /home/pi/image_processor.py

آن را با CTRL+O ذخیره کرده و با CTRL+X خارج شوید. آخرین مرحله در مورد آن ثبت آن در فایل راه اندازی سیستم عامل ، rc.local است

sudo nano /etc/rc.local

این خط را در بالای خروجی 0 اضافه کنید:

/home/pi/reboot.sh

اسکریپت راه اندازی مجدد ما در هر بوت اجرا می شود.

ما می خواهیم رزبری پای فیلم زنده را ضبط کند ، آن را در پرواز پردازش کند ، دستورالعمل های پرواز را محاسبه کند ، آن را به کنترل کننده پرواز ارسال کند و از راه دور باشد. اما از آنجا که Raspberry Pi قادر به تولید سیگنال PPM مورد نیاز APM نیست ، ما برای دستیابی به آن به راه دیگری نیاز داریم.

Raspberry Pi خروجی پردازش تصویر خود را از طریق سریال Port به Arduino (در مورد من Arduino Leonardo) ارسال می کند. آردوینو سیگنال PPM را از آن ورودی تولید کرده و از طریق سیم های بلوز به Flight Controller ارسال می کند. این همه برای رزبری پای است.

بیایید به مرحله بعدی برویم.

مرحله 3: اتصالات و پیکربندی APM

اتصالات و پیکربندی APM
اتصالات و پیکربندی APM

مسائل مربوط به APM ساده است زیرا در حال حاضر آماده پرواز است. ما باید Baudrates پورت سریال را بدانیم و مطمئن شویم که پورت TELEM فعال است.

در نرم افزار اصلی خود ، در مورد من Mission Planner ، لیست پارامترهای کنترل کننده پرواز را بررسی کرده و باودرات را پیدا کنید. به عنوان مثال ، SERIAL_BAUD باودرات USB و SERIAL_BAUD1 باودرات پورت TELEM برای APM است. توجه داشته باشید که مقادیر.

مهمترین قسمت اتصالات پین های INPUT است. همانطور که در تصویر نشان داده شده است ، پین های دیجیتالی آردوینو 4 را به طور کامل 9 وصل کنید. ممکن است بخواهید برای این کار از یک breadbord استفاده کنید ، زیرا ما قصد داریم چند ترانزیستور و خروجی گیرنده اضافه کنیم. (تصاویر را ببینید) (در صورت تمایل به کنترل پهپاد خود ترانزیستورها کار خواهند کرد)

ورودی ARD 4 ↔ APM 1

ورودی ARD 5 ↔ APM 2

ورودی ARD 6 ↔ APM 3

ورودی ARD 7 ↔ APM 4

ورودی ARD 8 ↔ APM 5

ورودی ARD 9 ↔ APM 6

همه پین های 5 ولت را در ورودی APM به پین 5 ولت آردوینو وصل کنید. به همین ترتیب تمام پین های GND ورودی APM را به پین Arndino Leonardo GND وصل کنید.

مرحله 4: پیکربندی Arduino Leonardo

ما تمام سیم ها را برای لئوناردو متصل کرده ایم ، بنابراین فقط کد باقی مانده است.

کد داده شده زیر را در Arduino Leonardo خود بارگذاری کنید. به باودرات توجه کنید.

مرحله 5: اولین پرواز

وقتی تمام مراحل قبلی را تمام کردید ، به این معنی است که آماده هستید.

همه کارت ها را روشن کنید و با SSH به Raspberry Pi متصل شوید. در ترمینال تایپ کنید:

sudo su

mavproxy.py --master =/dev/[SERIAL INTERFACE] --baudrate [TELEM PORT BAUDRATE] -هواپیما [نام سفارشی

رابط سریال پیش فرض Raspberry Pi ttyS0 (/dev/ttyS0) است

باودرات پیش فرض APM TELEM 57600 است

باودرات پیش فرض پورت USB APM 115200 است

می توانید هر نامی را به هواپیمای خود بدهید ، آن را عاقلانه انتخاب کنید ، تا بعداً بتوانید آن را تشخیص دهید.

اگر همه چیز خوب است ، اکنون از طریق VNC به رزبری پای خود متصل شوید ، بنابراین می توانید آنچه را که هواپیمای بدون سرنشین در زمان واقعی می بیند تماشا کنید.

اکنون می توانید پهپاد خود را مسلح کنید. هیجان انگیز ، درست است؟

هواپیمای بدون سرنشین خود را بردارید و بالای خط خط پرواز کنید. اکنون می توانید با استفاده از سوئیچ CH6 حالت ردیابی خط را فعال کنید.

توصیه شده: