Съдържание:

Дрон с автономни последователи с Raspberry Pi: 5 стъпки
Дрон с автономни последователи с Raspberry Pi: 5 стъпки

Видео: Дрон с автономни последователи с Raspberry Pi: 5 стъпки

Видео: Дрон с автономни последователи с Raspberry Pi: 5 стъпки
Видео: Спуфинг. Подмена GPS. Как безопасно летать на коптере в больших городах 2024, Ноември
Anonim
Дрон с автономен последовател с Raspberry Pi
Дрон с автономен последовател с Raspberry Pi

Този урок показва, че как в крайна сметка можете да направите дрон с последовател на линия.

Този дрон ще има превключвател за "автономен режим", който ще влезе в дрона в режим. Така че все още можете да управлявате своя дрон както преди.

Моля, имайте предвид, че изграждането ще отнеме време и още повече време за приспособяване. Но финалът… ви кара да мислите, че си заслужава.

За да започнете да създавате свой собствен дрон за проследяване на автономни линии, уверете се, че имате;

  • Rasberry Pi 3 или Raspberry Pi Zero W с SSH достъп
  • Дрон с готовност за полет с полетен контролер APM или Pixhawk
  • 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 ще се държи като предавател на телеметрия до линия за откриване.

Основната верига е показана на изображенията. Ще продължа да обяснявам в следващите стъпки.

Стъпка 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, трябва да кажете на ОС да не го използва. За да направите това, въведете

sudo raspi-config

и следвайте Опции за свързване> Сериен интерфейс

Трябва да деактивирате серийния интерфейс, но да активирате серийния хардуер.

В този момент останалото е подходящо както за Raspbian, така и за APSync.

В началната директория създайте три файла: скрипт за рестартиране и скрипт за обработка на изображения. Вторият ред прави скрипта за рестартиране изпълним.

докоснете reboot.sh image_processor.py

chmod +x рестартирайте.sh

Копирайте всички редове в файловете, дадени по -долу, в домашната ви директория (/home/pi) в Raspberry Pi.

Скриптът за рестартиране ще съдържа тригери, които ще задействат скриптове за обработка на изображения и телеметрия. Също така малко настройки. Имайте предвид, че ако не искате функция за телеметрия, добавете # преди този ред.

nano reboot.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) през сериен порт. Arduino ще генерира PPM сигнал от този вход и ще го изпрати до контролера на полета чрез джъмперни проводници. Това е всичко за Raspberry Pi.

Нека преминем към следващата стъпка.

Стъпка 3: APM връзки и конфигурация

APM връзки и конфигурация
APM връзки и конфигурация

Нещата за APM са прости, тъй като вече са готови за полет. Трябва да знаем скоростта на предаване на серийните портове и да се уверим, че TELEM портът е активиран.

Във вашия наземен софтуер, в моя случай Планировчик на мисии, проверете списъка с параметри на полетния контролер и открийте скоростта на предаване. Например, SERIAL_BAUD е USB скорост на предаване, а SERIAL_BAUD1 е скорост на предаване TELEM порт за APM. Обърнете внимание, че стойностите.

Най -важната част са връзките на INPUT изводите. Както е показано на изображението, свържете цифровите щифтове 4 на Arduino задълбочено 9. Може да искате да използвате хляб за това, тъй като ще добавим някои транзистори и приемници. (Вижте изображенията) (Транзисторите ще работят в случай, че искате да поемете контрола над своя дрон)

ARD 4, APM ВХОД 1

ARD 5, APM INPUT 2

ARD 6, APM ВХОД 3

ARD 7, APM INPUT 4

ARD 8, APM INPUT 5

ARD 9, APM INPUT 6

Свържете всички 5V щифтове на APM входа към 5V щифт на Arduino Leonardo. По същия начин свържете всички APM входни GND щифтове към Arduino Leonardo GND щифт.

Стъпка 4: Конфигурация на Arduino Leonardo

Свързахме всички кабели за Леонардо, така че остана само кодът.

Качете дадения код по -долу на вашия Arduino Leonardo. Обърнете внимание на бодрите.

Стъпка 5: Първи полет

Когато приключите с всички предишни стъпки, това означава, че сте готови.

Включете всички карти и се свържете с SSH към Raspberry Pi. Въведете терминал:

sudo su

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

Стандартният вграден сериен интерфейс на Raspberry Pi е ttyS0 (/dev/ttyS0)

Стандартната скорост на предаване на APM TELEM порт е 57600

По подразбиране APM USB портът е 115200

Можете да дадете всяко име на вашия самолет, да го изберете разумно, за да можете да го разпознаете по -късно.

Ако всичко е наред, сега се свържете с вашия Raspberry Pi чрез VNC, за да можете да гледате какво вижда дронът в реално време.

Сега можете да въоръжите своя дрон. Вълнуващо, нали?

Свалете дрона си и летете над линията. Сега можете да активирате режима за проследяване на линия, като използвате превключвателя CH6.

Препоръчано: