สารบัญ:

โดรนผู้ติดตามสายอัตโนมัติพร้อม Raspberry Pi: 5 ขั้นตอน
โดรนผู้ติดตามสายอัตโนมัติพร้อม Raspberry Pi: 5 ขั้นตอน

วีดีโอ: โดรนผู้ติดตามสายอัตโนมัติพร้อม Raspberry Pi: 5 ขั้นตอน

วีดีโอ: โดรนผู้ติดตามสายอัตโนมัติพร้อม Raspberry Pi: 5 ขั้นตอน
วีดีโอ: ทดสอบโดรนบินหลบสิ่งกีดขวางส่วนของระบบ ImageProcessing Raspberry Pi 2024, พฤศจิกายน
Anonim
โดรนผู้ติดตามสายอัตโนมัติพร้อม Raspberry Pi
โดรนผู้ติดตามสายอัตโนมัติพร้อม Raspberry Pi

บทช่วยสอนนี้แสดงให้เห็นว่าคุณสามารถสร้างเสียงพึมพำผู้ติดตามสายได้อย่างไรในที่สุด

โดรนตัวนี้จะมีสวิตช์ "โหมดอัตโนมัติ" ที่จะเข้าสู่โหมดโดรน ดังนั้น คุณยังสามารถบินโดรนได้เหมือนเมื่อก่อน

โปรดทราบว่าจะใช้เวลาในการสร้างและมีเวลามากขึ้นในการปรับตัว แต่สุดท้าย… ทำให้คุณคิดว่าคุ้มค่า

ในการเริ่มต้นสร้างโดรนติดตามสายอัตโนมัติของคุณเอง ให้แน่ใจว่าคุณมี

  • Rasberry Pi 3 หรือ Raspberry Pi Zero W พร้อมการเข้าถึง SSH
  • โดรนพร้อมบินพร้อม APM หรือ Pixhawk flight controller
  • Arduino Leonardo หรือ Arduino ตัวอื่นที่มีความเร็วสัญญาณนาฬิกาเร็ว
  • เครื่องส่งสัญญาณอย่างน้อย 6 CH
  • เว็บแคม USB ที่ Raspberry Pi และ OpenCV รองรับ
  • พีซี
  • ทรานซิสเตอร์เอนกประสงค์ 6 ตัว
  • สายไฟ

ขั้นตอนที่ 1: แนวคิดและการเชื่อมต่อ

แนวคิดและการเชื่อมต่อ
แนวคิดและการเชื่อมต่อ

APM หรือที่รู้จักว่า ArduPilot เป็นตัวควบคุมการบินที่ใช้ Arduino Mega ซึ่งหมายความว่าเราสามารถปรับเปลี่ยนให้ดีที่สุดสำหรับกรณีของเรา แต่เนื่องจากผมไม่มีข้อมูลที่จะทำเช่นนั้น ผมจะไปทำตามวิธีอื่น

น่าเสียดายที่ Raspberry Pi ไม่ไวต่อเวลาซึ่งหมายความว่าไม่สามารถจัดการกับสัญญาณ PPM ได้

นั่นเป็นเหตุผลที่เราต้องการบอร์ด Arduino เพิ่มเติม

ด้วยวิธีนี้ Raspberry Pi จะประมวลผลภาพและคำนวณคำแนะนำการบินและส่งไปยัง Arduino ผ่านอินเทอร์เฟซ Serial UART การ์ด Arduino จะยืนอยู่ที่นี่ในฐานะตัวเข้ารหัส/ตัวถอดรหัส PPM ซึ่งเข้ารหัสคำแนะนำการบินไปยังสัญญาณ PPM ที่ APM ต้องการ เพื่อให้มีแนวคิด คุณสามารถตรวจสอบแผนภาพวงจรสัญลักษณ์ได้

Raspberry Pi จะทำงานเป็นเครื่องส่งสัญญาณ telemetry ควบคู่ไปกับการตรวจจับสาย

วงจรสำคัญแสดงอยู่ในภาพ ฉันจะอธิบายต่อไปในขั้นตอนต่อไป

ขั้นตอนที่ 2: การเชื่อมต่อและการกำหนดค่า Raspberry Pi

การเชื่อมต่อและการกำหนดค่า Raspberry Pi
การเชื่อมต่อและการกำหนดค่า Raspberry Pi
การเชื่อมต่อและการกำหนดค่า Raspberry Pi
การเชื่อมต่อและการกำหนดค่า 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 หน้าจอ 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

ในการใช้อินเทอร์เฟซอนุกรมในตัวของ Raspberry Pi คุณต้องบอก OS ว่าอย่าใช้งาน โดยพิมพ์

sudo raspi-config

และทำตามตัวเลือกการเชื่อมต่อ > Serial interface

คุณต้องปิดใช้งานอินเทอร์เฟซแบบอนุกรม แต่เปิดใช้งานฮาร์ดแวร์แบบอนุกรม

ณ จุดนี้ ส่วนที่เหลือเหมาะสำหรับทั้ง Raspbian และ APSync

ในโฮมไดเร็กทอรี สร้างสามไฟล์: สคริปต์รีบูตและสคริปต์ตัวประมวลผลภาพ บรรทัดที่สองทำให้สคริปต์การรีบูตสามารถเรียกใช้งานได้

แตะ reboot.sh image_processor.py

chmod +x reboot.sh

คัดลอกบรรทัดทั้งหมดในไฟล์ที่ระบุด้านล่างไปยังโฮมไดเร็กตอรี่ของคุณ (/home/pi) ใน Raspberry Pi

สคริปต์รีบูตจะมีทริกเกอร์ที่จะทริกเกอร์ตัวประมวลผลภาพและสคริปต์การวัดและส่งข้อมูลทางไกล นอกจากนี้ยังมีการตั้งค่าเล็กน้อย โปรดทราบว่าหากคุณไม่ต้องการคุณสมบัติ telemetry ให้เพิ่ม # ก่อนบรรทัดนั้น

นาโนรีบูต.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 บันทึกวิดีโอสด ประมวลผลได้ทันที คำนวณคำแนะนำในการบิน ส่งไปยังผู้ควบคุมการบิน และส่งข้อมูลทางไกล แต่เนื่องจาก Raspberry Pi ไม่สามารถสร้างสัญญาณ PPM ที่ APM ต้องการได้ เราจึงต้องหาวิธีอื่นในการทำให้สำเร็จ

Raspberry Pi จะส่งเอาต์พุตการประมวลผลภาพไปยัง Arduino (ในกรณีของฉัน Arduino Leonardo) ผ่าน Serial Port Arduino จะสร้างสัญญาณ PPM จากอินพุตนั้นและส่งไปยัง Flight Controller ผ่านสายจัมเปอร์ นี่คือทั้งหมดสำหรับ Raspberry Pi

ไปที่ขั้นตอนต่อไป

ขั้นตอนที่ 3: การเชื่อมต่อและการกำหนดค่า APM

การเชื่อมต่อและการกำหนดค่า APM
การเชื่อมต่อและการกำหนดค่า APM

สิ่งต่าง ๆ เกี่ยวกับ APM นั้นเรียบง่ายเพราะพร้อมบินแล้ว เราจำเป็นต้องทราบบอดเรตของพอร์ตอนุกรม และตรวจสอบให้แน่ใจว่าพอร์ต TELEM เปิดใช้งานอยู่

ในซอฟต์แวร์ภาคพื้นดินของคุณ ในกรณีของฉัน Mission Planner ให้ตรวจสอบรายการพารามิเตอร์ของผู้ควบคุมการบินและค้นหา Baudrates ตัวอย่างเช่น SERIAL_BAUD คือ USB baudrate และ SERIAL_BAUD1 คือ TELEM port baudrate สำหรับ APM สังเกตว่าค่า

ส่วนที่สำคัญที่สุดคือการเชื่อมต่อของพิน INPUT ดังที่แสดงในภาพ เชื่อมต่อหมุดดิจิทัลของ Arduino 4 อย่างทั่วถึง 9 คุณอาจต้องการใช้ breadbord สำหรับสิ่งนี้ เนื่องจากเราจะเพิ่มทรานซิสเตอร์และเอาต์พุตตัวรับบางส่วน (ดูภาพ) (ทรานซิสเตอร์จะทำงานในกรณีที่คุณต้องการควบคุมโดรนของคุณ)

รพ.4 ↔ APM INPUT 1

รพ 5 ↔ APM INPUT 2

รพช.6 ↔ อินพุต APM 3

รพ.7 ↔ APM INPUT 4

รพช 8 ↔ อินพุต APM 5

รพ.9 ↔ APM INPUT 6

เชื่อมต่อพิน 5V ทั้งหมดบนอินพุต APM กับพิน Arduino Leonardo 5V ในทำนองเดียวกันเชื่อมต่อพิน APM Input GND ทั้งหมดกับพิน Arduino Leonardo GND

ขั้นตอนที่ 4: Arduino Leonardo Configuration

เราได้เชื่อมต่อสายไฟทั้งหมดสำหรับ Leonardo แล้ว เหลือเพียงรหัสเท่านั้น

อัปโหลดรหัสที่กำหนดด้านล่างไปยัง Arduino Leonardo ของคุณ ให้ความสนใจกับ Baudrates

ขั้นตอนที่ 5: เที่ยวบินแรก

เมื่อคุณทำขั้นตอนก่อนหน้าทั้งหมดเสร็จแล้ว แสดงว่าคุณพร้อม

เพิ่มพลังให้การ์ดทั้งหมดและเชื่อมต่อกับ SSH กับ Raspberry Pi พิมพ์เทอร์มินัล:

ซูโด ซู

mavproxy.py --master=/dev/[SERIAL INTERFACE] --baudrate [TELEM PORT BAUDRATE] --aircraft [ชื่อที่กำหนดเอง

อินเทอร์เฟซอนุกรมในตัว Raspberry Pi เริ่มต้นคือ ttyS0 (/ dev / ttyS0)

ค่าเริ่มต้นของพอร์ต APM TELEM คือ 57600

บอดเรตพอร์ต APM USB เริ่มต้นคือ 115200

คุณสามารถตั้งชื่อเครื่องบินของคุณ เลือกอย่างชาญฉลาด เพื่อให้คุณจดจำได้ในภายหลัง

หากทุกอย่างเรียบร้อยดี ตอนนี้เชื่อมต่อกับ Raspberry Pi ของคุณผ่าน VNC เพื่อให้คุณสามารถดูสิ่งที่โดรนเห็นในแบบเรียลไทม์

ตอนนี้คุณสามารถติดอาวุธโดรนของคุณ น่าตื่นเต้นใช่มั้ย?

ถอดโดรนออกแล้วบินเหนือรางรถไฟ ตอนนี้คุณสามารถเปิดใช้งานโหมดการติดตามสายได้โดยใช้สวิตช์ CH6

แนะนำ: