Оглавление:
- Шаг 1. Идея и связи
- Шаг 2: Подключения и настройка Raspberry Pi
- Шаг 3. Подключения и настройка APM
- Шаг 4: Конфигурация Arduino Leonardo
- Шаг 5: Первый полет
Видео: Автономный дрон-последователь линии с Raspberry Pi: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Из этого туториала Вы узнаете, как в конечном итоге сделать беспилотный летательный аппарат.
Этот дрон будет иметь переключатель «автономного режима», который переводит дрон в режим. Таким образом, вы все еще можете управлять своим дроном, как и раньше.
Имейте в виду, что на создание и настройку потребуется время. Но последнее… заставляет задуматься о том, что оно того стоит.
Чтобы приступить к созданию собственного беспилотного летательного аппарата с автономным отслеживанием линий, убедитесь, что у вас есть;
- Rasberry Pi 3 или Raspberry Pi Zero W с доступом по SSH
- Готовый к полету дрон с полетным контроллером APM или Pixhawk
- Arduino Leonardo или другой Arduino с высокой тактовой частотой
- По крайней мере, 6-канальный передатчик
- Веб-камера USB, поддерживаемая Raspberry Pi и OpenCV
- ПК
- 6 транзисторов общего назначения
- Электропроводка кабелей
Шаг 1. Идея и связи
APM, также известный как ArduPilot, - это полетный контроллер на базе Arduino Mega. Это означает, что мы можем изменить его, чтобы он лучше подходил для нашего случая. Но поскольку у меня нет информации для этого, я пойду другим путем.
К сожалению, Raspberry Pi не чувствительны ко времени, что означает, что они не могут обрабатывать сигналы PPM.
Вот почему нам нужна дополнительная плата Arduino.
Таким образом, Raspberry Pi обработает изображения, вычислит инструкции по полету и отправит их в Arduino через последовательный интерфейс 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 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 установить будущее pymavlink mavproxy pyserial
Чтобы использовать встроенный последовательный интерфейс Raspberry Pi, вы должны указать ОС, чтобы она не использовала его. Для этого введите
sudo raspi-config
и выберите Параметры интерфейса> Последовательный интерфейс.
Вы должны отключить последовательный интерфейс, но включить последовательное оборудование.
На данный момент остальное подходит как для Raspbian, так и для APSync.
В домашнем каталоге создайте три файла: сценарий перезагрузки и сценарий процессора изображений. Вторая строка делает скрипт перезагрузки исполняемым.
коснитесь reboot.sh image_processor.py
chmod + x reboot.sh
Скопируйте все строки в файлах, приведенных ниже, в свой домашний каталог (/ home / pi) в Raspberry Pi.
Сценарий перезагрузки будет содержать триггеры, которые будут запускать скрипты процессора изображений и телеметрии. Также несколько настроек. Обратите внимание: если вам не нужна функция телеметрии, добавьте # перед этой строкой.
нано 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 включен.
В вашем наземном программном обеспечении, в моем случае Mission Planner, проверьте список параметров полетного контроллера и узнайте скорости передачи. Например, SERIAL_BAUD - это скорость передачи данных USB, а SERIAL_BAUD1 - это скорость порта TELEM для APM. Обратите внимание, что values.
Самая важная часть - это соединения контактов INPUT. Как показано на изображении, соедините цифровые выводы 4 Arduino через 9. Вы можете использовать для этого хлебную цепочку, поскольку мы собираемся добавить несколько транзисторов и выходы приемника. (См. Изображения) (Транзисторы будут работать, если вы захотите взять под контроль свой дрон)
ARD 4 ↔ APM ВХОД 1
ARD 5 ↔ ВХОД APM 2
ARD 6 ↔ ВХОД APM 3
ARD 7 ↔ APM ВХОД 4
ARD 8 ↔ APM ВХОД 5
ARD 9 ↔ ВХОД APM 6
Подключите все выводы 5V на входе APM к выводу 5V Arduino Leonardo. Аналогичным образом подключите все контакты GND входа APM к контакту GND Arduino Leonardo.
Шаг 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.
Скорость передачи данных USB-порта APM по умолчанию составляет 115200 бод.
Вы можете дать своему самолету любое имя, выбирайте его с умом, чтобы потом распознать.
Если все в порядке, теперь подключитесь к Raspberry Pi через VNC, чтобы вы могли смотреть, что видит дрон в режиме реального времени.
Теперь вы можете вооружить свой дрон. Интересно, правда?
Снимите дрон и пролетите над линейной трассой. Теперь вы можете активировать режим отслеживания линии с помощью переключателя CH6.
Рекомендуемые:
Автономный дрон для доставки с фиксированным крылом (3D-печать): 7 шагов (с изображениями)
Автономный дрон для доставки с фиксированным крылом (напечатанный на 3D-принтере): технология дронов претерпела значительные изменения, поскольку теперь они гораздо более доступны для нас, чем раньше. Сегодня мы можем очень легко построить дрон, работать автономно и управлять им из любой точки мира. Технологии дронов могут изменить нашу повседневную жизнь. Доставка
Raspberry Pi - автономный марсоход с отслеживанием объектов OpenCV: 7 шагов (с изображениями)
Raspberry Pi - автономный марсоход с отслеживанием объектов OpenCV: питание от Raspberry Pi 3, распознавание объектов Open CV, ультразвуковые датчики и мотор-редукторы постоянного тока. Этот марсоход может отслеживать любой объект, для которого он обучен, и перемещаться по любой местности
Автономный автомобиль для удержания полосы движения с использованием Raspberry Pi и OpenCV: 7 шагов (с изображениями)
Автономный автомобиль для удержания полосы движения с использованием Raspberry Pi и OpenCV: в этих инструкциях будет реализован автономный робот, поддерживающий полосу движения, который будет проходить через следующие этапы: Сбор деталей Установка необходимых компонентов программного обеспечения Сборка оборудования Первый тест Обнаружение линий полосы движения и отображение руководства
Автономный дрон с инфракрасной камерой для оказания первой помощи: 7 шагов
Автономный дрон с инфракрасной камерой для оказания первой помощи: согласно отчету Всемирной организации здравоохранения, ежегодно стихийные бедствия убивают около 90 000 человек и затрагивают около 160 миллионов человек во всем мире. Стихийные бедствия включают землетрясения, цунами, извержения вулканов, оползни, ураганы и т. Д
Автономный дрон: 7 шагов
Автономный дрон: в этом проекте вы изучите процесс создания и настройки дрона, прежде чем переходить к исследованию автономного полета с помощью Планировщика миссий и MATLAB. Обратите внимание, что это руководство предназначено только в качестве руководства. Использование дронов может быть очень