1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Matreshka15-USV-raspberrypi-part

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Программа для беспилотного судна

Это программа для беспилотного судна, разработанная с использованием многопоточности, что позволяет одному процессору обрабатывать несколько задач.

Функции:

  • Голосовые подсказки о состоянии подключения GPS и работе устройства (достаточно подключить небольшой динамик к системе управления).
  • Управление с помощью пульта дистанционного управления.
  • Сбор координат GPS: система управления в фоновом режиме записывает текущие координаты GPS во время управления с помощью пульта.
  • Самостоятельное ориентирование по заданным координатам GPS (координаты можно получить с помощью Google Earth или использовать ранее собранные координаты GPS).

Инструкция по использованию:

Скачайте весь проектный файл с помощью команды git clone в определённую директорию (например, на рабочий стол Desktop/UAS/), затем перейдите в папку и введите sudo python3 MainSequence.py.
При необходимости можно также настроить запуск MainSequence.py при включении системы.

Описание общего кода:

Файлы сценариев в папке LocationTrans используются для преобразования координат точек, полученных из Google Планета Земля, в формат, совместимый с GPS. В частности:

  • При извлечении координат из Google Планета Земля создаётся файл формата kml, который затем переименовывается в MapDataOutput.kml и помещается в папку LocationTrans.
  • После запуска файла kml2txt.py создаётся файл LatLong.txt, содержащий координаты, доступные для использования на верхнем уровне управления (открыв файл, можно увидеть конкретные координаты GPS).
  • Файл txt2kml.py используется для обратного процесса. То есть, после записи маршрута, пройденного беспилотным судном, с помощью режима сбора данных, верхний уровень управления создаст текстовый файл с координатами. Запуск txt2kml.py преобразует этот файл в формат kml, и его можно будет открыть в Google Планета Земля для просмотра координат, записанных ранее.

Папка sound содержит аудиофайлы для голосовых подсказок.

Файл AziFromPos.py конвертирует азимут в координаты GPS. То есть вводится азимут цели относительно беспилотного судна (например, азимут на север составляет 90 градусов) и расстояние между двумя точками, и этот сценарий генерирует координаты цели GPS на основе текущих координат.

Comm.py используется для связи с нижним уровнем управления через последовательный порт.

Ctrl.py соединяет LoRa-модуль (можно игнорировать, если не используется), одновременно получая координаты для навигации.

Record_Coordinates.py записывает координаты.

Madgwick_AHRS_Test.py оценивает сходимость алгоритма. Этот файл можно игнорировать при фактическом использовании.

MainSequence.py является основной программой, отвечающей за управление различными модулями, упомянутыми выше. При использовании необходимо явно вызывать только MainSequence.py.

Также разрабатывается версия программы для верхнего уровня управления на базе ROS:

Важно! Все журналы разработки нижнего уровня управления и руководства хранятся по следующим адресам:

  • Руководство по датчикам и алгоритмам для разработки беспилотных судов.
  • Журнал разработки содержит подробную информацию о проекте от начала до успешного тестирования. Из-за отказа от старого алгоритма ориентации и выбора нового, ранние объяснения ориентации служат только для справки.
  • Часть коммуникационного протокола была скопирована и размещена в каталоге Repo по ссылке. То есть: общая структура и коммуникационный протокол.docx.

Среда разработки:

Программа разработана на Raspberry Pi 3B и протестирована на Raspberry Pi 4 без проблем. Теоретически поддерживается любым устройством разработки, поддерживающим Python.

Прочее:

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/Matreshka15-USV-raspberrypi-part.git
git@api.gitlife.ru:oschina-mirror/Matreshka15-USV-raspberrypi-part.git
oschina-mirror
Matreshka15-USV-raspberrypi-part
Matreshka15-USV-raspberrypi-part
master