Мазмуну:

Автономдуу линияны ээрчиген дрон Raspberry Pi менен: 5 кадам
Автономдуу линияны ээрчиген дрон Raspberry Pi менен: 5 кадам

Video: Автономдуу линияны ээрчиген дрон Raspberry Pi менен: 5 кадам

Video: Автономдуу линияны ээрчиген дрон Raspberry Pi менен: 5 кадам
Video: Восславь солнце от души! ► 9 Прохождение Dark Souls remastered 2024, Июль
Anonim
Автономдуу линияны ээрчиген дрон Raspberry Pi менен
Автономдуу линияны ээрчиген дрон Raspberry Pi менен

Бул окуу куралы акыры кантип линияны ээрчигенди пилотсуз кылууну көрсөтөт.

Бул пилотсуз учактын режимине кире турган "автономдуу режим" алмаштыргычы болот. Ошентип, сиз мурдагыдай эле дронуңузду башкара аласыз.

Белгилей кетчү нерсе, аны куруу үчүн убакыт керек, ал эми тууралоо үчүн андан да көп убакыт талап кылынат. Бирок акыркы… бул сизди татыктуу деп ойлойт.

Өзүңүздүн автономдуу линия трекериңизди түзүүнү баштоо үчүн, бар экениңизди текшериңиз;

  • SSberry мүмкүнчүлүгү менен Rasberry Pi 3 же Raspberry Pi Zero W
  • APM же Pixhawk учуу контроллери менен учууга даяр дрон
  • Ардуино Леонардо же башка сааттын ылдамдыгы башка Arduino
  • Жок дегенде 6 CH өткөргүч
  • Raspberry Pi жана OpenCV колдогон USB веб -камерасы
  • ЖК
  • 6 жалпы максаттагы транзистор
  • Кабелдик өткөргүчтөр

1 -кадам: Идея жана байланыштар

Идея жана байланыштар
Идея жана байланыштар

APM, aka ArduPilot, Ардуино Мегага негизделген учуу контроллери. Бул биз үчүн эң жакшы деп өзгөртө алабыз дегенди билдирет. Бирок менде маалымат жок болгондуктан, мен башка жолго түшөм.

Raspberry Pi's, тилекке каршы, убакытты сезбейт, демек PPM сигналдары менен күрөшө албайт.

Ошондуктан бизге кошумча Arduino тактасы керек.

Ошентип, Raspberry Pi сүрөттөрдү иштетет жана учуу боюнча көрсөтмөлөрдү эсептейт жана Arduinoго Serial UART интерфейси аркылуу жөнөтөт. Arduino картасы бул жерде PPM коддогуч/декодер катары турат, ал APM каалаган PPM сигналдарына учуу көрсөтмөлөрүн кодойт. Идеяга ээ болуу үчүн, символикалык схеманы карап көрсөңүз болот.

Raspberry Pi аныктоо линиясынын жанында телеметрикалык өткөргүч катары иштейт.

Негизги схема сүрөттөрдө көрсөтүлгөн. Мен кийинки кадамдарда түшүндүрүүнү улантам.

2 -кадам: Raspberry Pi байланыштары жана конфигурациясы

Raspberry Pi байланыштары жана конфигурациясы
Raspberry Pi байланыштары жана конфигурациясы
Raspberry Pi байланыштары жана конфигурациясы
Raspberry Pi байланыштары жана конфигурациясы

Raspberry Pi Wi-Fi адаптерине (милдеттүү эмес), USB веб-камерасына, USB аркылуу Ардуино Леонардого, APMге орнотулган сериялык интерфейс аркылуу туташат. APM - RPI байланышы сүрөттөрдөгү деталдар менен көрсөтүлгөн.

Конфигурациялоо үчүн сизде эки вариант бар: APSync деп аталган MAVLink туташуусу үчүн керектүү пакеттери же атайын сүрөтү бар таза Raspbian. Эгерде сиз Raspbian колдоно турган болсоңуз, анда бул пакеттерди орнотконуңузду текшериңиз:

sudo apt-get update

sudo apt-get install -y экраны python-wxgtk3.0 python-matplotlib sudo apt-get -y python-opencv python-pip python-numpy python-dev sudo apt-get install -y libxml2-dev libxslt-dev python- lxml sudo пип келечектеги pymavlink mavproxy pyserial орнотуу

Raspberry Piнин орнотулган сериялык интерфейсин колдонуу үчүн, OSке аны колдонбоңуз деп айтышыңыз керек. Ан үчүн териңиз

sudo raspi-config

жана Interfacing options> Serial Interface ээрчиңиз

Сиз сериялык интерфейсти өчүрүшүңүз керек, бирок сериялык жабдыкты иштетишиңиз керек.

Бул учурда, калгандары Raspbian жана APSync үчүн ылайыктуу.

Үй каталогунда үч файлды түзүңүз: скриптти кайра жүктөө жана скрипт сүрөтү. Экинчи сап өчүрүп -күйгүзүү скриптин аткарылуучу кылат.

тийүү reboot.sh image_processor.py

chmod +x reboot.sh

Төмөндө берилген файлдардын бардык саптарын Raspberry Piдеги үй каталогуна (/home/pi) көчүрүү.

Кайра жүктөө скриптинде сүрөт иштетүүчү жана телеметриялык сценарийлерди иштете турган триггерлер болот. Ошондой эле бир нече параметрлер. Көңүл буруңуз, эгер телеметрия мүмкүнчүлүгүн каалабасаңыз, анда бул саптын алдында # кошуңуз.

nano reboot.sh

#!/bin/bash

python3 /home/pi/image_processor.py

CTRL+O менен сактаңыз жана CTRL+X менен чыгыңыз. Бул тууралуу акыркы кадам - бул OS баштоо файлына катталуу, rc.local

sudo nano /etc/rc.local

0 чыгуусунан жогору бул сапты кошуңуз:

/home/pi/reboot.sh

Биздин кайра жүктөө скрипти ар бир жүктөөдө аткарылат.

Биз Raspberry Pi түз видеону жаздырышын, аны учуп баратканда иштетүүнү, учуу боюнча көрсөтмөлөрдү эсептөөнү, учуунун диспетчерине жөнөтүүсүн жана телеметрия болушун каалайбыз. Бирок Raspberry Pi APM каалаган PPM сигналын өндүрө албагандыктан, аны аткаруунун башка жолу керек.

Raspberry Pi сүрөттү иштетүү өндүрүшүн Arduinoго (менин учурда Arduino Leonardo) Serial Port аркылуу жөнөтөт. Arduino ошол кирүүдөн PPM сигналын жаратат жана аны секирүүчү зымдар аркылуу Учуу контролеруна жөнөтөт. Мунун баары Raspberry Pi үчүн.

Келгиле, кийинки кадамга өтөлү.

3 -кадам: APM байланыштары жана конфигурациясы

APM байланыштары жана конфигурациясы
APM байланыштары жана конфигурациясы

APM жөнүндө нерселер жөнөкөй, анткени ал учууга даяр. Биз сериялык порттордун бодраттарын билишибиз жана TELEM порту иштетилгенин текшеришибиз керек.

Сиздин жердеги программалык камсыздооңузда, менин миссиям пландоочумда, учуу диспетчеринин параметрлер тизмесин текшерип, бодраттарды табыңыз. Мисалы, SERIAL_BAUD - бул USB baudrate, ал эми SERIAL_BAUD1 - APM үчүн TELEM порту. Маанилерге көңүл буруңуз.

Эң маанилүү бөлүгү INPUT пиндеринин туташуусу. Сүрөттө көрүнүп тургандай, Arduino санарип казыктарын 4 кылдат туташтырыңыз 9. Бул үчүн нандворду колдонсоңуз болот, анткени биз кээ бир транзисторлорду жана кабыл алгычтарды чыгарабыз. (Сүрөттөрдү караңыз) (Эгер дронуңузду көзөмөлгө алгыңыз келсе, транзисторлор иштейт)

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

APM Input'тогу бардык 5V казыктарын Arduino Leonardo 5V пинге туташтырыңыз. Ошо сыяктуу эле, бардык APM Input GND пиндерин Arduino Leonardo GND пинге туташтырыңыз.

4 -кадам: Ардуино Леонардонун конфигурациясы

Биз Леонардонун бардык зымдарын туташтырдык, андыктан код гана калды.

Төмөндө берилген кодду Ардуино Леонардоңузга жүктөңүз. Бодраттарга көңүл буруңуз.

5 -кадам: Биринчи рейс

Бардык мурунку кадамдарды жасасаңыз, бул сиз даяр экениңизди билдирет.

Бардык карталарды иштетип, SSH менен Raspberry Pi менен туташыңыз. Терминалды териңиз:

sudo su

mavproxy.py --master =/dev/[SERIAL INTERFACE] --баудрат [TELEM PORT BAUDRATE] -аба кемелери [ЫЙЫК ЫСЫМ

Демейки Raspberry Pi камтылган сериялык интерфейси ttyS0 (/dev/ttyS0)

По умолчанию APM TELEM порт baudrate 57600 болуп саналат

По умолчанию USB порт порт ылдамдыгы 115200

Сиз учагыңызга каалаган ысымды бере аласыз, аны акылдуулук менен тандасаңыз болот, андыктан аны кийин тааный аласыз.

Эгер баары жайында болсо, азыр VNC аркылуу Raspberry Pi менен туташыңыз, ошондо сиз пилотсуз реалдуу убакытта эмнени көрө аласыз.

Эми сиз дронуңузду куралдандырсаңыз болот. Кызыктуу, туурабы?

Дронуңузду чечип, трассадан өйдө учуңуз. Эми, сиз CH6 которуштургучту колдонуу менен линияны көзөмөлдөө режимин иштете аласыз.

Сунушталууда: