Isi kandungan:

Drone Follower Line Autonomous Dengan Raspberry Pi: 5 Langkah
Drone Follower Line Autonomous Dengan Raspberry Pi: 5 Langkah

Video: Drone Follower Line Autonomous Dengan Raspberry Pi: 5 Langkah

Video: Drone Follower Line Autonomous Dengan Raspberry Pi: 5 Langkah
Video: OpenCV Line Follower Raspberry Pi 3B+ #short 2024, November
Anonim
Drone Follower Line Autonomous Dengan Raspberry Pi
Drone Follower Line Autonomous Dengan Raspberry Pi

Tutorial ini menunjukkan bahawa bagaimana anda boleh membuat drone pengikut baris akhirnya.

Drone ini akan mempunyai suis "mod autonomi" yang akan memasuki mod drone ke mod. Jadi, anda masih boleh menerbangkan drone anda seperti sebelumnya.

Perlu diketahui bahawa memerlukan masa untuk membina dan lebih banyak masa untuk menyesuaikan diri. Tetapi yang terakhir … adalah membuat anda berfikir berbaloi.

Untuk mula membuat drone pengesan garis autonomus anda sendiri, pastikan anda mempunyai;

  • Rasberry Pi 3 atau Raspberry Pi Zero W dengan akses SSH
  • Drone Ready-To-Fly dengan pengawal penerbangan APM atau Pixhawk
  • Arduino Leonardo atau Arduino lain dengan kelajuan jam yang pantas
  • Sekurang-kurangnya 6 pemancar CH
  • Kamera Web USB yang disokong oleh Raspberry Pi dan OpenCV
  • PC
  • 6 transistor tujuan am
  • Kabel pendawaian

Langkah 1: Idea dan Sambungan

Idea dan Sambungan
Idea dan Sambungan

APM, aka ArduPilot, adalah pengawal penerbangan berdasarkan Arduino Mega. Ini bermaksud kita boleh mengubahnya menjadi yang terbaik untuk kes kita. Tetapi kerana saya tidak mempunyai maklumat untuk melakukannya, saya akan mengikuti cara lain.

Sayangnya, Raspberry Pi tidak peka terhadap waktu yang bermaksud tidak dapat menangani isyarat PPM.

Itulah sebabnya kami memerlukan papan Arduino tambahan.

Dengan cara ini, Raspberry Pi akan memproses gambar dan mengira arahan penerbangan dan menghantarnya ke Arduino melalui antara muka Serial UART. Kad Arduino akan berdiri di sini sebagai pengekod / penyahkod PPM, yang menyandikan arahan penerbangan ke isyarat PPM yang dikehendaki APM. Untuk mempunyai idea, anda boleh memeriksa gambarajah litar simbolik.

Raspberry Pi akan berperanan sebagai pemancar telemetri di samping garis pengesan.

Litar penting ditunjukkan dalam gambar. Saya akan terus menerangkan dalam langkah seterusnya.

Langkah 2: Sambungan dan Konfigurasi Pi Raspberry

Sambungan dan Konfigurasi Raspberry Pi
Sambungan dan Konfigurasi Raspberry Pi
Sambungan dan Konfigurasi Raspberry Pi
Sambungan dan Konfigurasi Raspberry Pi

Raspberry Pi akan disambungkan ke Penyesuai Wi-Fi (pilihan), Kamera Web USB, Arduino Leonardo melalui USB, APM melalui antara muka bersiri terbina dalam. Sambungan APM - RPI ditunjukkan dengan perincian dalam gambar.

Untuk mengkonfigurasi, anda mempunyai dua pilihan: Raspbian tulen dengan pakej yang diperlukan atau gambar khas untuk sambungan MAVLink yang disebut APSync. Sekiranya anda akan menggunakan Raspbian, pastikan anda telah memasang pakej ini:

sudo apt-get kemas kini

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 memasang pymavlink mavproxy pyserial masa depan

Untuk menggunakan antara muka bersiri bawaan Raspberry Pi, anda mesti memberitahu OS agar tidak menggunakannya. Untuk melakukannya, taip

sudo raspi-config

dan ikuti pilihan Antara muka> Antara muka bersiri

Anda mesti mematikan antara muka bersiri tetapi mengaktifkan perkakasan bersiri.

Pada ketika ini, selebihnya sesuai untuk Raspbian dan APSync.

Di direktori utama, buat tiga fail: reboot skrip dan scriptt pemproses imej. Baris kedua menjadikan skrip reboot dapat dilaksanakan.

sentuh reboot.sh image_processor.py

chmod + x reboot.sh

Salin semua baris dalam fail yang diberikan di bawah ini ke direktori rumah anda (/ rumah / pi) di Raspberry Pi.

Skrip but semula akan mengandungi pemicu yang akan mencetuskan pemproses gambar dan skrip telemetri. Juga sedikit tetapan. Perhatikan bahawa jika anda tidak mahu ciri telemetri, tambahkan # sebelum baris itu.

nano reboot.sh

#! / bin / bash

python3 /home/pi/image_processor.py

Simpan dengan CTRL + O dan keluar dengan CTRL + X. Langkah terakhir mengenainya adalah mendaftarkannya ke fail permulaan OS, rc.local

sudo nano /etc/rc.local

Lampirkan garis ini di atas pintu keluar 0:

/home/pi/reboot.sh

Skrip but semula kami akan dilaksanakan pada setiap but.

Kami mahu Raspberry Pi merakam video langsung, memprosesnya dalam penerbangan, mengira arahan penerbangan, menghantarnya ke pengawal penerbangan dan menjadi telemetri. Tetapi kerana Raspberry Pi tidak dapat menghasilkan isyarat PPM yang APM mahukan, kami memerlukan cara lain untuk mencapainya.

Raspberry Pi akan menghantar output pemprosesan gambarnya ke Arduino (dalam kes saya Arduino Leonardo) melalui Serial Port. Arduino akan menghasilkan isyarat PPM dari input tersebut dan menghantarnya ke Flight Controller melalui kabel jumper. Ini semua untuk Raspberry Pi.

Mari teruskan ke langkah seterusnya.

Langkah 3: Sambungan dan Konfigurasi APM

Sambungan dan Konfigurasi APM
Sambungan dan Konfigurasi APM

Perkara mengenai APM adalah mudah kerana sudah siap terbang. Kita perlu mengetahui baudrate port bersiri, dan memastikan port TELEM diaktifkan.

Dalam perisian darat anda, dalam kes saya Mission Planner, periksa senarai parameter pengendali penerbangan dan cari baudrat. Contohnya, SERIAL_BAUD adalah kadar baud USB dan SERIAL_BAUD1 adalah kadar baudrate TELEM untuk APM. Perhatikan bahawa nilai.

Bahagian yang paling penting ialah sambungan pin INPUT. Seperti yang ditunjukkan dalam gambar, sambungkan pin digital Arduino 4 dengan teliti 9. Anda mungkin ingin menggunakan tali roti untuk ini, kerana kami akan menambahkan beberapa transistor dan output penerima. (Lihat gambar) (Transistor akan berfungsi sekiranya anda ingin mengawal drone anda)

ARD 4 ↔ APM INPUT 1

ARD 5 ↔ APM INPUT 2

ARD 6 ↔ APM INPUT 3

ARD 7 IN APM INPUT 4

ARD 8 ↔ APM INPUT 5

ARD 9 ↔ INPUT APM 6

Sambungkan semua pin 5V pada Input APM ke pin Arduino Leonardo 5V. Begitu juga menghubungkan semua pin GND APM Input ke pin Arduino Leonardo GND.

Langkah 4: Konfigurasi Arduino Leonardo

Kami telah menghubungkan semua wayar untuk Leonardo sehingga hanya kod yang tersisa.

Muat naik kod yang diberikan di bawah ini ke Arduino Leonardo anda. Perhatikan baudrat.

Langkah 5: Penerbangan Pertama

Apabila anda selesai dengan semua langkah sebelumnya, ini bermakna anda sudah bersedia.

Kuasa semua kad dan sambungkan dengan SSH ke Raspberry Pi. Taipkan terminal:

sudo su

mavproxy.py --master = / dev / [SERIAL INTERFACE] --baudrate [TELEM PORT BAUDRATE] --aircraft [NAMA PELANGGAN

Antara muka bersiri terbina dalam Raspberry Pi lalai adalah ttyS0 (/ dev / ttyS0)

Baudrate port APM TELEM lalai adalah 57600

Baudrate port USB APM lalai adalah 115200

Anda boleh memberikan sebarang nama pada pesawat anda, memilihnya dengan bijak, sehingga anda dapat mengenalinya kemudian.

Sekiranya semuanya baik-baik saja, sekarang sambungkan ke Raspberry Pi anda melalui VNC, supaya anda dapat menonton apa yang dilihat drone secara real time.

Sekarang, anda boleh menggunakan drone anda. Menarik, bukan?

Lepas drone anda, dan terbang di atas landasan. Sekarang, anda boleh mengaktifkan mod penjejakan baris dengan menggunakan suis CH6.

Disyorkan: