Mundarija:

Malinali Pi bilan avtonom chiziq izdoshi: 5 qadam
Malinali Pi bilan avtonom chiziq izdoshi: 5 qadam

Video: Malinali Pi bilan avtonom chiziq izdoshi: 5 qadam

Video: Malinali Pi bilan avtonom chiziq izdoshi: 5 qadam
Video: PAMPUSHKA BULOCHKA PISHIRIB ULGURMAYSIZ EB TOYMAYDILAR😋/ ПАМПУШКА БУЛОЧКА СИЗГА ХАМ ЁКАДИ,,,, 2024, Noyabr
Anonim
Raspberry Pi bilan avtonom chiziq izdoshi
Raspberry Pi bilan avtonom chiziq izdoshi

Bu ko'rsatma shuni ko'rsatadiki, siz oxir -oqibat qanday qilib izdoshlarni dron qilishingiz mumkin.

Bu dronda "avtonom rejim" tugmasi bo'ladi, u dron rejimiga o'tadi. Shunday qilib, siz hali ham droningizni avvalgidek boshqarishingiz mumkin.

Shuni yodda tutingki, uni qurishga ko'p vaqt ketadi va sozlash uchun ko'proq vaqt kerak bo'ladi. Ammo final … sizni bunga arziydi.

O'zingizning avtonom liniya izlovchi dronini yaratishni boshlash uchun, sizda borligiga ishonch hosil qiling;

  • SSH kirish imkoniyatiga ega Rasberry Pi 3 yoki Raspberry Pi Zero W
  • APM yoki Pixhawk uchish boshqaruvi bilan uchishga tayyor dron
  • Arduino Leonardo yoki boshqa soat tezligiga ega boshqa Arduino
  • Kamida 6 CH uzatuvchi
  • Raspberry Pi va OpenCV qo'llab -quvvatlaydigan USB veb -kamerasi
  • Kompyuter
  • 6 ta umumiy maqsadli tranzistorlar
  • Kabel kabellari

1 -qadam: Fikr va aloqalar

Fikr va aloqalar
Fikr va aloqalar

APM, aka ArduPilot, Arduino Mega -ga asoslangan parvoz boshqaruvchisi. Bu shuni anglatadiki, biz uni bizning holatimiz uchun eng yaxshisi sifatida o'zgartirishimiz mumkin. Ammo menda bu borada ma'lumot yo'q ekan, men boshqa yo'l bilan boraman.

Afsuski, Raspberry Pi vaqtni sezmaydi, ya'ni PPM signallari bilan ishlay olmaydi.

Shuning uchun bizga qo'shimcha Arduino platasi kerak.

Shunday qilib, Raspberry Pi tasvirlarni qayta ishlaydi va parvoz ko'rsatmalarini hisoblab chiqadi va uni Serial UART interfeysi orqali Arduino -ga yuboradi. Arduino kartasi bu erda APM xohlagan PPM signallariga parvoz ko'rsatmalarini kodlaydigan PPM kodlovchi/dekoder sifatida turadi. Tasavvur qilish uchun siz ramziy elektron sxemasini o'rganishingiz mumkin.

Raspberry Pi o'zini aniqlash chizig'i bilan bir qatorda telemetriya uzatuvchisi sifatida tutadi.

Rasmlarda asosiy sxema ko'rsatilgan. Men keyingi bosqichlarda tushuntirishni davom ettiraman.

2 -qadam: Raspberry Pi ulanishlari va konfiguratsiyasi

Raspberry Pi ulanishlari va konfiguratsiyasi
Raspberry Pi ulanishlari va konfiguratsiyasi
Raspberry Pi ulanishlari va konfiguratsiyasi
Raspberry Pi ulanishlari va konfiguratsiyasi

Raspberry Pi Wi-Fi adapteri (ixtiyoriy), USB veb-kamerasi, Arduino Leonardo USB orqali, APM o'rnatilgan ketma-ket interfeys orqali ulanadi. APM - RPI ulanishi tasvirlar tafsilotlari bilan ko'rsatilgan.

Konfiguratsiya qilish uchun sizda ikkita variant bor: kerakli paketlarga ega bo'lgan sof Raspbian yoki MAVLink aloqasi uchun APSync deb nomlangan maxsus tasvir. Agar siz Raspbian -dan foydalanmoqchi bo'lsangiz, ushbu paketlarni o'rnatganingizga ishonch hosil qiling:

sudo apt-get yangilanishi

sudo apt-get install -y ekran 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 kelajakdagi pymavlink mavproxy pyserial -ni o'rnatadi

Raspberry Pi-ning o'rnatilgan ketma-ket interfeysidan foydalanish uchun siz OS-ga uni ishlatmaslikni aytishingiz kerak. Buning uchun yozing

sudo raspi-config

va Interfacing variantlari> Seriyali interfeysga o'ting

Siz ketma -ket interfeysni o'chirib qo'yishingiz kerak, lekin ketma -ket uskunani yoqishingiz kerak.

Bu vaqtda qolganlari ham Raspbian, ham APSync uchun mos keladi.

Uy katalogida uchta fayl yarating: skriptni qayta yuklash va skript tasvirini qayta ishlash. Ikkinchi qatorda skriptni qayta ishga tushirish mumkin.

reboot.sh image_processor.py ga teging

chmod +x reboot.sh

Quyidagi fayllardagi barcha satrlarni Raspberry Pi -dagi uy katalogingizga (/home/pi) nusxa ko'chiring.

Qayta ishga tushirish skriptida tasvir protsessori va telemetriya skriptlarini ishga tushiradigan tetiklar bo'ladi. Bundan tashqari, sozlamalar kam. E'tibor bering, agar siz telemetriya xususiyatini xohlamasangiz, bu qatordan oldin # qo'shing.

nano reboot.sh

#!/bin/bash

python3 /home/pi/image_processor.py

CTRL+O bilan saqlang va CTRL+X tugmalar birikmasidan chiqing. Bu boradagi oxirgi qadam - uni rc.local OS ishga tushirish fayliga ro'yxatdan o'tkazish

sudo nano /etc/rc.local

0 -chiqishdan yuqoridagi qatorni qo'shing:

/home/pi/reboot.sh

Bizning qayta yuklash skriptimiz har bir yuklashda bajariladi.

Biz Raspberry Pi-dan jonli videoni yozib olishni, uni on-layn rejimda qayta ishlashni, parvoz ko'rsatmalarini hisoblashni, uni parvoz boshqaruvchisiga yuborishni va telemetriya bo'lishini xohlaymiz. Ammo Raspberry Pi APM xohlagan PPM signalini ishlab chiqara olmagani uchun, uni amalga oshirishning boshqa usuli kerak.

Raspberry Pi tasvirni qayta ishlash chiqishini Arduino -ga (mening holatimda Arduino Leonardo) ketma -ket port orqali yuboradi. Arduino ushbu kirishdan PPM signalini ishlab chiqaradi va uni o'tish simlari orqali Parvoz boshqaruvchisiga yuboradi. Bularning barchasi Raspberry Pi uchun.

Keling, keyingi bosqichga o'tamiz.

3 -qadam: APM ulanishlari va konfiguratsiyasi

APM ulanishlari va konfiguratsiyasi
APM ulanishlari va konfiguratsiyasi

APM haqida hamma narsa oddiy, chunki u allaqachon uchishga tayyor. Biz ketma -ket portlarning uzatish tezligini bilishimiz va TELEM porti yoqilganligiga ishonch hosil qilishimiz kerak.

Sizning asosiy dasturiy ta'minotingizda, mening vazifam Mission Planner, parvoz boshqaruvchisi parametrlari ro'yxatini tekshiring va bodradlarni toping. Masalan, SERIAL_BAUD - bu USB uzatma tezligi va SERIAL_BAUD1 - APM uchun TELEM porti. E'tibor bering, qadriyatlar.

Eng muhim qismi - bu INPUT pinlarining ulanishi. Rasmda ko'rsatilgandek, Arduino raqamli pinlarini 4 ga ulang. Buning uchun siz bordrodan foydalanishingiz mumkin, chunki biz tranzistorlar va qabul qiluvchilarning chiqishlarini qo'shamiz. (Rasmlarga qarang) (Agar siz dronni boshqarishni xohlasangiz, tranzistorlar ishlaydi)

ARD 4, APM Kirish 1

ARD 5, APM Kirish 2

ARD 6, APM Kirish 3

ARD 7, APM Kirish 4

ARD 8, APM Kirish 5

ARD 9, APM Kirish 6

APM kirishidagi barcha 5V pinlarni Arduino Leonardo 5V piniga ulang. Xuddi shunday, barcha APM kirish GND pinlarini Arduino Leonardo GND piniga ulang.

4 -qadam: Arduino Leonardo konfiguratsiyasi

Biz Leonardo uchun barcha simlarni uladik, shuning uchun faqat kod qoldi.

Quyidagi kodni Arduino Leonardo -ga yuklang. Bodratlarga e'tibor bering.

5 -qadam: Birinchi parvoz

Agar siz avvalgi barcha qadamlarni bajargan bo'lsangiz, demak siz tayyormiz.

Barcha kartalarni yoqing va SSH bilan Raspberry Pi -ga ulaning. Terminalni kiriting:

sudo su

mavproxy.py --master =/dev/[SERIAL INTERFACE] -ovoz balandligi [TELEM PORT BAUDRATE] -samolyotlar [XUSUSIY NOM

Standart Raspberry Pi o'rnatilgan ketma-ket interfeysi ttyS0 (/dev/ttyS0)

APM TELEM portining standart uzatish tezligi 57600

Standart APM USB portining tezligi 115200

Siz samolyotingizga istalgan nom berishingiz, uni oqilona tanlashingiz mumkin, shunda uni keyinroq taniy olasiz.

Agar hamma narsa yaxshi bo'lsa, endi Raspberry Pi -ga VNC orqali ulaning, shunda siz dron real vaqtda nima ko'rayotganini ko'rishingiz mumkin.

Endi siz droningizni qurollantirishingiz mumkin. Qiziqarli, to'g'rimi?

Uchuvchisiz samolyotni olib tashlang va chiziq bo'ylab uching. Endi siz CH6 kaliti yordamida chiziqni kuzatish rejimini yoqishingiz mumkin.

Tavsiya: