README.md

Космические вычислительные системы

Участники

  • Жданова Кристина Александровна
  • Жумаев Зайнулла Серикович
  • Иванова Марина Александровна
  • Каменев Никита Дмитриевич
  • Щеглов Георгий Александрович

Документация

Документация по проекту представлена в папке docs

Предлагаемые направления прикладного использования

Программный продукт может быть применен в:

  • научно-инженерных организациях, ведущих разработки в области создания сверхмалых космических аппаратов, наноспутников и аппаратов класса CubeSat;
  • в организациях, разрабатывающих полезную нагрузку наноспутников для проведения экспериментальных работ в области космических технологий;
  • в организациях, ведущих научно-образовательную деятельность по направлениям подготовки, связанным с космической отраслью и ракетно-космической техникой.

Рекомендации по внесению изменений

Инструкции по настройке среды разработки и о том, как внести свой вклад в проект, см. в руководстве по внесению изменений.

Команды

./rebuild.sh - пересобрать контейнеры

./compose_run.sh - запустить контейнеры в docker-compose

Структура проекта

├── .gitlab/           <- Настройки и шаблоны Gitlab
│
├── .vscode/           <- Настройки IDE VSCode
│
├── base_worker/       <- Базовый контейнер работающий с шиной CAN
│
├── can_bridge/        <- Мост между шинами CAN
│
├── canms/             <- каталог для работы тестового контейнера SC_HPC для
│                         осуществления параллельных вычислений
│
├── cant/              <- каталог для объектов транспортного уровня cant и cans на С++
│
├── capy/              <- каталог для объектов транспортного уровня cant и cans на
|                         Python
│
├── clnt/              <- каталог с микросервисом-клиентом clt для передачи данных по
|                         шине CAN
│
├── config/            <- Конфигурация, например, параметры моделирования
│
├── csrv/              <- каталог с микросервисом-клиентом tt для передачи данных между
|                         шиной CAN и TCP/IP
│
├── db_logger/         <- Логирование посылок CAN-шины в базу данных
│
├── dockerCAN/         <- каталог для хранения docker файлов образов контейнеров
│
├── docker_CAN_tunnel/ <- каталог библиотеки командных файлов (bash-скриптов) для
|                         организации транспортного уровня приложений
│
├── docs/              <- Документация по проекту
│
├── GUI_rules_CAN/     <- Графический интерфейс управления CAN-шиной
│
├── hpctst/            <- Демонстрационная программа для расчета вихревых структур в
│                         несжимаемой среде
│
├── libs/              <- Библиотеки, например, для численного моделирования
│   │
│   └── test/          <- Юнит-тесты
│
├── neural_service/    <- Сервис с нейросетью распознавания изображений
│
├── log_visualizer/    <- Папка с настройками визуализатора логов
│
├── obc/               <- БЭВМ (бортовая электронная вычислительная машина)
│
├── onboard_camera/    <- CAN-клиент для работы с камерой Raspberry-Pi
│
├── plots/             <- Папка для графиков численного моделирования, создаётся
│                         автоматически, не версионируется
│
├── pult/              <- каталог с приложением интерфейса PULT
│
├── results/           <- Папка с результатами численного моделирования, создаётся
│                         автоматически, не версионируется
│
├── satellite_model/   <- Сервис численного моделирования КА
│   │
│   ├── src/           <- Исходный код сервиса
│   │  
│   ├── test/          <- Юнит-тесты
│   │
│   └── start_vcan0.sh <- Скрипт запуска виртуальной CAN-шины
│
├── sbus/              <- каталог с микросервисом-мостом между двумя устройствами CAN
│
├── sqlite_data/       <- Создаётся автоматически для данных БД sqlite, не
│                         версионируется
│
├── .env               <- Файл с переменными окружения
│
├── .gitignore         <- Файл с исключениями для системы контроля версий Git
│
├── .gitlab-ci.yml     <- Файл с переменными окружения
│
├── clear_python_cache_dirs.sh
│                      <- Скрипт очистки кэш-папок инструментов Python
│
├── compose_run.sh     <- Скрипт запуска Docker compose с численным моделированием
│
├── compose.obc.yaml   <- Скрипт запуска Docker compose с одним контейнером БЭВМ
│                         (для запуска на Raspberry Pi)
│
├── compose.yaml       <- Файл конфигурации Docker Compose
│
├── contributing.md    <- Рекомендации по внесению изменений в проект
│
├── license.txt        <- Файл лицензии
│
├── PULT.sh            <- командный файл для запуска приложения pult
│
├── pyproject.toml     <- Файл конфигурации проекта Python
│
├── README.md          <- Данный файл, содержит краткую основную информацию о проекте.
│
├── rebuild.sh         <- Скрипт повторной сборки контейнеров микросервисов
│
└── visualization.py   <- Скрипт для визуализации результатов моделирования

Минимальные и рекомендуемые технические требования

АРМ для запуска численной модели с виртуальной БЭВМ (в виде Docker контейнера)

Рекомендуемые (минимальные):

  • CPU x64 8(4) ядер
  • RAM 16GB (8GB)
  • SSD со свободным пространством 32(16) GB
  • Видеокарта не требуется

Для запуска численной модели с БЭВМ на Raspberry Pi и виртуальной шиной CAN

  • Требования к АРМ из предыдущего пункта
  • Raspberry Pi 3 / Raspberry Pi 4 - 1 шт.
  • WiFi роутер с возможностью определить (назначить) IP адреса устройств

Для запуска численной модели с БЭВМ на Raspberry Pi и физической шиной CAN

  • Требования к АРМ из первого пункта
  • Raspberry Pi 3 / Raspberry Pi 4 - 2 шт. (рекомендуется использовать две одинаковые платы)
  • WiFi роутер с возможностью определить (назначить) IP адреса устройств
  • 2 модуля CAN Bus MCP2515 для подключения к CAN

Для запуска нейросети распознавания изображения

  • Raspberry Pi 3 / Raspberry Pi 4 - 1 шт

Для создания по команде с шины CAN снимка с камеры

  • Требования к АРМ из первого пункта
  • Raspberry Pi 3 / Raspberry Pi 4 - 1 шт
  • Камера Waveshare RPi FPC Camera (SKU 14038)
  • USB-CAN адаптер поддерживающий стандарт CAN2.0A
Описание

Зеркало https://gitlab.com/Zaynulla/aerospace_computing_systems

Конвейеры
0 успешных
0 с ошибкой