Съдържание:
- Стъпка 1: Идеята и връзките
- Стъпка 2: Връзки и конфигурация на Raspberry Pi
- Стъпка 3: APM връзки и конфигурация
- Стъпка 4: Конфигурация на Arduino Leonardo
- Стъпка 5: Първи полет
Видео: Дрон с автономни последователи с Raspberry Pi: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Този урок показва, че как в крайна сметка можете да направите дрон с последовател на линия.
Този дрон ще има превключвател за "автономен режим", който ще влезе в дрона в режим. Така че все още можете да управлявате своя дрон както преди.
Моля, имайте предвид, че изграждането ще отнеме време и още повече време за приспособяване. Но финалът… ви кара да мислите, че си заслужава.
За да започнете да създавате свой собствен дрон за проследяване на автономни линии, уверете се, че имате;
- 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 ще бъде свързан към 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 са прости, тъй като вече са готови за полет. Трябва да знаем скоростта на предаване на серийните портове и да се уверим, че 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.
Препоръчано:
Дизайн на печатни платки за робот за последователи на линии - Arnab Kumar Das: 4 стъпки
Дизайн на печатни платки за роботизиран робот - Arnab Kumar Das: Този проект предполага, че вече сме направили подбор на компоненти. За да работи системата правилно, е важно да се разбере какво изисква всеки компонент по отношение на мощност, напрежение, ток, пространство, охлаждане и т.н. Също така е важно да се разберат
Автономни писти на Rover: 3 стъпки
Автономни писти за роувъри: Това е автономна 3D печатна писта за марсоход, която може да се използва повторно във вашите проекти. Обикновено няма изолация между пистите на ровъра и останалата част от тялото. Thi
Raspberry Pi, Android, IoT и Bluetooth захранващ дрон: 7 стъпки (със снимки)
Raspberry Pi, Android, IoT и Bluetooth захранващ дрон: Използвайки Raspberry Pi за вградената логика, този компактен мобилен компютър ще създаде локален порт, който предава поточно видео в реално време, като същевременно създава Bluetooth гнезда за четене на стойности изпратени от персонализирано приложение за Android. Приложението се синхронизира с t
Брояч на последователи и абонати: 5 стъпки
Брояч на последователи и абонати: Този проект, направен за преброяване на последователи в instagram и абонат на youtube .. се използват платформа: PythonArduino
Автономни ботове на базата на Arduino, използващи ултразвуков сензор: 5 стъпки (със снимки)
Автономни ботове, базирани на Arduino, използващи ултразвуков сензор: Създайте свой собствен базиран на Arduino автономен бот, използвайки ултразвуков сензор. Този бот може почти да се движи сам, без да се сблъсква с препятствия. По същество това, което прави, е, че открива всякакви препятствия по пътя си и решава най -доброто