vault backup: 2026-06-05 16:22:40

This commit is contained in:
2026-06-05 16:22:41 +07:00
parent 38fa7b5cb3
commit 748c2d4cd5
31 changed files with 853 additions and 285 deletions
@@ -0,0 +1,60 @@
CDMS - Command Data Management System
![[Pasted image 20260421024846.png]]
![[Pasted image 20260421024905.png]]
# Взаимодействие между подсистемами
Варианты:
1. (Каждый с каждым) Каждая подсистема сама управляет своими режимами и обменивается с другими данными. Подсистемы могут самостоятельно вызывать функции друг у друга. Например, СОС измерила текущую угловую скорость и перешла из режима "измерение" в режим "демпфирование". СОС обратилась к программному интерфейсу СЭП и задала мощность, подаваемую на катушки.
2. (Звезда) Каждая подсистема связана только с Бортовой системой. При этом взаимодействие инициирует Бортовая система. В таком случае подсистема, например СОС, реализует программный интерфейс для приема команд от БС. При этом БС непрерывно опрашивает подсистемы и на основе их данных выполняет всю логику переходов в различные режимы. БС запросила измеренную ориентацию, определила превышение порога ошибки, запустила выполнение режима стабилизации.
Вариант 2 является предпочтительным.
- высокоуровневая логика лежит в рамках одного программного модуля
- более предсказуемые и детерминированные потоки данных между подсистемами
- более четкое архитектурное разделение уровней (подсистемы - исполнители конкретных задач и команд, Бортовая Система - центральный высокоуровневый модуль, диспетчер)
- минимальные сложности с распределением времени внутри модулей подсистем
Данная архитектура должна быть приоритетной, но не обязана выполняться на 100% процентов в таком виде.
Из [[S3-B-C-SET-1-2-Delta-PDR Mission_System_Overview.pdf]]
![[Pasted image 20260420233701.png]]
![[Pasted image 20260420233806.png]]
![[Pasted image 20260420233834.png]]
![[Pasted image 20260420234122.png]]
Из [[S3-BC-SE-1-0-Flight_Software_Architecture.pdf]]
![[Pasted image 20260420234706.png]]
![[Pasted image 20260420234731.png]]
![[Pasted image 20260420235332.png]]
![[Pasted image 20260420235509.png]]
![[Pasted image 20260420235538.png]]
![[Pasted image 20260420235553.png]]
![[Pasted image 20260420235616.png]]
@@ -0,0 +1,6 @@
[[бортовая система]]
[[система ориентации]]
[[система электропитания]]
@@ -0,0 +1,8 @@
https://www.oresat.org/
https://en.wikipedia.org/wiki/ArduSat
https://www.eoportal.org/satellite-missions/estcube-1#mission-status
https://www.en.space.aau.dk/education/student-projects/aausat3
https://www.eoportal.org/satellite-missions/aausat3#spacecraft
@@ -0,0 +1,235 @@
ADCS - Attitude Determination and Control System
# Функциональная схема
Из SwissCube: [[S3-B-C-ADCS-1-3-ADCS_HW_and_System.pdf]]
![[Лелеков Вестник Ed1.pdf]]
(убрать TLE, пропагатор, модель магнитного поля Земли - не нужны для B-dot)
# Уровень 1 (контекст, границы)
Система имеет 2 основные функции
### Функция определения ориентации
- Принимает данные датчиков о состоянии аппарата во внешней среде
- Выдает измеренное состояние аппарата
### Функция управления ориентацией
- Принимает требуемое состояние
- Принимает измеренное состояние
- Выдает управляющие сигналы на активные элементы
# Уровень 2 (принцип построения)
### Активные элементы
Магнитные катушки (по 3 осям)
- Принимают управляющий сигнал
- Выдают момент вращения
### Набор датчиков
- Магнитометр (3-осный)
измеряет вектор магнитного поля Земли
- Гироскоп (3-осный)
измеряет вектор угловой скорости
- Акселерометр (3-осный)
измеряет вектор углового ускорения
- Солнечные датчики (фотодиоды, 6 граней)
позволяют вычислить вектор направления на Солнце
- Датчики температуры (сколько?)
позволяют компенсировать дрейф других датчиков
# Уровень 3 (декомпозиция)
### Определение ориентации
- (расширенный?) Фильтр Калмана (устранение шума)
### Управление ориентацией
- B-dot (демпфирование)
### Датчики
- Калибровка (алгоритм?)
- Температурная компенсация (модели, алгоритм?)
- Вычисление вектора на Солнце (алгоритм?)
# Перечисление функций
Измерение
- Калибровка датчика
- Опросить датчик
- Отфильтровать шумы
- Агрегировать разные датчики
- Получить измеренную ориентацию
- Компенсировать температурный дрейф
Управление
- Вычислить вектор B-dot
- Сформировать управляющий сигнал
- Вычислить текущую ошибку
Взаимодействие с подсистемами
- Сохранить данные в общую память
- Сформировать объект телеметрии
- Регулировать катушки через СЭП?
- Выполнить команду от БС
# Режимы
| Режим | Выполняемые функции |
| ------------- | --------------------------------------------------------------------------------- |
| Выключена | Нет |
| Ожидание | Ожидание команд |
| Измерение | ~<br>Опрос датчиков, фильтрация, сохранение<br>Формирование телеметрии |
| Демпфирование | ~<br>Вычисление B-dot<br>Формирование вектора для катушек<br>Управление катушками |
Из [[S3-B-ADCS-1-4-ADCS_Hardware.pdf]]
![[attachments/Pasted image 20260420231042.png]]
![[Pasted image 20260420231401.png]]
![[Pasted image 20260420231548.png]]
Из [[S3-B-C-ADCS-1-0-Sytem_Engineering before delta-PDR.pdf]]
![[Pasted image 20260420232949.png]]
![[Pasted image 20260420233430.png]]
Из [[S3-B-C-SET-1-2-Delta-PDR Mission_System_Overview.pdf]] (обновленная)
![[Pasted image 20260420234221.png]]
Диаграмма через D2:
```d2
#direction: right
outer: Внешняя среда {
field: Магнитное поле Земли
sun: Солнце
}
adcs: Система ориентации {
control: Алгоритмы управления
determ: Алгоритмы определения ориентации
actuators: Актуаторы (катушки)
sensors: Датчики {
mag: Магнитометр (3d)
gyro: Гироскоп (3d)
accel: Акселерометр (3d)
sun: Солнечные датчики (x6)
}
}
cubesat: Кубсат
desired: Требуемое состояние
estimated: Вычисленное состояние
noise: Шум
sum: + {
width: 30
height: 30
shape: circle
}
adcs.control -> adcs.actuators -> cubesat: управляющий момент
adcs.sensors -> adcs.determ
noise -> adcs.determ
desired -> sum
sum -> adcs.control
adcs.determ -> estimated -> sum
outer -> cubesat: возмущающие моменты
outer -> adcs.sensors: измеряемое воздействие
cubesat -> adcs.sensors
```
```mermaid
flowchart LR
    subgraph outer["Внешняя среда"]
        field["Магнитное поле Земли"]
        sun["Солнце"]
    end
    subgraph adcs["Система ориентации"]
        control["Алгоритмы управления"]
        determ["Алгоритмы определения ориентации"]
        actuators["Актуаторы (катушки)"]
        subgraph sensors["Датчики"]
            mag["Магнитометр (3d)"]
            gyro["Гироскоп (3d)"]
            accel["Акселерометр (3d)"]
            suns["Солнечные датчики (x6)"]
        end
    end
    cubesat["Кубсат"]
    desired["Требуемое состояние"]
    estimated["Вычисленное состояние"]
    noise["Шум"]
    sum((+))
    %% Основные связи
    control --> actuators
    actuators -->|управляющий момент| cubesat
    sensors --> determ
    noise --> determ
    desired --> sum
    sum --> control
    determ --> estimated
    estimated --> sum
    %% Внешние воздействия
    outer -->|возмущающие моменты| cubesat
    outer -->|измеряемое воздействие| sensors
    cubesat --> sensors
```
@@ -0,0 +1 @@
EPS - Electrical Power System