Mục lục:

Máy bay không người lái theo dòng tự trị với Raspberry Pi: 5 bước
Máy bay không người lái theo dòng tự trị với Raspberry Pi: 5 bước

Video: Máy bay không người lái theo dòng tự trị với Raspberry Pi: 5 bước

Video: Máy bay không người lái theo dòng tự trị với Raspberry Pi: 5 bước
Video: Việt Nam làm chủ công nghệ sản xuất UAV hiện đại | VTV24 2024, Tháng mười một
Anonim
Máy bay không người lái theo dòng tự trị với Raspberry Pi
Máy bay không người lái theo dòng tự trị với Raspberry Pi

Hướng dẫn này cho thấy rằng cuối cùng bạn có thể tạo ra máy bay không người lái theo dòng như thế nào.

Máy bay không người lái này sẽ có một công tắc "chế độ tự động" sẽ chuyển máy bay không người lái sang chế độ. Vì vậy, bạn vẫn có thể bay máy bay không người lái của mình như trước đây.

Xin lưu ý rằng sẽ mất thời gian để xây dựng và thậm chí nhiều thời gian hơn để điều chỉnh. Nhưng cuối cùng … là làm cho bạn nghĩ rằng nó xứng đáng.

Để bắt đầu tạo máy bay không người lái theo dõi đường tự động của riêng bạn, hãy đảm bảo bạn có;

  • Rasberry Pi 3 hoặc Raspberry Pi Zero W với quyền truy cập SSH
  • Máy bay không người lái sẵn sàng bay với bộ điều khiển bay APM hoặc Pixhawk
  • Arduino Leonardo hoặc một Arduino khác với tốc độ xung nhịp nhanh
  • Máy phát ít nhất 6 CH
  • Webcam USB mà Raspberry Pi và OpenCV hỗ trợ
  • PC
  • 6 bóng bán dẫn mục đích chung
  • Dây cáp

Bước 1: Ý tưởng và kết nối

Ý tưởng và kết nối
Ý tưởng và kết nối

APM, hay còn gọi là ArduPilot, là một bộ điều khiển bay dựa trên Arduino Mega. Điều này có nghĩa là chúng tôi có thể sửa đổi nó để tốt nhất cho trường hợp của chúng tôi. Nhưng vì tôi không có thông tin để làm như vậy, tôi sẽ đi theo một cách khác.

Thật không may, Raspberry Pi không nhạy cảm với thời gian, có nghĩa là không thể xử lý các tín hiệu PPM.

Đó là lý do tại sao chúng ta cần bo mạch Arduino bổ sung.

Bằng cách này, Raspberry Pi sẽ xử lý hình ảnh và tính toán các hướng dẫn bay và gửi nó đến Arduino thông qua giao diện Serial UART. Thẻ Arduino sẽ đứng ở đây như một bộ mã hóa / giải mã PPM, mã hóa các lệnh bay thành tín hiệu PPM mà APM muốn. Để có một ý tưởng, bạn có thể kiểm tra sơ đồ mạch ký hiệu.

Raspberry Pi sẽ hoạt động như một máy phát đo từ xa cùng với đường dò.

Các mạch thiết yếu được hiển thị trong các hình ảnh. Tôi sẽ tiếp tục giải thích trong các bước tiếp theo.

Bước 2: Kết nối và cấu hình Raspberry Pi

Cấu hình và kết nối Raspberry Pi
Cấu hình và kết nối Raspberry Pi
Cấu hình và kết nối Raspberry Pi
Cấu hình và kết nối Raspberry Pi

Raspberry Pi sẽ được kết nối với Wi-Fi Adapter (tùy chọn), USB Webcam, Arduino Leonardo qua USB, APM thông qua giao diện nối tiếp tích hợp sẵn. Kết nối APM - RPI được hiển thị với các chi tiết trong hình ảnh.

Để cấu hình, bạn có hai tùy chọn: Raspbian thuần túy với các gói cần thiết hoặc hình ảnh đặc biệt cho kết nối MAVLink được gọi là APSync. Nếu bạn định sử dụng Raspbian, hãy đảm bảo rằng bạn đã cài đặt các gói sau:

sudo apt-get cập nhật

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 cài đặt pymavlink mavproxy pyserial trong tương lai

Để sử dụng giao diện nối tiếp tích hợp sẵn của Raspberry Pi, bạn phải yêu cầu OS không sử dụng nó. Để làm như vậy, hãy nhập

sudo raspi-config

và làm theo các tùy chọn Giao diện> Giao diện nối tiếp

Bạn phải tắt giao diện nối tiếp nhưng bật phần cứng nối tiếp.

Tại thời điểm này, phần còn lại phù hợp cho cả Raspbian và APSync.

Trong thư mục chính, tạo ba tệp: tập lệnh khởi động lại và tập lệnh bộ xử lý hình ảnh. Dòng thứ hai làm cho tập lệnh khởi động lại có thể thực thi được.

chạm vào reboot.sh image_processor.py

chmod + x reboot.sh

Sao chép tất cả các dòng trong các tệp được cung cấp bên dưới vào thư mục chính của bạn (/ home / pi) trong Raspberry Pi.

Tập lệnh khởi động lại sẽ chứa các trình kích hoạt sẽ kích hoạt các tập lệnh xử lý hình ảnh và đo từ xa. Cũng có một vài cài đặt. Lưu ý rằng nếu bạn không muốn tính năng đo từ xa, hãy thêm # trước dòng đó.

nano reboot.sh

#! / bin / bash

python3 /home/pi/image_processor.py

Lưu nó bằng CTRL + O và thoát bằng CTRL + X. Bước cuối cùng về nó là đăng ký nó vào tệp khởi động hệ điều hành, rc.local

sudo nano /etc/rc.local

Nối dòng này bên trên lối ra 0:

/home/pi/reboot.sh

Tập lệnh khởi động lại của chúng tôi sẽ được thực thi mỗi lần khởi động.

Chúng tôi muốn Raspberry Pi quay video trực tiếp, xử lý video đang bay, tính toán hướng dẫn chuyến bay, gửi đến bộ điều khiển chuyến bay và được đo từ xa. Nhưng vì Raspberry Pi không thể tạo ra tín hiệu PPM mà APM muốn, chúng tôi cần một cách khác để thực hiện.

Raspberry Pi sẽ gửi đầu ra xử lý hình ảnh của nó tới Arduino (trong trường hợp của tôi là Arduino Leonardo) thông qua Cổng nối tiếp. Arduino sẽ tạo ra tín hiệu PPM từ đầu vào đó và gửi nó đến Bộ điều khiển máy bay thông qua dây nhảy. Đây là tất cả cho Raspberry Pi.

Hãy chuyển sang bước tiếp theo.

Bước 3: Kết nối và cấu hình APM

Kết nối và cấu hình APM
Kết nối và cấu hình APM

Những điều về APM rất đơn giản vì nó đã sẵn sàng để bay. Chúng ta cần biết tốc độ truyền của các cổng nối tiếp và đảm bảo rằng cổng TELEM đã được bật.

Trong phần mềm mặt đất của bạn, trong trường hợp của tôi là Mission Planner, hãy kiểm tra danh sách thông số của bộ điều khiển chuyến bay và tìm ra các thanh trượt. Ví dụ: SERIAL_BAUD là tốc độ truyền của USB và SERIAL_BAUD1 là tốc độ truyền của cổng TELEM cho APM. Lưu ý rằng các giá trị.

Phần quan trọng nhất là kết nối chân INPUT. Như được hiển thị trong hình ảnh, kết nối các chân kỹ thuật số 4 của Arduino. 9. Bạn có thể muốn sử dụng một breadbord cho việc này, vì chúng tôi sẽ thêm một số bóng bán dẫn và đầu ra bộ thu. (Xem hình ảnh) (Bóng bán dẫn sẽ hoạt động trong trường hợp bạn muốn kiểm soát máy bay không người lái của mình)

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

Kết nối tất cả các chân 5V trên Đầu vào APM với chân 5V của Arduino Leonardo. Tương tự, kết nối tất cả các chân GND đầu vào APM với chân Arduino Leonardo GND.

Bước 4: Cấu hình Arduino Leonardo

Chúng tôi đã kết nối tất cả các dây cho Leonardo nên chỉ còn lại mã.

Tải mã đã cho bên dưới lên Arduino Leonardo của bạn. Chú ý đến baudrates.

Bước 5: Chuyến bay đầu tiên

Khi bạn hoàn thành tất cả các bước trước đó, điều đó có nghĩa là bạn đã sẵn sàng.

Tăng sức mạnh cho tất cả các thẻ và kết nối bằng SSH với Raspberry Pi. Nhập thiết bị đầu cuối:

sudo su

mavproxy.py --master = / dev / [GIAO DIỆN SERIAL] --baudrate [CỔNG ĐIỆN THOẠI BAUDRATE] - máy bay [TÊN TÙY CHỈNH

Giao diện nối tiếp tích hợp sẵn Raspberry Pi mặc định là ttyS0 (/ dev / ttyS0)

Tốc độ truyền cổng APM TELEM mặc định là 57600

Tốc độ truyền cổng USB APM mặc định là 115200

Bạn có thể đặt bất kỳ tên nào cho máy bay của mình, hãy chọn nó một cách khôn ngoan, để bạn có thể nhận ra nó sau này.

Nếu mọi thứ đều ổn, bây giờ hãy kết nối với Raspberry Pi của bạn qua VNC, vì vậy bạn có thể xem những gì máy bay không người lái nhìn thấy trong thời gian thực.

Bây giờ, bạn có thể trang bị cho máy bay không người lái của mình. Thật thú vị, phải không?

Cất cánh máy bay không người lái của bạn và bay trên đường thẳng. Bây giờ, bạn có thể kích hoạt chế độ theo dõi dòng bằng cách sử dụng công tắc CH6.

Đề xuất: