Daftar Isi:

Drone Pengikut Garis Otonom Dengan Raspberry Pi: 5 Langkah
Drone Pengikut Garis Otonom Dengan Raspberry Pi: 5 Langkah

Video: Drone Pengikut Garis Otonom Dengan Raspberry Pi: 5 Langkah

Video: Drone Pengikut Garis Otonom Dengan Raspberry Pi: 5 Langkah
Video: How to Make Object Tracker and Follower Robot using Raspberry Pi Machine Vision 2024, November
Anonim
Drone Pengikut Garis Otonom Dengan Raspberry Pi
Drone Pengikut Garis Otonom Dengan Raspberry Pi

Tutorial ini menunjukkan bagaimana Anda bisa membuat drone line follower pada akhirnya.

Drone ini akan memiliki tombol “autonomous mode” yang akan memasukkan drone ke mode. Jadi, Anda masih bisa menerbangkan drone Anda seperti sebelumnya.

Perlu diketahui bahwa perlu waktu untuk membangun dan bahkan lebih banyak waktu untuk menyesuaikan. Tapi final… membuat Anda berpikir layak.

Untuk mulai membuat drone pelacak garis otonom Anda sendiri, pastikan Anda memiliki;

  • Rasberry Pi 3 atau Raspberry Pi Zero W dengan akses SSH
  • Drone Siap Terbang dengan pengontrol penerbangan APM atau Pixhawk
  • Arduino Leonardo atau Arduino lain dengan kecepatan clock yang cepat
  • Setidaknya 6 CH pemancar
  • Webcam USB yang didukung oleh Raspberry Pi dan OpenCV
  • Sebuah PC
  • 6 transistor tujuan umum
  • Kabel kabel

Langkah 1: Ide dan Koneksi

Ide dan Koneksi
Ide dan Koneksi

APM, alias ArduPilot, adalah pengontrol penerbangan berbasis Arduino Mega. Ini berarti kita dapat memodifikasinya menjadi yang terbaik untuk kasus kita. Tetapi karena saya tidak memiliki informasi untuk melakukannya, saya akan mengikuti cara lain.

Sayangnya, Raspberry Pi tidak sensitif terhadap waktu yang berarti tidak dapat menangani sinyal PPM.

Itu sebabnya kami membutuhkan papan Arduino tambahan.

Dengan cara ini, Raspberry Pi akan memproses gambar dan menghitung instruksi penerbangan dan mengirimkannya ke Arduino melalui antarmuka Serial UART. Kartu Arduino akan berdiri di sini sebagai encoder/decoder PPM, yang mengkodekan instruksi penerbangan ke sinyal PPM yang diinginkan APM. Untuk mendapatkan ide, Anda dapat memeriksa diagram sirkuit simbolis.

Raspberry Pi akan bertindak sebagai pemancar telemetri di samping garis pendeteksi.

Sirkuit penting ditunjukkan pada gambar. Saya akan terus menjelaskan di langkah selanjutnya.

Langkah 2: Koneksi dan Konfigurasi Raspberry Pi

Koneksi dan Konfigurasi Raspberry Pi
Koneksi dan Konfigurasi Raspberry Pi
Koneksi dan Konfigurasi Raspberry Pi
Koneksi dan Konfigurasi Raspberry Pi

Raspberry Pi akan terhubung ke Adaptor Wi-Fi (opsional), Webcam USB, Arduino Leonardo melalui USB, APM melalui antarmuka serial bawaan. Koneksi APM - RPI ditampilkan dengan detail di gambar.

Untuk mengkonfigurasi, Anda memiliki dua opsi: Raspbian murni dengan paket yang diperlukan atau gambar khusus untuk koneksi MAVLink yang disebut APSync. Jika Anda akan menggunakan Raspbian, pastikan Anda telah menginstal paket-paket ini:

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

Untuk menggunakan antarmuka serial bawaan Raspberry Pi, Anda harus memberi tahu OS untuk tidak menggunakannya. Untuk melakukannya, ketik

sudo raspi-config

dan ikuti opsi Antarmuka> Antarmuka serial

Anda harus menonaktifkan antarmuka serial tetapi mengaktifkan perangkat keras serial.

Pada titik ini, sisanya cocok untuk Raspbian dan APSync.

Di direktori home, buat tiga file: skrip reboot dan skrip prosesor gambar. Baris kedua membuat skrip reboot dapat dieksekusi.

sentuh reboot.sh image_processor.py

chmod +x reboot.sh

Salin semua baris dalam file yang diberikan di bawah ini ke direktori home Anda (/ home/pi) di Raspberry Pi.

Skrip reboot akan berisi pemicu yang akan memicu skrip prosesor gambar dan telemetri. Juga beberapa pengaturan. Perhatikan bahwa jika Anda tidak menginginkan fitur 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 adalah mendaftarkannya ke file startup OS, rc.local

sudo nano /etc/rc.local

Tambahkan baris ini di atas pintu keluar 0:

/home/pi/reboot.sh

Skrip reboot kami akan dieksekusi pada setiap boot.

Kami ingin Raspberry Pi merekam video langsung, memprosesnya dengan cepat, menghitung instruksi penerbangan, mengirimkannya ke pengontrol penerbangan dan menjadi telemetri. Tetapi karena Raspberry Pi tidak dapat menghasilkan sinyal PPM yang diinginkan APM, kami memerlukan cara lain untuk mencapainya.

Raspberry Pi akan mengirimkan output pemrosesan gambarnya ke Arduino (dalam kasus saya Arduino Leonardo) melalui Port Serial. Arduino akan menghasilkan sinyal PPM dari input tersebut dan mengirimkannya ke Flight Controller melalui kabel jumper. Ini semua untuk Raspberry Pi.

Mari kita lanjutkan ke langkah berikutnya.

Langkah 3: Koneksi dan Konfigurasi APM

Koneksi dan Konfigurasi APM
Koneksi dan Konfigurasi APM

Hal-hal tentang APM sederhana karena sudah siap terbang. Kita perlu mengetahui baudrate port serial, dan pastikan port TELEM diaktifkan.

Dalam perangkat lunak darat Anda, dalam kasus saya Mission Planner, periksa daftar parameter pengontrol penerbangan dan temukan baudrate. Misalnya, SERIAL_BAUD adalah baudrate USB dan SERIAL_BAUD1 adalah baudrate port TELEM untuk APM. Perhatikan bahwa nilai.

Bagian terpenting adalah koneksi pin INPUT. Seperti yang ditunjukkan pada gambar, sambungkan pin digital Arduino 4 secara menyeluruh 9. Anda mungkin ingin menggunakan breadbord untuk ini, karena kita akan menambahkan beberapa transistor dan output penerima. (Lihat gambar) (Transistor akan berfungsi jika Anda ingin mengendalikan drone Anda)

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

Hubungkan semua pin 5V pada Input APM ke pin Arduino Leonardo 5V. Demikian juga sambungkan semua pin APM Input GND ke pin Arduino Leonardo GND.

Langkah 4: Konfigurasi Arduino Leonardo

Kami telah menghubungkan semua kabel untuk Leonardo jadi hanya kode yang tersisa.

Unggah kode yang diberikan di bawah ini ke Arduino Leonardo Anda. Perhatikan baudrate.

Langkah 5: Penerbangan Pertama

Ketika Anda selesai dengan semua langkah sebelumnya, itu berarti Anda siap.

Nyalakan semua kartu dan hubungkan dengan SSH ke Raspberry Pi. Ketik terminal:

sudo su

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

Antarmuka serial bawaan Raspberry Pi bawaan adalah ttyS0 (/ dev/ttyS0)

Baudrate port APM TELEM default adalah 57600

Baudrate port USB APM default adalah 115200

Anda bisa memberi nama apa saja pada pesawat Anda, pilihlah dengan bijak, sehingga Anda bisa mengenalinya nanti.

Jika semuanya baik-baik saja, sekarang sambungkan ke Raspberry Pi Anda melalui VNC, sehingga Anda dapat menonton apa yang dilihat drone secara real time.

Sekarang, Anda dapat mempersenjatai drone Anda. Menyenangkan, bukan?

Lepaskan drone Anda, dan terbang di atas jalur garis. Sekarang, Anda dapat mengaktifkan mode pelacakan garis dengan menggunakan sakelar CH6.

Direkomendasikan: