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

OSCHINA-MIRROR/gaasdev-GAAS

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

GAAS: на пути к полностью автономным летающим автомобилям L5 — надёжная структура расширяет GAAS лидарами!

GAAS — это программа с открытым исходным кодом, предназначенная для полностью автономных летательных аппаратов вертикального взлёта и посадки (VTOL) и дронов. GAAS расшифровывается как Generalized Autonomy Aviation System. Мы надеемся ускорить использование человеком воздушного пространства за счёт полной автономности летающих транспортных средств. Этот проект начался в 2016 году как хобби двух студентов. В 2019 году мы открыли исходный код проекта и надеемся в долгосрочной перспективе развивать GAAS на постоянной основе.

GAAS предоставляет полностью автономную платформу полёта, основанную на лидаре, релокализации с использованием HD-карты, планировании траектории и других модулях для воздушных судов. В отличие от технологии автопилота, ранее доступной только для потребительских дронов, GAAS стремится к надёжной полной автономности полёта для перевозки людей и может быть легко объединена с национальным управлением воздушным движением. В GAAS вы можете увидеть многие технологии автомобильного уровня (AG), которые ранее были доступны только в беспилотных автомобилях. Вся структура слабо связана, поэтому вы можете настраивать собственные модули и легко добавлять их в GAAS.

Превью:

Изображение не представлено.

Изображение не представлено.

Изображение не представлено.

Изображение не представлено.

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

Различия между устаревшим GAAS и новым GAAS:

Мы используем лидары в качестве основного датчика вместо алгоритмов компьютерного зрения.

Устаревший GAAS основан на компьютерном зрении (CV), но полностью основанная на алгоритмах компьютерного зрения структура недостаточно надёжна для автономного полёта.

Для летающих автомобилей и больших грузовых дронов алгоритмы, основанные на компьютерном зрении, страдают от следующих проблем:

  1. Недостаточная надёжность, особенно ночью или при переэкспонированных условиях. Когда воздушные транспортные средства летят с высокой скоростью, локализация становится недостаточно стабильной, что может привести к серьёзным авариям (что важно для крупных воздушных транспортных средств).

  2. Компьютерное зрение требует значительных вычислительных ресурсов и не всегда работает в реальном времени на мобильных устройствах.

  3. Подход, основанный на нейронных сетях, подвержен авариям в экстремальных сценариях, а сбои нелегко воспроизвести.

Эти проблемы недопустимы в сценариях пилотируемого полёта.

Поэтому введение лидара кажется необходимым в настоящее время. Вот почему мы создаём новый GAAS с нуля и переработали все модули на C++.

Сборка:

Протестировано на ОС: Ubuntu 18.04; PX4 (только для симуляции) 1.8.0.

Шаг 1: Проверьте состояние вашей сети

wget www.google.com

Шаг 2: Инструменты

(необязательно) Установите cuda 10.2 для всех алгоритмов на основе GPU, таких как icp_lidar_localization и версия GPU ndt_localization.

Вам может потребоваться обновить cmake как минимум до версии 3.13 для создания пакета icp_lidar_localization.

sudo apt install vim bwm-ng htop tmux git net-tools cmake-gui iotop curl

Шаг 3: Docker (только для моделирования)

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

sudo usermod -aG docker [ваше имя пользователя]

docker pull gaas/mavros-gazebo7-px4

Шаг 4: ros_melodic

./install_ros_melodic.sh

Шаг 5: opencv 3.4.5

sudo apt install cmake-qt-gui **Установка OpenCV 3.4.5**
  1. Скачайте OpenCV 3.4.5 и разархивируйте:

    • cd opencv-3.4.5/
    • mkdir build&&cd build&&cmake-gui ..
  2. Настройте параметры OpenCV в cmake-gui.

  3. Выполните команды:

    • make -j4&&sudo make install

Шаг 6. Glog

  1. Клонируйте репозиторий Google Glog:

  2. Перейдите в каталог glog и создайте ветку v0.4.0:

    • cd glog
    • git checkout -b v0.4.0
  3. Создайте каталог build и перейдите в него:

    • mkdir build
    • cd build
  4. Сконфигурируйте проект с помощью cmake:

    • cmake ..
  5. Соберите проект:

    • make
  6. Установите проект:

    • sudo make install

Шаг 7. PCL 1.8.0

  1. Загрузите и разархивируйте PCL 1.8.0:

    • cd pcl-1.8.0
    • mkdir build&&cd build&&cmake-gui ..
  2. Настройте параметры PCL в cmake-gui.

  3. Соберите и установите проект:

    • make -j4
    • sudo make install

Шаг 8 (опционально). Обновление Gazebo для симуляции

Перейдите в каталог GAAS/simulation и выполните скрипт upgrade_gazebo.sh.

Запуск проекта

Чтобы собрать проект, настроить все зависимости и запустить его, выполните команду:

  • ./build_all.sh

Для запуска алгоритмов GAAS_contrib выполните команду:

  • cd algorithms
  • ./run_gaas_contrib_algorithms.sh

Запустите симуляцию (или воспроизведите rosbag):

  • cd simulation&&./scripts/prepare_simulation.sh
  • rosbag play --clock [path_to_your_rosbag]

И посмотрите демонстрацию летающего автомобиля в среде симуляции!

Лицензия

GAAS распространяется под лицензией BSD 3-Clause License.

Особенности

Проект предоставляет среду симуляции с 32-строчным лидаром и стереокамерами. Он включает в себя следующие функции:

  1. Среда симуляции с вращающимся лидаром для картографирования и локализацией на основе NDT.

Более подробную информацию о настройке среды симуляции можно найти в файле simulation/README.md.

Дорожная карта

В настоящее время ведётся работа над следующими задачами:

  1. Создание среды симуляции Gazebo, включая вращающиеся лидары, не повторяющиеся лидары и стереокамеры.

(1) Livox Horizon + передняя стереокамера — выполнено. (2) Velodyne HDL-32 + передняя стереокамера — выполнено.

  1. Ускорение компиляции и развёртывания GAAS.

  2. Реализация некоторых алгоритмов на основе лидара и реализация одного ключевого старта в среде симуляции.

Чеклист

На данный момент реализованы следующие задачи:

  1. Проекция точек лидара на изображение — выполнено.
  2. Извлечение евклидовых кластеров — выполнено.
  3. Построение глобальной координатной HD-карты — выполнено.
  4. Локализация лидара NDT (CPU/Cuda) — выполнено.
  5. Модуль понижающей дискретизации — выполнено.
  6. Планировщик пути A* — выполнено.
  7. Рефакторинг px4 Offboard Commander — выполнено.
  8. Генерация динамических препятствий и перепланировка — выполнено.
  9. Адаптация Jetson AGX Xavier — выполнено.
  10. Интерактивный графический интерфейс выбора цели в HD-картах — выполнено.
  11. Множественное переключение субкарт — в разработке.
  12. IMU-преинтеграция и высокочастотная локализация — выполнено.
  13. Переключение режима VTOL — в разработке.
  14. Децентрализованная надёжная наземная станция управления — в разработке.
  15. Обобщённое управление состоянием контроллера полёта — выполнено.
  16. PX4 State Reporter — выполнено.
  17. Модуль HUD — выполнено.
  18. Cuda-основанная множественная локализация ICP — выполнено.
  19. Предварительная обработка удаления точек земли — выполнено.
  20. Служба наблюдения за состоянием системы — выполнено.
  21. HTTP-сервер на наземной станции управления — в разработке.
  22. Поддержка нескольких вращающихся лидаров — выполнено.
  23. Поддержка симуляционной среды Airsim — выполнено.

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

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

Введение

Для eVTOL и беспилотников с автономным полётом уровня L5 предлагается надёжная и мощная открытая платформа для полностью автономного полёта, основанная на лазерных радарах. Развернуть Свернуть
C++ и 6 других языков
BSD-3-Clause
Отмена

Обновления

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

Участники

все

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

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