Обеспечение приема и обработки радиосигналов на борту БАС - DRONE520/RF-BAS-COMMON GitHub Wiki
1. Введение
Беспилотный летательный аппарат (БПЛА) — это устройство, способное выполнять полёты и решать разнообразных типы задач во многих областях, таких как аэрофотосъёмка, наблюдение, картографирование местности и так далее. В рамках данной работы поставлена задача использования БАС в качестве разведчика РЭБ для исследования радиотехнической установки. Во время полета активируется режим исследования. Таким образом, перемещаясь по заданному маршруту, устройство постоянно отслеживает и сканирует частотный диапазон в соответствии с заданной конфигурацией. При обнаружении сигналов в определённом частотном диапазоне оно фиксирует время их излучения и делает фотографии, чтобы более точно определить местоположение. Поскольку на БПЛА есть компаньон, он сможет использовать SDR для приема радиосигнала и выполнения базовых измерений его параметров, таких как частота и амплитуда. Можно зафиксировать во времени момент передачи сигнала, отправить команду на фотографирование данного места и записать все это в журнал. Основной целью работы является получение этого журнала. Далее, можно либо отправить ему команду, и он по радиоканалу, передаст свои результаты, после чего задача будет считаться выполненной, либо подойти к нему и извлечь информационный накопитель. Основной целью нашей работы является получение этого журнала.
2. Прием и обработка радиосигналов на борту БАС
2.1 Аппаратура приема и обработки радиосигналов
HackRF One — это полудуплексный широкополосный программно-определяемый радиоприёмник (SDR), разработанный и выпущенный компанией Great Scott Gadgets. Устройство оснащено антенным портом SMA, портами SMA для ввода и вывода тактовых сигналов, а также портом USB 2.0. HackRF One способен как передавать, так и принимать сигналы в частотном диапазоне от 1 МГц до 6 ГГц, обеспечивая максимальную выходную мощность до 15 дБм в зависимости от выбранного диапазона. Устройство совместимо с широко используемым программным обеспечением для радиосвязи, таким как GNU Radio.
NanoPi NEO (256/512Mb) — это одноплатный компьютер, разработанный компанией FriendlyARM на базе процессора Allwinner H3. Он оснащён четырьмя вычислительными ядрами Cortex A7 с тактовой частотой до 1,2 ГГц и работает под управлением операционной системы Ubuntu. Устройство имеет 256 или 512 МБ оперативной памяти DDR3 и поддерживает карты памяти microSD ёмкостью до 64 гигабайт. На верхней части платы расположены порты Ethernet, USB Type-A и microUSB (для питания DC 5V / 2A), а также слот для microSD.
2.2 Программное обеспечение приема и обработки радиосигналов
— Программное обеспечение HackRF состоит из инструментов HackRF и библиотеки libhackrf. Инструменты HackRF представляют собой командные утилиты, которые позволяют взаимодействовать с устройством HackRF. Библиотека libhackrf является низкоуровневой и обеспечивает взаимодействие программного обеспечения на компьютере с HackRF. Установка программного обеспечения HackRF на Linux: Ubuntu / Debian: sudo apt-get install hackrf
— Libusb — это библиотека с открытым исходным кодом, которая предоставляет приложениям возможность управлять передачей данных на устройства USB и с них в системах Unix и не-Unix без необходимости использования драйверов в режиме ядра. Установка программного обеспечения HackRF на Linux: Ubuntu / Debian: sudo apt-get install libusb-1.0-0-dev
— ROS — пакет промежуточного программного обеспечения с открытым исходным кодом. ROS представляет собой набор программных фреймворков для разработки программного обеспечения для роботов, она предлагает услуги, предназначенные для работы с компьютерными кластерами. Эти услуги включают, реализацию часто используемых функций, обмен сообщениями между процессами и управление пакетами.
- Ноды. ROS-нода представляет собой специализированный процесс, который взаимодействует с другими нодами. Ноды играют ключевую роль в программировании ROS, так как основная часть клиентского кода ROS состоит из нод, которые выполняют действия на основе информации, полученной от других узлов. Они также могут отправлять данные другим нодам или обрабатывать запросы на выполнение действий через ROS-топики и ROS-сервисы.
- Топики. Топик – это именованная шина данных, по которой ноды отправляют и получают сообщения. Чтобы отправлять сообщения в произвольный топик, топик должен опубликовать сообщение в этой теме, а чтобы получать сообщения, он должен подписаться на этот топик.. Модель «публикация/подписка» характеризуется анонимностью: ни один нод не имеет информации о том, какие ноды отправляют или получают сообщения по определенному топику, а лишь знают, что он сам отправляет или получает сообщения по этой теме. Типы сообщений, передаваемых в рамках темы, могут варьироваться и определяться пользователем. Содержимое этих сообщений может включать данные с датчиков, команды для управления двигателями, информацию о состоянии, команды для исполнительных механизмов или любые другие данные.
- Сервис можно рассматривать как аналог функции, которую можно вызвать из одной ноды и обработать в другой. У сервиса есть имя, схожее с именем топика, а также два типа сообщений: запрос и ответ.
- Сервер параметров представляет собой общую базу данных для всех узлов, обеспечивающую доступ к статической или полустатической информации. Данные, которые редко изменяются и к которым обращаются нечасто, такие как расстояние между двумя фиксированными точками в окружающей среде или вес робота, являются подходящими для хранения на сервере параметров. 5.Имена. Каждый топик, сервис или параметр обладает уникальным именем для своей идентификации. ROS-имя представляет собой иерархическую структуру, в которой символ / служит разделителем, подобно именам в файловой системе.
Одним из достоинств использования ROS является возможность распределения узлов между несколькими компьютерами в сети. Например, узел, отвечающий за распознавание объектов на изображении, можно запустить на более производительном компьютере, в то время как узел, управляющий компаньоном, можно разместить непосредственно на NanoPi.
2.3 Интеграция полезной нагрузки БАС с полетным контроллером и станцией управления БАС
????????????????????????
3. Экспериментальное подтверждение приема и обработки радиосигналов на борту БАС
????????????????????????
4. Экспериментальное подтверждение интеграции полезной нагрузки БАС с полетным контроллером и станцией управления БАС
????????????????????????
5. Заключение
????????????????????????